1 Python编程风格
编程规范 | 说明 |
---|---|
注释 | 用#号表示单行注释 多行注释用三引号(三双引号或三单引号均可) |
缩进 | 缩进级别必须保持一致,不能一会用空格,一会用tab 约定俗成缩进用4个空格 |
2 Python运算符
算术运算:
运算符 | 描述 | 实例 |
---|---|---|
+ | 加 - 两个对象相加 | 1 + 1输出结果2 |
- | 减 - 得到负数或一个数减去另一个数 | -10输出结果-10 5 - 1输出结果4 |
* | 乘 - 两个数相乘 或返回一个被重复若干次的字符串 | 2 * 3输出结果6 ’abc’ * 2输出结果abcabc |
/ | 除 - x除以y | 5 / 2输出结果2.5 |
// | 整除 - 返回商的整数部分 | 5 // 2输出结果2 5.0 // 2输出结果2.0 |
% | 取模 - 返回除法的余数 | 5 % 2输出结果1 |
** | 幂 - 返回x的y次幂 | 2 ** 3为2的3次方,输出结果8 |
运算符还可用于字符串,结果就是字符串重复的次数
In [2]: "a" *20 Out[2]: 'aaaaaaaaaaaaaaaaaaaa'
比较运算:
运算符 | 描述 | 实例 |
---|---|---|
== | 等于 - 比较对象是否相等 | 1 == 2返回False |
!= | 不等于 - 比较两个对象是否不相等 | 1 != 2返回True |
<> | 不等于 - 比较两个对象是否不相等 | 1 <> 2返回True |
> | 大于 - 返回x是否大于y | 1 > 2返回False |
< | 小于 - 返回x是否小于y | 1 < 2返回True |
>= | 大于等于 - 返回x是否大于等于y | 1 >= 2返回False |
<= | 小于等于 - 返回x是否小于等于y | 1 <= 2返回True |
所有比较运算符返回1表示真,返回0表示假。这分别与特殊变量True和False等价。
True和False的首字母是大写的。
赋值运算:
运算符 | 描述 | 实例 |
---|---|---|
= | 简单的赋值运算符 | a = 1将1赋值为a变量 |
+= | 加法赋值运算符 | a += 1等效于a = a + 1 |
-= | 减法赋值运算符 | a -= 1等效于a = a - 1 |
*= | 乘法赋值运算符 | a *= 2等效于a = a * 2 |
/= | 除法赋值运算符 | a /= 2等效于a = a / 2 |
//= | 整除赋值运算符 | a //= 2等效于a = a // 2 |
%= | 取模赋值运算符 | a %= 2等效于a = a % 2 |
**= | 幂赋值运算符 | a **= 2等效于a = a ** 2 |
逻辑运算:
a = 10
b = 10
运算符 | 描述 | 实例 |
---|---|---|
and | 布尔“与” - 多个条件均为True时结果才为True 如果x为False,x and y返回False 否则返回y的计算值 | a and b返回True |
or | 布尔”或” - 多个条件中任意一个结果为True结果亦为True 如果x为True,它返回True 否则返回y的计算值 | a or b返回True |
not | 布尔”非” - 如果x为True,返回False 如果x为False,返回True | not a and b返回False |
短路原则
- and
- 当条件1为假时,条件2不作判断
- 当条件1为真时才去判断条件2
- or
- 当条件1为真时,条件2不作判断
- 当条件1为假时才去判断条件2
成员运算:
运算符 | 描述 | 实例 |
---|---|---|
in | 若在指定序列中 找到值返回True 否则返回False | x in y,若x在y序列中返回True |
not in | 若在指定序列中 未找到值返回True 否则返回False | x not in y,若x不在y序列中返回True |
身份运算:
运算符 | 描述 | 实例 |
---|---|---|
is | is是判断两个标识符 是否引用同一对象 | x is y 若id(x)等于id(y)结果返回True 否则返回False |
is not | is not是判断两个标识符 是否引用不同对象 | x is not y 若id(x)不等于id(y)结果返回True 否则返回False |
位运算:
运算符 | 描述 | 实例 |
---|---|---|
& | 按位与运算符 | a & b输出结果12,二进制:0000 1100 |
| | 按位或运算符 | a | b输出结果61,二进制:0011 1101 |
^ | 按位异或运算 | a ^ b输出结果49,二进制:0011 0001 |
~ | 按位取反运算 | ~ a输出结果-61,二进制:1100 0011 |
<< | 左移动运算符 | a << 2输出结果240,二进制:1111 0000 |
>> | 右移动运算符 | a >> 2输出结果15,二进制:0000 1111 |
运算符优先级:
运算符 | 描述 |
---|---|
** | 指数(最高优先级) |
~± | 按位翻转,一元加号和减号(最后两个的方法名为+@和-@) |
*/%// | 乘、除、取模和整除 |
± | 加法、减法 |
>><< | 右移、左移运算符 |
& | 位 and |
^ | |
<=<>>= | 比较运算符 |
<>==!= | 等于运算符 |
=%=/=//=-=+=*=**= | 赋值运算符 |
is is not | 身份运算符 |
in not in | 成员运算符 |
not or and | 逻辑运算符 |
优先级无法区分时用小括号