简述
语言中最为基础的部分,变量、操作符等。
基本规则与特殊字符
项目 |
说明 |
# |
其后的字符为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的对象 |
|
如下是关于对象与引用关系的示意图: |
|
|
 |
|
|
标准算术操作符
如下操作符优先级从低到高排列:
操作符 |
说明 |
示例 |
+ |
加法 |
略 |
- |
减法 |
略 |
* |
乘法 |
略 |
/ |
传统除法,两个操作数为整型的话,执行的是地板除,即会取比商小的最大整数 |
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__来进行访问 |
待续 |
待续 |