Heim  >  Artikel  >  Backend-Entwicklung  >  Python Full Stack Road Series: Zuweisung und Operatoren

Python Full Stack Road Series: Zuweisung und Operatoren

高洛峰
高洛峰Original
2017-02-09 11:02:061348Durchsuche

Bevor wir mit dem folgenden Artikel fortfahren, werfen wir einen Blick auf mehrere von Python bereitgestellte Operatoren. Definieren Sie zwei Variablen, a und b. Der Wert von a ist 10 und der Wert von b ist 20.

Arithmetische Operatoren

运算符 描述 实例
+ 加,两个对象相加 a+b=30
- 减,两个对象相减,可能会得到负数 a-b=-10
* 乘,两数相称或是返回一个被重复若干次的字符串 a*b=200
/ 除,两个对象相除 b/a=2
% 取膜,返回除法的余数 b%a=0
** 幂,返回x的y次幂 a**b=100000000000000000000L
// 整除余,返回商的整数部分 a//b=0

Vergleichsoperatoren

运算符 描述 实例
== 等于,比较两个对象是否相等 a==b返回False
!= 不等于,比较两个对象是否不相等 a!=b返回True
<> 不等于,比较两个对象是否不相等 a<>b返回True
> 大于,比较x是否大于y, a>b返回False
<小于,比较x是否小于ya
>= 大于等于,比较x是否大于等于y a>=b返回False
<=小于等于,比较x是否小于等于ya<=b返回True

Zuweisungsoperatoren

运算符描述实例
=赋值运算符c=a+b,将a+b的运算结果赋值给c
+=加法复制运算符c += a等效于c = c + a
-=减法复制运算符c -= a等效于c = c - a
*=乘法复制运算符c = a等效于c = c a
/=除法复制运算符c /= a等效于c = c / a
%=取模赋值运算符c %= a等效于c = c % a
**=幂赋值运算符c = a等效于c = c a
//=取整除赋值运算符c //= a等效于c = c // a

Logische Operatoren

运算符描述实例
and"与"a and b返回true
or"或"a or b返回true
not"非"no(a and b)返回false

Mitgliedsbetreiber

运算符描述
in如果在指定的序列中找到值返回True,否则返回False
not in如果在指定的序列中没有找到值返回True,否则返回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)

                                               


Bevor wir mit dem folgenden Artikel fortfahren, werfen wir einen Blick auf mehrere von Python bereitgestellte Operatoren. Definieren Sie zwei Variablen, a und b. Der Wert von a ist 10 und der Wert von b ist 20.

Arithmetische Operatoren

运算符 描述 实例
+ 加,两个对象相加 a+b=30
- 减,两个对象相减,可能会得到负数 a-b=-10
* 乘,两数相称或是返回一个被重复若干次的字符串 a*b=200
/ 除,两个对象相除 b/a=2
% 取膜,返回除法的余数 b%a=0
** 幂,返回x的y次幂 a**b=100000000000000000000L
// 整除余,返回商的整数部分 a//b=0

Vergleichsoperatoren

运算符 描述 实例
== 等于,比较两个对象是否相等 a==b返回False
!= 不等于,比较两个对象是否不相等 a!=b返回True
<> 不等于,比较两个对象是否不相等 a<>b返回True
> 大于,比较x是否大于y, a>b返回False
<小于,比较x是否小于ya
>= 大于等于,比较x是否大于等于y a>=b返回False
<=小于等于,比较x是否小于等于ya<=b返回True

Zuweisungsoperatoren

运算符描述实例
=赋值运算符c=a+b,将a+b的运算结果赋值给c
+=加法复制运算符c += a等效于c = c + a
-=减法复制运算符c -= a等效于c = c - a
*=乘法复制运算符c = a等效于c = c a
/=除法复制运算符c /= a等效于c = c / a
%=取模赋值运算符c %= a等效于c = c % a
**=幂赋值运算符c = a等效于c = c a
//=取整除赋值运算符c //= a等效于c = c // a

Logische Operatoren

运算符描述实例
and"与"a and b返回true
or"或"a or b返回true
not"非"no(a and b)返回false

Mitgliedsbetreiber

运算符描述
in如果在指定的序列中找到值返回True,否则返回False
not in如果在指定的序列中没有找到值返回True,否则返回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中文网!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Super ist nicht so einfachNächster Artikel:Super ist nicht so einfach