Before continuing with the following article, let's first take a look at several operators provided by Python for us. Define two variables, a and b. The value of a is 10 and the value of b is 20.
Operator | Description | Example |
---|---|---|
+ | Add, add two objects | a+b=30 |
- | Subtract, subtract two objects, you may get a negative number | a-b=-10 |
Multiple, the two numbers are equivalent or Returns a string repeated several times | a*b=200 | |
Divide two objects | b/a=2 | |
Take the membrane and return the remainder of the division | b%a=0 | |
Power, returns the y power of x | a**b=100000000000000000000L | |
Remainder of integer division, return the integer part of the quotient | a//b=0 |
Description | Instance | |
---|---|---|
a==bReturn False | != | |
a!=b returns True | ##<> | |
a< ;>b returns True | > | |
a>b returns False | < | |
a | ##>= | Greater than or equal to, compare whether x is greater than or equal to y |
<= | Less than or equal to, compare Whether x is less than or equal to y | |
Assignment operator |
= | ||
---|---|---|
##+= | addition copy operator | c += a, etc. Effective for c = c + a |
-= | Subtractive copy operator | c -= a is equivalent to c = c - a |
*= | Multiplicative copy operator | c |
/= | Division copy operator | c /= a is equivalent to c = c / a|
%= | Modulo assignment operator | c %= a is equivalent to c = c % a |
**= | Power assignment operator | c |
//= | Integer division assignment operator | c //= a is equivalent to c = c // a|
Logical operator |
and | "with" | |
---|---|---|
or | "or" | a or b returns true |
not | "Not" | no(a and b) returns false |
##Member operator |
in | Returns True if the value is found in the specified sequence , otherwise it returns False | |
---|---|---|
If the value is not found in the specified sequence, it returns True, otherwise it returns false |
运算 | 解释 |
---|---|
spam='Spam' | 基本形式 |
spam, ham='yum', 'YUM' | 元组赋值运算 |
[spam, han]=['yum', 'YUM'] | 列表赋值运算 |
a,b,c,d='spam' | 序列赋值运算,通用性 |
a, *b='spam' | 扩展的序列解包 |
spam = ham = 'hello' | 多目标赋值运算 |
spams += 42 | 增强赋值运算 |
序列运算
>>> nudge = 1 >>> wink = 2 >>> A, B = nudge, wink >>> A,B (1, 2) # 嵌套的方式 >>> ((a, b), c) = ('SP', 'AM') >>> a, b, c ('S', 'P', 'AM')<p>扩展的序列解包</p> <p>一个列表赋给了带星号的名称,该列表收集了序列中没有赋值给其他名称的所有项。</p> <p>先定义一个seq序列用于测试:</p> <pre class="brush:php;toolbar:false">>>> seq = [1, 2, 3, 4]
a
匹配序列中的第一项,b
匹配剩下的内容
>>> a, *b = seq >>> a, b (1, [2, 3, 4])
b
匹配序列中的最后一项,a
匹配序列中最后一项之前的所有内容
>>> *a, b = seq >>> a,b ([1, 2, 3], 4)
第一项个最后一项分别赋值给了a
和c
,而b
获取了二者之间的所有内容。
>>> *a, b, c = seq >>> a,b,c ([1, 2], 3, 4)
带星号的名称可能只匹配单个的项,但是,总会向其复制一个列表,如果没有剩下的内容可以匹配那么会返回一个空列表:
>>> a,b,c,*d = seq >>> print(a,b,c,d) 1 2 3 [4] >>> a,b,c,d,*e = seq >>> print(a,b,c,d,e) 1 2 3 4 []
多目标赋值语句就是直接把所有提供的变量名都赋值给右侧的对象
>>> a = b = c = 'As' >>> a,b,c ('As', 'As', 'As') # 所引用的值也都是同一个 >>> id(a),id(b),id(c) (4331109208, 4331109208, 4331109208)
Before continuing with the following article, let's first take a look at several operators provided by Python for us. Define two variables, a and b. The value of a is 10 and the value of b is 20.
Operator | Description | Example |
---|---|---|
+ | Add, add two objects | a+b=30 |
- | Subtract, subtract two objects, you may get a negative number | a-b=-10 |
Multiple, the two numbers are equivalent or Returns a string repeated several times | a*b=200 | |
Divide two objects | b/a=2 | |
Take the membrane and return the remainder of the division | b%a=0 | |
Power, returns the y power of x | a**b=100000000000000000000L | |
Remainder of integer division, return the integer part of the quotient | a//b=0 |
Description | Instance | |
---|---|---|
a==bReturn False | != | |
a!=b returns True | ##<> | |
a< ;>b returns True | > | |
a>b returns False | < | |
a | ##>= | Greater than or equal to, compare whether x is greater than or equal to y |
<= | Less than or equal to, compare Whether x is less than or equal to y | |
Assignment operator |
= | ||
---|---|---|
##+= | addition copy operator | c += a, etc. Effective for c = c + a |
-= | Subtractive copy operator | c -= a is equivalent to c = c - a |
*= | Multiplicative copy operator | c |
/= | Division copy operator | c /= a is equivalent to c = c / a|
%= | Modulo assignment operator | c %= a is equivalent to c = c % a |
**= | Power assignment operator | c |
//= | Integer division assignment operator | c //= a is equivalent to c = c // a|
Logical operator |
and | "with" | |
---|---|---|
or | "or" | a or b returns true |
not | "Not" | no(a and b) returns false |
##Member operator |
in | Returns True if the value is found in the specified sequence , otherwise it returns False |
---|---|
If the value is not found in the specified sequence, it returns True, otherwise it returns false |
运算 | 解释 |
---|---|
spam='Spam' | 基本形式 |
spam, ham='yum', 'YUM' | 元组赋值运算 |
[spam, han]=['yum', 'YUM'] | 列表赋值运算 |
a,b,c,d='spam' | 序列赋值运算,通用性 |
a, *b='spam' | 扩展的序列解包 |
spam = ham = 'hello' | 多目标赋值运算 |
spams += 42 | 增强赋值运算 |
序列运算
>>> nudge = 1 >>> wink = 2 >>> A, B = nudge, wink >>> A,B (1, 2) # 嵌套的方式 >>> ((a, b), c) = ('SP', 'AM') >>> a, b, c ('S', 'P', 'AM')<p>扩展的序列解包</p> <p>一个列表赋给了带星号的名称,该列表收集了序列中没有赋值给其他名称的所有项。</p> <p>先定义一个seq序列用于测试:</p> <pre class="brush:php;toolbar:false">>>> seq = [1, 2, 3, 4]
a
匹配序列中的第一项,b
匹配剩下的内容
>>> a, *b = seq >>> a, b (1, [2, 3, 4])
b
匹配序列中的最后一项,a
匹配序列中最后一项之前的所有内容
>>> *a, b = seq >>> a,b ([1, 2, 3], 4)
第一项个最后一项分别赋值给了a
和c
,而b
获取了二者之间的所有内容。
>>> *a, b, c = seq >>> a,b,c ([1, 2], 3, 4)
带星号的名称可能只匹配单个的项,但是,总会向其复制一个列表,如果没有剩下的内容可以匹配那么会返回一个空列表:
>>> a,b,c,*d = seq >>> print(a,b,c,d) 1 2 3 [4] >>> a,b,c,d,*e = seq >>> print(a,b,c,d,e) 1 2 3 4 []
多目标赋值语句就是直接把所有提供的变量名都赋值给右侧的对象
>>> a = b = c = 'As' >>> a,b,c ('As', 'As', 'As') # 所引用的值也都是同一个 >>> id(a),id(b),id(c) (4331109208, 4331109208, 4331109208)
更多Python全栈之路系列之赋值与运算符 相关文章请关注PHP中文网!