运算符 | 名称 | 说明 | 例子 | ||
---|---|---|---|---|---|
+ |
加 | 两个对象相加 | 3 + 5 得到8 。'a' + 'b' 得到'ab' 。 |
||
- |
减 | 得到负数或是一个数减去另一个数 | -5.2 得到一个负数。50 - 24 得到26 。 |
||
* |
乘 | 两个数相乘 或是 返回一个被重复若干次的字符串 | 2 * 3 得到6 。'la' * 3 得到 'lalala' 。 |
||
** |
幂 | 返回x的y次幂 3 | \** 4 得到81 (即3 * 3 * 3 * 3 ) |
||
/ |
除 | x除以y | 4 / 3 得到 1.3333333333333333 。 |
||
// |
取整除 | 返回商的整数部分 | 4 // 3 得到1 |
||
% |
取模 | 返回除法的余数 | 8%3 得到2 。-25.5%2.25 得到1.5 |
||
<< |
左移 | 把一个数的向左移若干比特位(每个数在内存中都表示为比特或二进制数字,即0和1) | 2 << 2 得到8 。——2 按比特表示为10 ,左位移两bit位后得到1000 ,十进制中表示为8 。 |
||
>> |
右移 | 把一个数的向右移若干比特位 | 11 >> 1 得到5 。——11 按比特表示为1011 ,向右移动1比特后得到101 ,即十进制的5 。 |
||
& |
按位与 | 数的按位与 | 5 & 3 得到1。 |
||
| |
按位或 | 数的按位或 | 5 | 3 得到7 。 |
||
^ |
按位异或 | 数的按位异或 | 5 ^ 3 得到6 |
||
~ |
按位翻转 | x的按位翻转是-(x+1) | ~5 得到6 。 |
||
< |
小于 | 返回x是否小于y。所有比较运算符返回布尔值True或False。请注意布尔值大小写敏感。 | 5 < 3 返回False ,3 < 5 返回True 。比较可以被任意连接,如3 < 5 < 7 返回True 。 |
||
> |
大于 | 返回x是否大于y | 5 > 3 返回True 。如果两个操作数都是数字,它们首先被转换为一个共同的类型。否则,它总是返回False 。 |
||
<= |
小于等于 | 返回x是否小于等于y | x = 3; y = 6; x <= y 返回True 。 |
||
>= |
大于等于 | 返回x是否大于等于y | x = 4; y = 3; x >= y 返回True 。 |
||
== |
等于 | 比较对象是否相等 | x = 2; y = 2; x == y 返回True 。x = 'str'; y = 'stR'; x == y 返回False 。x = 'str'; y = 'str'; x == y 返回True 。 |
||
!= |
不等于 | 比较两个对象是否不相等 | x = 2; y = 3; x != y 返回True 。 |
||
not |
布尔“非” | 如果x为True,返回False。如果x为False,它返回True。 | x = True; not x 返回False 。 |
||
and |
布尔“与” | 如果x为False,x and y返回False,否则它返回y的计算值。 | x = False; y = True; x and y ,由于x是False ,返回False 。在这里,Python不会计算y,因为它知道这个表达式的值肯定是False (因为x是False)。这个现象称为短路计算。 |
||
or |
布尔“或” | 如果x是True,它返回True,否则它返回y的计算值。 | x = True; y = False; x or y 返回True 。短路计算在这里也适用。 |
运算符 | 描述 |
---|---|
lambda |
Lambda表达式 |
or |
布尔“或” |
and |
布尔“与” |
not x |
布尔“非” |
in ,not in |
成员测试 |
is ,is not |
同一性测试 |
< ,<= ,> ,>= ,!= ,== |
比较 |
| |
按位或 |
^ |
按位异或 |
& |
按位与 |
<< ,>> |
移位 |
+ ,- |
加法与减法 |
* ,/ ,% |
乘法、除法与取余 |
+x ,-x |
正负号 |
~x |
按位翻转 |
** |
指数 |
x.attribute |
属性参考 |
x[index] |
下标 |
x[index:index] |
寻址段 |
f(arguments...) |
函数调用 |
(experession,...) |
绑定或元组显示 |
[expression,...] |
列表显示 |
{key:datum,...} |
字典显示 |
'expression,...' |
字符串转换 |
一个通用的标准格式说明语言如下:
1 | format_spec ::= [[fill]align][sign][#][0][width][,][.precision][type] |
选项 | 作用 |
---|---|
< |
强制在可用空间中左对齐(该选项对于大部分对象是默认选项) |
> |
强制在可用空间中右对齐(该选项对于数值型对象是默认选项) |
= |
强制在可用空间中在正负号(如果有的话)之后,有效数值之前进行填充。该选项常用于打印‘+000000120’这类数值。该对齐选项只对数值型对象可用。 |
^ |
强制在可用空间中居中对齐。 |
“sign”说明字符只可用于数值型参数,它用于确定是否打印正负号。
选项 | 作用 |
---|---|
+ |
不管该数值为正数还是负数,都要打印正负号。 |
- |
只当该数值为负数时,才打印负号。(默认) |
SPC |
为正数输出空格,为负数输出负号。 |
用于字符串的有效类型有:
类型 | 用途 |
---|---|
s |
字符串格式。字符串类型默认都会带上这个选项,因此允许忽略。 |
无 | 和s 等效 |
用于整型的有效类型有:
类型 | 用途 |
---|---|
b |
二进制形式。 |
d |
十进制形式。 |
o |
八进制形式。 |
x |
小写十六进制形式。 |
X |
大写十六进制形式。 |
c |
输出整数对应的Unicode字符。 |
n |
以场所敏感的方式输出数字。其作用与d 相同。 |
无 | 和d 等效 |
用于浮点数的有效类型有:
类型 | 用途 |
---|---|
e |
使用小写字母e的指数形式 |
E |
使用大写字母E的指数形式 |
f |
标准的浮点形式 |
g |
“通常”格式,与f 的作用等同,除非数字特别大(在这种情况下与e 作用等同) |
G |
与g 几乎等同,但总是使用f 或E |
n |
以场所敏感的方式输出数字,其作用与g 相同 |
% |
使用百分比的形式输出数字。产生的数字结果使用f 并附加一个% 字符的格式输出 |
无 | 与g 相似,但小数点后至少保留一位数字,且默认精度为12。 |
除非在字符串前加上r
或R
,否则字符串中的转义序列将会根据既定的规则来进行解释,这些规则和标准的C语言类似。这些转义序列包括:
转义序列 | 含义 | 备注 |
---|---|---|
\\ |
Backslash (\ ) |
|
\' |
Single quote (' ) |
|
\" |
Double quote (" ) |
|
\a |
ASCII Bell (BEL ) |
|
\b |
ASCII Backspace (BS ) |
|
\f |
ASCII Formfeed (FF ) |
|
\n |
ASCII Linefeed (LF ) |
|
\r |
ASCII Carriage Return (CR ) |
|
\t |
ASCII Horizontal Tab (TAB ) |
|
\v |
ASCII Vertical Tab (VT ) |
|
\ooo |
Character with octal value ooo |
(1,3) |
\xhh |
Character with hex value hh |
(2,3) |
只能用在字符串里的转义序列有:
转义序列 | 含义 | 备注 |
---|---|---|
\N{name} |
Character named name in the Unicode database | (4) |
\uxxxx |
Character with 16-bit hex value xxxx |
(5) |
\Uxxxxxxxx |
Character with 32-bit hex value xxxxxxxx |
(6) |
备注: