Python运算符—成员运算符&赋值运算符

1、成员运算符

成员运算符是用来判断指定元素是否在某一序列中的运算符,系列可以是字符串、列表或元组。成员运算符包括in和not in。

in如果在指定的序列中找到值,则返回真(True),否则返回假(False)。not in如果在指定的序列中没有找到值,则返回真(True),否则返回假(False)。

例子


a = 'gang'
b = 'gan'
name = "badianganghuo"
name1 = ('ba','dian','gang','huo')
name2 = ['ba','dian','gang','huo']
c = 2
d = 3
list = [1,2,3,4]

print('{} in {} 的结果为:{}'.format(a,name,(a in name)))
print('{} not in {} 的结果为:{}'.format(a,name,(a  not in name)))
print('{} in {} 的结果为:{}'.format(a,name,(b in name)))
print('{} not in {} 的结果为:{}'.format(a,name,(b not in name)))

print('{} in {} 的结果为:{}'.format(a,name1,(a in name1)))
print('{} not in {} 的结果为:{}'.format(a,name1,(a  not in name1)))
print('{} in {} 的结果为:{}'.format(a,name1,(b in name1)))
print('{} not in {} 的结果为:{}'.format(a,name1,(b not in name1)))

print('{} in {} 的结果为:{}'.format(a,name2,(a in name2)))
print('{} not in {} 的结果为:{}'.format(a,name2,(a  not in name2)))
print('{} in {} 的结果为:{}'.format(a,name2,(b in name2)))
print('{} not in {} 的结果为:{}'.format(a,name2,(b not in name2)))

print('{} in {} 的结果为:{}'.format(c,list,(c in list)))
print('{} not in {} 的结果为:{}'.format(c,list,(c  not in list)))
print('{} in {} 的结果为:{}'.format(d,list,(d in list)))
print('{} not in {} 的结果为:{}'.format(d,list,(d not in list)))

执行结果:

gang in badianganghuo 的结果为:True
gang not in badianganghuo 的结果为:False
gang in badianganghuo 的结果为:True
gang not in badianganghuo 的结果为:False
gang in ('ba', 'dian', 'gang', 'huo') 的结果为:True
gang not in ('ba', 'dian', 'gang', 'huo') 的结果为:False
gang in ('ba', 'dian', 'gang', 'huo') 的结果为:False
gang not in ('ba', 'dian', 'gang', 'huo') 的结果为:True
gang in ['ba', 'dian', 'gang', 'huo'] 的结果为:True
gang not in ['ba', 'dian', 'gang', 'huo'] 的结果为:False
gang in ['ba', 'dian', 'gang', 'huo'] 的结果为:False
gang not in ['ba', 'dian', 'gang', 'huo'] 的结果为:True
2 in [1, 2, 3, 4] 的结果为:True
2 not in [1, 2, 3, 4] 的结果为:False
3 in [1, 2, 3, 4] 的结果为:True
3 not in [1, 2, 3, 4] 的结果为:False

2、赋值运算符

赋值运算符用来把右侧的变量、常量、值传递给左侧变量或常量。

python中最基本的赋值运算符就是(=),结合其他运算符,(=)还能扩展出更强大的赋值运算符,见下图:

Python运算符—成员运算符&赋值运算符_第1张图片
1)常用的赋值运算符

常用的赋值运算符:简单的赋值运算、加赋值、减赋值、乘赋值、除赋值、取余数赋值、幂赋值、取整数赋值。

意思为与自身进行运算,例如:i+=3,等效于i=i+3;i*=2,等效于i=i*2。

例子


a = 1
print('{}的结果为:{}'.format(a,a))

a = a + 2
print('{}的结果为:{}'.format(a,a))

a += 3
print('+=3的结果为:{}'.format(a))

a -= 4
print('-=4的结果为:{}'.format(a))

a *= 5
print('*=5的结果为:{}'.format(a))

a /= 2
print('/=2的结果为:{}'.format(a))

a %= 3
print('%=3的结果为:{}'.format(a))

a **= 2
print('**=2的结果为:{}'.format(a))

a //= 3
print('//=3的结果为:{}'.format(a))

执行结果:


1的结果为:1
3的结果为:3
+=3的结果为:6
-=4的结果为:2
*=5的结果为:10
/=2的结果为:5.0
%=3的结果为:2.0
**=2的结果为:4.0
//=3的结果为:1.0

2)按位运算

按位与赋值、按位或赋值、按位异或赋值以及左右移运算符,底层都是将运算数先转换成二进制,再进行运算。

例子


a = 3
 
print('-----------按位与赋值----------') 
a_1 = bin(a)
b_1 = bin(2)
print('{}的二进制为:{}'.format(a,a_1))
print('{}的二进制为:{}'.format(2,b_1))

a &= 2
print('&=2的结果为:{}'.format(a))
a_2 = bin(a)
print('{}的二进制为:{}'.format(a,a_2))


print('-----------按位或赋值----------') 
a_2 = bin(a)
b_2 = bin(3)
print('{}的二进制为:{}'.format(a,a_2))
print('{}的二进制为:{}'.format(3,b_2))

a |= 3
print('|=3的结果为:{}'.format(a))
a_3 = bin(a)
print('{}的二进制为:{}'.format(a,a_3))


print('-----------按位异或赋值----------') 
a_3 = bin(a)
b_3 = bin(2)
print('{}的二进制为:{}'.format(a,a_3))
print('{}的二进制为:{}'.format(2,b_3))

a ^= 2
print('^=2的结果为:{}'.format(a))
a_4 = bin(a)
print('{}的二进制为:{}'.format(a,a_4))


print('-----------右移赋值----------') 
a_4 = bin(a)
b_4 = bin(3)
print('{}的二进制为:{}'.format(a,a_4))
print('{}的二进制为:{}'.format(3,b_4))

a >>= 3
print('>>=3的结果为:{}'.format(a))
a_5 = bin(a)
print('{}的二进制为:{}'.format(a,a_5))

 
print('-----------左移赋值----------') 
a_5 = bin(a)
b_5 = bin(3)
print('{}的二进制为:{}'.format(a,a_5))
print('{}的二进制为:{}'.format(3,b_5))

a <<= 3
print('<<=3的结果为:{}'.format(a))
a_6 = bin(a)
print('{}的二进制为:{}'.format(a,a_6))

执行结果


-----------按位与赋值----------
3的二进制为:0b11
2的二进制为:0b10
&=2的结果为:2
2的二进制为:0b10
-----------按位或赋值----------
2的二进制为:0b10
3的二进制为:0b11
|=3的结果为:3
3的二进制为:0b11
-----------按位异或赋值----------
3的二进制为:0b11
2的二进制为:0b10
^=2的结果为:1
1的二进制为:0b1
-----------右移赋值----------
1的二进制为:0b1
3的二进制为:0b11
>>=3的结果为:0
0的二进制为:0b0
-----------左移赋值----------
0的二进制为:0b0
3的二进制为:0b11
<<=3的结果为:0
0的二进制为:0b0

3)取反运算

取反运算也是先转为二进制,再按位取反。

例子:

a = 2
b = ~a
a_1 = bin(a)
b_1 = bin(b)
print('{}的二进制为:{}'.format(a,a_1))
print('{}的二进制为:{}'.format(b,b_1))
print('~{}的结果为:{}'.format(a,b))

执行结果

2的二进制为:0b10
-3的二进制为:-0b11
~2的结果为:-3

关于十进制怎么转为二进制,下次详述。

● ● ●

综上所述
1)成员运算符‘in’ 和 ‘not in’,我们可以确认一个值是否是另一个值的成员。
2)赋值运算符只能针对已经存在的变量赋值,因为赋值过程中需要变量本身参与运算,如果变量没有提前定义,它的值就是未知的,无法参与运算。

参照文章:python运算符

Python运算符—成员运算符&赋值运算符_第2张图片

你可能感兴趣的:(python)