Home  >  Article  >  Backend Development  >  Python Full Stack Road Series: Assignment and Operators

Python Full Stack Road Series: Assignment and Operators

高洛峰
高洛峰Original
2017-02-09 11:02:061297browse

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.

Arithmetic Operator

##*Multiple, the two numbers are equivalent or Returns a string repeated several timesa*b=200/Divide two objectsb/a=2%Take the membrane and return the remainder of the divisionb%a=0**Power, returns the y power of xa**b=100000000000000000000L//Remainder of integer division, return the integer part of the quotienta//b=0##Comparison operator
Operator Description Example
+ Add, add two objects a+b=30
- Subtract, subtract two objects, you may get a negative number a-b=-10

Operator##====Equals , compare whether two objects are equala==bReturn False!=Not equal, compare whether two objects are not equala!=b returns TrueNot equal, compare whether two objects are equal is greater than, compares whether x is greater than y, Less than, compare whether x is less than y##>=Greater than or equal to, compare whether x is greater than or equal to ya>=b returns False<=Less than or equal to, compare Whether x is less than or equal to ya<=b returns True
Description Instance
##<>
a< ;>b returns True >
a>b returns False <
a
Assignment operator
## Operator

DescriptionInstanceAssignment Operator c=a+b, assign the operation result of a+b to c##+=addition copy operatorc += a, etc. Effective for c = c + a-=Subtractive copy operatorc -= a is equivalent to c = c - a*=Multiplicative copy operatorc = a is equivalent to c = c a/=c /= a is equivalent to c = c / a%=Modulo assignment operatorc %= a is equivalent to c = c % a**=Power assignment operator c = a is equivalent to c = c a//=c //= a is equivalent to c = c // aOperation Symbol
=
Division copy operator
Integer division assignment operator
Logical operator

Description

Instanceand"with"a and b returns trueor"or"a or b returns truenot "Not"no(a and b) returns false##Member operatorOperator
Description

not in

赋值语句的语法

inReturns 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)

第一项个最后一项分别赋值给了ac,而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.

Arithmetic Operator

##*Multiple, the two numbers are equivalent or Returns a string repeated several timesa*b=200/Divide two objectsb/a=2%Take the membrane and return the remainder of the divisionb%a=0**Power, returns the y power of xa**b=100000000000000000000L//Remainder of integer division, return the integer part of the quotienta//b=0##Comparison operator
Operator Description Example
+ Add, add two objects a+b=30
- Subtract, subtract two objects, you may get a negative number a-b=-10

Operator##====Equals , compare whether two objects are equala==bReturn False!=Not equal, compare whether two objects are not equala!=b returns TrueNot equal, compare whether two objects are equal is greater than, compares whether x is greater than y, Less than, compare whether x is less than y##>=Greater than or equal to, compare whether x is greater than or equal to ya>=b returns False<=Less than or equal to, compare Whether x is less than or equal to ya<=b returns True
Description Instance
##<>
a< ;>b returns True >
a>b returns False <
a
Assignment operator
## Operator

DescriptionInstanceAssignment Operator c=a+b, assign the operation result of a+b to c##+=addition copy operatorc += a, etc. Effective for c = c + a-=Subtractive copy operatorc -= a is equivalent to c = c - a*=Multiplicative copy operatorc = a is equivalent to c = c a/=c /= a is equivalent to c = c / a%=Modulo assignment operatorc %= a is equivalent to c = c % a**=Power assignment operator c = a is equivalent to c = c a//=c //= a is equivalent to c = c // aOperation Symbol
=
Division copy operator
Integer division assignment operator
Logical operator

Description

Instanceand"with"a and b returns trueor"or"a or b returns truenot "Not"no(a and b) returns false##Member operatorOperator
Description

not in

赋值语句的语法

inReturns 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)

第一项个最后一项分别赋值给了ac,而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中文网!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:super is not that simpleNext article:super is not that simple