简述
语言中最为基础的部分,变量、操作符等。
基本规则与特殊字符
| 项目 | 说明 | 
| # | 其后的字符为python注释 | 
| \n | 标准的行分隔符(通常一个语句一行) | 
| \ | 继续上一行 | 
| ; | 将两个语句连接在一行中 | 
| : | 将代码块的头和体分开 | 
变量与赋值
| 类别 | 说明 | 
| 变量名 | 字母(大写、小写字母加下划线_)开头的标识符 | 
| —> | 变量名大小写敏感 | 
| —> | 变量类型不需要预先声明,赋值时即被初始化(动态类型语言) | 
| 支持增量赋值 | n *= 10–>n = n * 10 | 
| 不支持自增1和自减1操作符 | |
| Python的赋值语句不会返回值 | |
| 支持多重赋值 | x = y = z = 1(x,y,z的值都赋值为1) | 
| 支持‘多元’赋值 | x,y,z=1,2,'a string’分别将右边三个值赋给左边三个变量,类似元组初始化 | 
| ‘多元’交换 | x,y=1,2 x,y=y,x会将x,y的值交换,即结果为x为2,y为1 | 
内存管理
| 项目 | 说明 | 举例 | 
| 动态类型 | 对象的类型和内存占用都是运行时确定。变量赋值时,解释器根据右侧操作数决定新对象的类型。对象创建后,一个该对象的引用被赋值给左侧变量 | 略 | 
| 内存分配 | 无需开发手动进行,python自动进行 | 略 | 
| 引用计数 | python内部记录所有使用中的对象各有多少引用,每个对象各有多少个引用即为引用计数。对象被创建时,一个引用计数就被创建,该对象不再需要时其引用计数即变为0,并被垃圾回收 | 略 | 
| 垃圾回收 | 垃圾收集器为一块独立代码,用来寻找引用计数为0的对象 | 
如下是关于对象与引用关系的示意图:
![这里写图片描述 [Language]Python变量,内存管理,操作符,数字类型_赋值](https://file.cfanz.cn/uploads/png/2022/09/08/5/078N2ILCf2.png)
标准算术操作符
如下操作符优先级从低到高排列:
| 操作符 | 说明 | 示例 | 
| + | 加法 | 略 | 
| - | 减法 | 略 | 
| * | 乘法 | 略 | 
| / | 传统除法,两个操作数为整型的话,执行的是地板除,即会取比商小的最大整数 | 5 / 2的结果为2 | 
| // | 浮点除法,对结果进行四舍五入,不管操作数是什么类型,浮点除法总是执行真正的除法 | 5 / 2的结果为3 | 
| % | 求余,注意在格式化打印中%作为字符串格式操作符 | 5 % 2的结果为1 | 
| ** | 乘方操作 | 3 ** 2,3的2次方,结果为9 | 
| << | 左移位操作 | 1 << 1 (结果为2) | 
| >> | 右移位操作 | 2 >> 1 (结果为1) | 
| & | 按位与 | 0xFF & 0x14结果为0x14 | 
| ^ | 按位异或 | 0xFF ^ 0x01结果为0xFE | 
| | | 按位或 | 0x0F | 0xF0结果为0xFF | 
标准比较操作符
| 操作符 | 说明 | 示例 | 
| < | 小于 | 2 < 4,结果为真 | 
| <= | 小于等于 | 略 | 
| > | 大于 | 5 > 4 > 3 | 
| >= | 大于等于 | 略 | 
| == | 等于 | 略 | 
| != | 不等于 | 略 | 
| <> | 不等于 | 此种方式已经逐渐被淘汰 | 
逻辑操作符
| 操作符 | 说明 | 示例 | 
| and | 与,类似& | 2 < 4 and 2 == 4 | 
| or | 或 | 略 | 
| not | 非 | 略 | 
基本数字类型
| 数字类型 | 符号 | 举例 | 
| 有符号整型 | int | -237, 0x80, -0X92 | 
| 长整型 | long | 2998906245L, 0xDECADEDEADBEEFBADEEEDDEAL | 
| 布尔值 | bool | True, False | 
| 浮点值 | 3.14159, 4.2E-10, 6.022e23 | |
| 复数 | 6.23 + 1.5j, -1.23-875J | 
关键字
Python关键字可以用iskeyword()函数来识别是否为关键字:
| 关键字 | 说明 | 
| and | 逻辑与 | 
| as | ** | 
| assert | ** | 
| break | 跳出循环控制 | 
| class | 类 | 
| continue | 跳出循环控制 | 
| def | 函数定义 | 
| del | 直接释放资源 | 
| elif | 条件 | 
| else | 条件 | 
| except | 异常处理 | 
| exec | ** | 
| finally | 异常处理 | 
| for | 循环 | 
| from | ** | 
| global | ** | 
| if | 条件 | 
| import | 导入模块 | 
| in | 迭代中用到 | 
| is | ** | 
| lambda | ** | 
| not | 逻辑非 | 
| or | 逻辑或 | 
| pass | ** | 
| print | 打印log | 
| raise | 异常处理 | 
| return | 返回值 | 
| try | 异常处理 | 
| while | 循环 | 
| with | ** | 
| yield | ** | 
| None | 非关键字常量 | 
专用下划线标识符
| 标识符 | 说明 | 
| __xxx | 不用‘from module import *’导入 | 
| _xxx_ | 系统定义名字 | 
| __xxx | 类中的私有变量名 | 
Python中的特别变量
| 标识符 | 说明 | 
| _doc_ | 通过该变量动态获得文档字串。模块、类声明、函数声明中第一个没有赋值的字符串可以用属性obj.__doc__来进行访问 | 
| 待续 | 待续 | 
                










