目录一、基础语法1.1 缩进规则1.2 变量与赋值1.3 编码声明二、数据类型2.1 数字类型int、float、complex2.2 文本类型str2.3 序列类型list、tuple、range2.4 映射类型dict2.5 集合类型set、frozenset2.6 布尔类型bool2.7 二进制序列类型bytes、bytearray2.8 数据类型转换三、注释3.1 单行注释3.2 多行注释3.3 文档字符串Docstring3.4 注释规范PEP 8四、运算符4.1 算术运算符4.2 比较运算符4.3 逻辑运算符4.4 赋值运算符4.5 位运算符4.6 成员运算符与身份运算符4.7 运算符优先级从高到低五、编码解码5.1 编码声明5.2 字符串与字节串5.3 codecs 模块权威网站推荐一、基础语法1.1 缩进规则①使用缩进划分代码块其他语言中的花括号{}。②所有代码块语句必须包含相同的缩进空白数量同一级别的代码缩进必须一致。③建议每一层向右缩进4 个空格不用 Tab 字符不同编辑器对 Tab 的展开宽度不同。例如ifTrue:print(缩进正确)# 4个空格print(同一代码块)print(代码块之外)缩进不一致Python 会抛出IndentationError。1.2 变量与赋值Python 中的变量无需提前声明类型通过等号即可赋值变量的类型由所赋的值动态决定。例如x10# inty3.14# floatnamePython# strflagTrue# bool变量名绑定的是对象而非数据类型本身因此同一个变量可以在不同时刻指向不同类型的对象。1.3 编码声明默认情况下Python3源码文件使用UTF-8编码。如果需要在源码中指定其他编码格式可以在文件第一行或第二行添加编码声明注释# -*- coding: utf-8 -*-文件中没有编码声明则默认使用 UTF-8。参考Python 官方教程docs.python.org二、数据类型Python 内置类型主要包括数字、序列、映射、类、实例和异常等几大类。2.1 数字类型int、float、complexPython 有三种独立的数字类型整数int、浮点数float和复数complex。a42# int整数任意大小b3.14# float浮点数c12j# complex复数int类型支持任意精度不像 C/Java 那样有溢出限制。2.2 文本类型strstr用于存储Unicode 字符串是Python3中处理文本的核心类型。字符串可以用单引号、双引号或三引号创建s1hellos2worlds3多行 字符串2.3 序列类型list、tuple、rangelist列表可变序列使用[]定义可增删改tuple元组不可变序列使用()定义range表示数字范围常用于循环my_list[1,2,3]# 可修改my_tuple(1,2,3)# 不可修改my_rangerange(5)# 0,1,2,3,42.4 映射类型dict字典dict是键值对映射键必须为不可变类型person{name:Alice,age:30}2.5 集合类型set、frozensetset可变集合元素不重复frozenset不可变集合s{1,2,3}# setfsfrozenset([1,2])# frozenset2.6 布尔类型boolbool是int的子类只有True和False两个值。2.7 二进制序列类型bytes、bytearray用于处理二进制数据bytes不可变bytearray可变。2.8 数据类型转换常用转换函数包括int()、float()、str()、list()、tuple()、dict()、set()等xint(42)# 字符串转整数yfloat(3.14)# 字符串转浮点数zstr(100)# 整数转字符串参考Python 官方文档 Built-in Typesdocs.python.org/3/library/stdtypes.html三、注释3.1 单行注释①单行注释以#开头直到该物理行结束②注释可以出现在行首③在代码之后行尾注释。# 这是一行注释x10# 行尾注释3.2 多行注释使用三引号字符串或实现多行注释 这是多行注释 可以跨越多行 3.3 文档字符串Docstring文档字符串是写在函数、类或模块第一行的三引号字符串用于生成 API 文档。defadd(a,b):返回两个数的和。returnab可以使用help(add)或add.__doc__查看文档字符串内容。3.4 注释规范PEP 8PEP 8 是 Python 官方代码风格指南对注释有以下要求块注释应缩进到与其描述的代码相同的级别每行注释以#加一个空格开始行内注释与代码之间至少保持2 个空格的距离注释应当像叙述性文字一样可读使用正确的大小写和标点注释应随代码更新而更新参考Python 官方教程 3.1 节docs.python.org/zh-cn/3/tutorial/introduction.html、PEP 257、PEP 8四、运算符4.1 算术运算符运算符描述示例加法3 2 5-减法5 - 2 3*乘法3 * 4 12/除法返回浮点数7 / 2 3.5//整除向下取整7 // 2 3%取余7 % 2 1**幂运算2 ** 3 84.2 比较运算符、!、、、、。Python 中所有比较运算具有相同的优先级且低于任何算术、移位或位运算。4.3 逻辑运算符and、or、not用于组合布尔表达式。4.4 赋值运算符除基本外还有增强赋值运算符、-、*、/、//、%、**等。x10x5# 等价于 x x 54.5 位运算符按位与、|按位或、^按位异或、~按位取反、左移、右移。4.6 成员运算符与身份运算符成员运算符in、not in身份运算符is、is not3in[1,2,3]# TruexisNone# 判断是否为 None4.7 运算符优先级从高到低Python 运算符的完整优先级顺序如下从最低到最高排列优先级运算符最低lambda↓if – else条件表达式↓or↓and↓not x↓in,not in,is,is not,,,,,!,↓|按位或↓^按位异或↓按位与↓,↓,-↓*,/,//,%↓x,-x,~x一元运算符↓**幂运算最高x[index]、x(args)、x.attr同一框内的运算符具有相同优先级从左到右结合幂运算除外幂运算从右到左结合。实际编程中建议使用括号明确运算顺序以提高代码可读性。参考Python 官方文档 Expressions 章节docs.python.org/3/reference/expressions.html#operator-precedence五、编码解码5.1 编码声明①默认编码UTF-8②声明非 UTF-8 编码在文件首行添加# -*- coding: gbk -*-5.2 字符串与字节串Python 3 中严格区分文本与二进制数据strUnicode 字符串用于文本处理bytes8 位字节序列用于二进制数据bytearray可变的字节序列text你好世界# strdatatext.encode(utf-8)# bytesrestoreddata.decode(utf-8)# 还原为 str5.3 codecs 模块codecs模块提供编解码器的注册和访问功能标准编解码器可将文本编码为字节串或将字节串解码为文本importcodecs# 编码encodedcodecs.encode(hello,encodingutf-8)# 解码decodedcodecs.decode(encoded,encodingutf-8)权威网站推荐本文参考的可靠来源如下建议在进一步学习时优先使用网站地址说明Python 官方文档中文docs.python.org/zh-cn/3/最权威的参考资料包含教程、语言参考、标准库Python 官方教程docs.python.org/3/tutorial/官方入门教程适合系统学习Python 内置类型参考docs.python.org/3/library/stdtypes.html所有内置数据类型的详细说明PEP 索引peps.python.orgPython 增强提案包含编码、注释等规范PEP 8 风格指南peps.python.org/pep-0008/官方代码风格规范PEP 257 文档字符串peps.python.org/pep-0257/文档字符串规范PEP 3120 默认编码peps.python.org/pep-3120/UTF-8 默认编码提案W3Schools Pythonwww.w3schools.com/python/适合初学者的交互式教程