Python基础语法
注释
-
注释有:
单行注释
、多行注释
、文档注释
。- 单行注释采用
#
符号,后面跟随的都是注释内容 - 多行注释采用
'''
(三个单引号) 或者"""
(三个双引号) 包围 - 文档注释采用
"""
包围,一般出现在模块,类,函数,方法的开头,可以通过__doc__对象属性获取。
- 单行注释采用
-
关于中文注释: 文件默认采用
ASCII
编码格式保存,在使用中文注释文档时,需要在文档开头添加:# -*- coding: UTF-8 -*-
, 表示该文件采用UTF8
编码格式保存,否则在运行程序时,可能出现中文乱码等问题。
代码规范
- 编码: 无特殊情况,文件一律采用
UTF8
编码格式,文件头部必须加入:# -*- coding: UTF-8 -*-
标识。 - 代码格式:
- 统一采用
4个空格
进行缩进 - 每行代码尽量
不超过80个字符
,便于后续的分屏查看以及控制台查看。
- 统一采用
- 引号: 自然语言采用用
"""
双引号,机器标识采用'''
单引号。 - 空行: 函数或类之间空出一(两)行,代码块内部空出一行。
- 可以使用多个空行来分割代码块,使代码结构更加清晰。
- 函数或类的内部代码,可以根据需要适当添加空行,使代码结构更加清晰。
import
语句: 主要用于程序中带入Python
标准库和扩展库。import
语句放在文件开头,可以增加可读性。- 模块导入时,可以使用
from xxx import *
/from xxx import xxxx
/from xxx import xxxx as yyyy
,这样可以减少输入量,提高效率。
- 空格:在
Python
程序中,其使用规范非常严谨,如下:- 在二元运算符两侧各空一格,符号包括:
= 、- 、+=、==、in、is not
等。 - 函数参数列表中,在,之后要有空格,默认值=两边不要有空格。
- 左括号
(
之后,右括号)
之前不要有空格。 - 字典对象的左括号
(
之前不要有空格。 - 不要为了对齐赋值语句而使用额外空格。
- 在二元运算符两侧各空一格,符号包括:
- 换行:
Python
支持()
括号内换行,还有如下两种情形:- 将第二行缩进到第一行
(
的起始处。 - 将第二行缩进
4个空格
,适用于从(
就开始换行的情形。
- 将第二行缩进到第一行
标识符与保留字
-
标识符就是程序员在程序中自定义的一些符号和名称,如变量、函数名等。
-
标识符由字母(区分大小写)、下划线(
_
)、数字组成,且不能以数字开头。 -
在进行标识符命名,一般遵循驼峰式命名法规范。
- 小驼峰式: 第一个单词的首字母小写开始;第二个单词的首字母大写开始。如:
myCar
。 - 大驼峰式: 每一个单词的首字母都采用大写字母。如:
MyCar
。
- 小驼峰式: 第一个单词的首字母小写开始;第二个单词的首字母大写开始。如:
-
Python
常用对象命名规范:- 模块名称: 尽量采用小写形式,首字母保持小写,尽量不要用下划线(除非有多个单词)。
- 类名: 采用驼峰式命名,私有类可以采用下划线(
_
)开头。 - 变量名/函数名: 建议一律小写,若有多个单词,采用下划线(
_
)连接。 - 常量名: 采用全大写风格,若有多个单词,采用下划线(
_
)连接。
-
在
Python交互模式
下,输入一下代码可以查看Python
的保留字:
import keyword
keyword.kwlist
- 注意:标识符不得与保留字相同,以免混淆。
变量
-
在
Python
中,不同于其他常见语言,变量是没有类型的,创建的时候不需要声明类型,即:变量没有类型属性。- 解释器会基于变量内容,自动为其分配内存,并决定什么数据类型。
-
Python
可同时为多个变量赋值,如:a,b = 1, 2
; -
给变量赋值时,
Python
只会记住最后一次的赋值。 -
当不需要使用某个变量时,即删除变量,可采用:
del x,y,z
语法格式进行删除(支持删除多个)。
数据类型
-
Python3
中有6种
标准数据类型:- [ 数字类型 ]:
Python 3
支持 4种数据类型:int
(整型)、float
(浮点型)、bool
(布尔型)、complex
(复数型)Python 3
只有一种整型类型int
表示长整型,而不像Python 2
那样区分标准整型(int)和长整型(long),从Python 2.2
起,若整数发生溢出,Python
会自动将整数转换为长整数。即此后在整数后面不加字母L
也不会导致错误。- 浮点型类似C语言中的
double类型
,大小为8字节,其中52位表示底,11位表示指数位,剩下一位表示符号位(±)。 - 复数类型: 复数类型由实数部分和虚数部分组成,形式一般为:
x + yi
;x是复数实数部分,y是复数虚数部分,注意x,y都是实数。 - 在
Python 2
中没有bool
布尔类型,都是用0
表示False
;1
表示True
;而Python 3
中将False & True
变成了关键字,其值依旧是0 & 1
,且可以参与数字运算。 - 布尔类型支持与其他数据类型进行运算。
Python
将 0 、空字符串、None看作是False
,将其他数值或非空字符串看成True
.
- [ 字符串类型 ]:
Python
中字符串用单引号或者双引号括起来,同时使用反斜杠\
转移特殊的字符;其用来表示文本数据。- 与
C
语言不同,Python
不支持字符类型,即使时单个字符,在Python
中 都是视为字符串处理。 - 与
C
语言不同,Python
字符串不能被改变,即字符串一旦创建,就不能修改。 Python
规定,单引号内可以使用双引号,这时双引号被视为一个普通字符,不再作为定界符,反之亦然。Python
字符串支持两种索引方式:从左往右以0
开始;从右往左以-1
开始。- 字符串中可以包含非 ASCII 字符,如:中文、日文、韩文等。
- 字符串可以通过加号
+
连接,也可以通过*n
重复。 Python
中使用反斜杠\
转换特殊字符,若不想让 \
字符发生转义,可以在字符串前加一个字母r
,表示原始字符串。- 在
Python 2
中普通字符串都是以ASCII格式
存储,而Unicode
字符串则存储的是16位
的字符串,使用Unicode
字符串,只要在字符串前缀添加字母u
即可,在Python 3 中默认所有的字符串默认都为Unicode
的,因而不必在字符串的前面加前缀字母u
。
- [ 列表类型 ]:
- 其在
Python
中是使用最频繁的数据类型,它是放在[]
内,用,
逗号隔开的一系列元素,其元素的类型可以不同,支持数字、字符串,甚至可以包含列表。换言之,列表允许嵌套。
- 其在
- [ 元组类型 ]:与列表相似,差异在与元组的元素是不能修改的(也被称只读列表),两外,列表是采用
[]
符号,元组则采用的是()
符号.- 当元组中只包含一个元素时,需要在元素后面添加逗号,如:
tup = (50,)
- 当元组中只包含一个元素时,需要在元素后面添加逗号,如:
- [ 集合类型 ]:将不同的元素组合在一起,即是集合
- 其可以分为两类:可变集合(
set
)的不可变集合(frozenset
)。
- 其可以分为两类:可变集合(
- [ 字典类型 ]:其是一种可变容器类型,且可以存储任意类型对象。
- 字典的值(
Value
)可以取任何Python
对象,没有任何限制,既可以是标准类型,亦可以是用户自定义对象,但键(Key
)不行。
- 字典的值(
- [ 数字类型 ]:
-
常量与变量相对应,就是程序运行时,其值不可改变;实际上
Python
严格意义上时没有常量,因为其没有此机制,只是用大写字母表示而已,其值依旧是可以更改的。 -
可以通过内置
type()函数
来查询变量所指向的对象类型;还可使用isinstance()函数
来判断某个变量是否属于某种数据类型。- 注意:两者的区别在于,
type()函数
不会认为子类是一种父类型,而后者则认为是。
- 注意:两者的区别在于,
类型转换
- 可使用
Python
内置函数进行转换。
数值运算
Python
支持算术运算
,比较运算
,赋值运算
,逻辑运算
,位运算
,成员运算
,身份运算
;- 成员运算用于判断一个对象是否包含另一个对象。
- 身份运算用于判断引用某一个对象。
- 除法运算有两种:
- 使用运算符
/
则返回的结果是浮点数。 - 使用运算符
//
则返回的是整数。
- 使用运算符
- 在进行混合计算时,
Python
会将整数转换为浮点数。 Python
是支持 位运算 的。
基本输入输出
- 使用
input
函数获得用户输入数据,格式如:变量 = input('提示字符串')
.- 变量和提示符可以不需要,按
Enter
键完成输入。
- 变量和提示符可以不需要,按
- 使用
print
函数输出用户数据。格式如:print([obj1,…][,seq=‘’][,end=‘\n’][,file=sys.stdout])- [] 表示可以省略的参数
- seq 表示分割符,即第一个参数和第二个参数之间的分隔符,默认是空格符
''
。 - end 表示结束符,即输出的最后一个字符,默认为
\n
。 - file 表示输出的目标文件,默认为
sys.stdout
标准输出设备,即显示器。
- 学习资料:《Python基础教程(微课版)》 清华大学出版社.
- 学习资料:《Python程序设计实用教程》 清华大学出版社
- 辅助资料: AI工具(RACCOON ASISSTANT)