[关闭]
@yzzer 2020-05-04T21:24:10.000000Z 字数 3362 阅读 2644

1. Python3的基础语法


1.1 编码

默认情况下,Python3源文件以UTF-8编码,所有字符串都是unicode字符串。当然你也可以为源代码文件指定不同的编码:
# -*- coding: cp-1252 -*-
上述的定义允许在源文件中使用Windows -1252字符集中的字符编码,对应语言为保加利亚语、白俄罗斯语、马其顿语、俄语、埃塞俄比亚语。

1.2 标识符

注:Python3支持中文作为变量名
————————————————

1.3 Python保留字

保留字不能作为任何标识符名称。
Python的标准库提供了一个 keyword 模块,可以输出当前版本所有关键字:

  1. >>>import keyword
  2. >>>keyword.kwlist
  3. ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']


False class finally is return
None continue for lambda try
True def from nonlocal while
and del global not with
as elif if or yield
assert else import pass async
break except in raise await

1.4 注释

Python中单行注释以#开头,实例:

  1. #!/usr/bin/python3
  2. # This is a comment
  3. print("Hello,Python") #This is also a comment
  4. print("Hello BUCT") #This still is a comment

代码执行结果为:

Hello,Python
Hello BUCT

多行注释可以用多个#号,还有```以及"""
实例:

  1. #!/usr/bin/python3
  2. # 第一个注释
  3. # 第二个注释
  4. '''
  5. 第三注释
  6. 第四注释
  7. '''
  8. """
  9. 第五注释
  10. 第六注释
  11. """
  12. print ("Hello, Python!")

执行结果为:

Hello, Python

1.5 行与缩进

Python要求通过缩进来区分代码隶属关系
通过对其缩进来区分一个代码块
而不是类似大部分高级语言C++、Java使用关键字和{}来区分代码上下级关系,这种强制性的规则使得Python具有很强的可读性
为保证Python的缩进正确,通常使用Tab键来控制缩进
注意:同一个代码块必须包含相同的缩进空格数
以下是正确实例:

  1. if True:
  2. print("True")
  3. else:
  4. print("False")

以下是错误实例:

  1. if True:
  2. print("Answer")
  3. print("True")
  4. else:
  5. print("Answer")
  6. print("False") #缩进不一致

错误实例会出现以下错误:

  1. File "test.py", line 6
  2. print ("False") # 缩进不一致,会导致运行错误
  3. ^
  4. IndentationError: unindent does not match any outer indentation level

1.6 多行语句

写代码通常是一句写完一条语句,但如果语句很长时就会影响程序的可读性,让维护显得很吃力。在Python中如果语句很长时,我们可以用反斜杠\来实现多行语句
例如:

  1. total = item_one + \
  2. item_two + \
  3. item_three

当然,在[],{},()中的多行语句不需要使用反斜杠\
例如:

  1. total = ['item_one','item_two','item_three', 'item_four','item_five']

1.9 基本数据类型


1.9.1 数字类型(Number)

Python3中数字有四种类型:整数(integer)、布尔量(boolean)、浮点数(floating point number)和复数(complex)

Python3取消了对长整型(long integer)变量的单独支持,但不意味着它无法储存长整型数字,在整型变量溢出后,会自动转换为长整型,这也体现了Python的变量特点——变量类型随着数据类型的改变而改变,一个变量可以改变指向的内存空间地址以及数据类型
实例:

  1. num = 2019
  2. print(num)
  3. num = 1.0*num
  4. print(num)

结果为

2019
2019.0

上述结果显示num的类型可以由整型转化为浮点型

上述代码也展示了Python的另一个特性——Type promotion,及会在运算时产生类型转化(整型乘浮点结果为浮点)

同时python还支持了复数的运算,还为复数建立了专门的cmath数学函数库(会在下面解释函数库引用)

下面是基本数字类型的举例

  • int(整数) 0,1,
  • bool(布尔) True(1),False(0)
  • float(浮点数) 1.23,2E-3
  • complex(复数) 1 + 2j,1.1+2.2j

1.9.2 字符串(string)类型

2.8 字典(dictionary)


字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。

键(key)必须使用不可变类型。
在同一个字典中,键(key)必须是唯一的。


实例

  1. #!/usr/bin/python3
  2. dict = {}
  3. dict['one'] = "1 - 菜鸟教程"
  4. dict[2] = "2 - 菜鸟工具"
  5. tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
  6. print (dict['one']) # 输出键为 'one' 的值
  7. print (dict[2]) # 输出键为 2 的值
  8. print (tinydict) # 输出完整的字典
  9. print (tinydict.keys()) # 输出所有键
  10. print (tinydict.values()) # 输出所有值

以上实例输出结果:

  1. {'name': 'runoob', 'code': 1, 'site': 'www.runoob.com'}
  2. dict_keys(['name', 'code', 'site'])
  3. dict_values(['runoob', 1, 'www.runoob.com'])

构造函数 dict() 可以直接从键值对序列中构建字典如下:

实例

  1. >>>dict([('Runoob', 1), ('Google', 2), ('Taobao', 3)])
  2. {'Taobao': 3, 'Runoob': 1, 'Google': 2}
  3. >>> {x: x**2 for x in (2, 4, 6)}
  4. {2: 4, 4: 16, 6: 36}
  5. >>> dict(Runoob=1, Google=2, Taobao=3)
  6. {'Runoob': 1, 'Google': 2, 'Taobao': 3}

另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。

注意:

  1. 字典是一种映射类型,它的元素是键值对。
  2. 字典的关键字必须为不可变类型,且不能重复。
  3. 创建空字典使用 { }。
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注