Python编程规范、运算符


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

比较运算:

运算符 描述 实例
== 等于 - 比较对象是否相等 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

逻辑运算:

运算符 描述 实例
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
>>> a = 60  # 60 = 0011 1100
>>> b = 13  # 13 = 0000 1101
>>> 60 & 13
12      # 12 = 0000 1100
>>> 60 | 13
61      # 61 = 0011 1101
>>> 60 ^ 13
49      # 49 = 0011 0001
>>> ~ 60
-61     # -61 = 1100 0011
>>> 60 << 2
240     # 240 = 1111 0000
>>> 60 >> 2
15      # 15 = 0000 1111

运算符优先级:

运算符 描述
** 指数(最高优先级)
~+- 按位翻转,一元加号和减号(最后两个的方法名为+@和-@)
*/%// 乘、除、取模和整除
+- 加法、减法
>><< 右移、左移运算符
& 位 and
^
<=<>>= 比较运算符
<>==!= 等于运算符
=%=/=//=-=+==*= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符

优先级无法区分时用小括号