Python Full Stack Road Series: Assignment and Operators

高洛峰
Release: 2017-02-09 11:02:06
Original
1354 people have browsed it

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]
Copy after login
Copy after login

a匹配序列中的第一项,b匹配剩下的内容

>>> a, *b = seq
>>> a, b
(1, [2, 3, 4])
Copy after login
Copy after login

b匹配序列中的最后一项,a匹配序列中最后一项之前的所有内容

>>> *a, b = seq
>>> a,b
([1, 2, 3], 4)
Copy after login
Copy after login

第一项个最后一项分别赋值给了ac,而b获取了二者之间的所有内容。

>>> *a, b, c = seq
>>> a,b,c
([1, 2], 3, 4)
Copy after login
Copy after login

带星号的名称可能只匹配单个的项,但是,总会向其复制一个列表,如果没有剩下的内容可以匹配那么会返回一个空列表:

>>> 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 []
Copy after login
Copy after login

多目标赋值语句就是直接把所有提供的变量名都赋值给右侧的对象

>>> a = b = c = 'As'
>>> a,b,c
('As', 'As', 'As')
# 所引用的值也都是同一个
>>> id(a),id(b),id(c)
(4331109208, 4331109208, 4331109208)
Copy after login
Copy after login

                                               


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]
Copy after login
Copy after login

a匹配序列中的第一项,b匹配剩下的内容

>>> a, *b = seq
>>> a, b
(1, [2, 3, 4])
Copy after login
Copy after login

b匹配序列中的最后一项,a匹配序列中最后一项之前的所有内容

>>> *a, b = seq
>>> a,b
([1, 2, 3], 4)
Copy after login
Copy after login

第一项个最后一项分别赋值给了ac,而b获取了二者之间的所有内容。

>>> *a, b, c = seq
>>> a,b,c
([1, 2], 3, 4)
Copy after login
Copy after login

带星号的名称可能只匹配单个的项,但是,总会向其复制一个列表,如果没有剩下的内容可以匹配那么会返回一个空列表:

>>> 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 []
Copy after login
Copy after login

多目标赋值语句就是直接把所有提供的变量名都赋值给右侧的对象

>>> a = b = c = 'As'
>>> a,b,c
('As', 'As', 'As')
# 所引用的值也都是同一个
>>> id(a),id(b),id(c)
(4331109208, 4331109208, 4331109208)
Copy after login
Copy after login

更多Python全栈之路系列之赋值与运算符 相关文章请关注PHP中文网!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template