其他
多段实例代码详解7大类Python运算符,建议收藏!
导读:本文主要介绍Python运算符。举个简单的例子:4+5=9,其中,4和5被称为操作数,+称为运算符。Python语言支持以下类型的运算符:算术运算符、比较(关系)运算符、赋值运算符、逻辑运算符、位运算符、成员运算符、身份运算符、运算符优先级。下面分别介绍这些运算符的相关内容。
加:两个对象相加 a+b:30
减:得到负数或是一个数减去另一个数 a–b:-10
乘:两个数相乘或是返回一个被重复若干次的字符串 a*b:200
除:x除以y b/a:2
取模:返回除法的余数 b%a:0
幂:返回x的y次幂 a**b:100000000000000000000
取整除:返回商的整数部分(向下取整) 9//2:4 -9//2:-5
a = 21
b = 10
c = 0
c = a + b
print ("1 - c 的值为:", c)
c = a - b
print ("2 - c 的值为:", c)
c = a * b
print ("3 - c 的值为:", c)
c = a / b
print ("4 - c 的值为:", c)
c = a % b
print ("5 - c 的值为:", c)
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b
print ("6 - c 的值为:", c)
a = 10
b = 5
c = a//b
print ("7 - c 的值为:", c)
1 - c 的值为:31
2 - c 的值为:11
3 - c 的值为:210
4 - c 的值为:2.1
5 - c 的值为:1
6 - c 的值为:8
7 - c 的值为:2
1/2
0
1.0/2
0.5
1/float(2)
0.5
等于:比较对象是否相等 (a==b):返回false
不等于:比较两个对象是否不相等 (a != b):返回true
不等于:比较两个对象是否不相等(Python 3已废弃) (a <> b):返回true 这个运算符与!=类似
大于:返回x是否大于y (a>b):返回false
小于:返回x是否小于y。所有比较运算符返回1表示真,返回0表示假。这分别与特殊变量true和false等价 (a<b):返回true
大于等于:返回x是否大于等于y (a>=b):返回false
小于等于:返回x是否小于等于y (a<=b):返回true
a = 21
b = 10
c = 0
if a == b :
print ("1 - a 等于 b")
else:
print ("1 - a 不等于 b")
if a != b :
print ("2 - a 不等于 b")
else:
print ("2 - a 等于 b")
if a < b :
print ("3 - a 小于 b")
else:
print ("3 - a 大于等于 b")
if a > b :
print ("4 - a 大于 b")
else:
print ("4 - a 小于等于 b")
# 修改变量 a 和 b 的值
a = 5
b = 20
if a <= b :
print ("5 - a 小于等于 b")
else:
print ("5 - a 大于 b")
if b >= a :
print ("6 - b 大于等于 a")
else:
print ("6 - b 小于 a")
1 - a 不等于 b
2 - a 不等于 b
3 - a 大于等于 b
4 - a 大于 b
5 - a 小于等于 b
6 - b 大于等于 a
简单的赋值运算符 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
a = 21
b = 10
c = 0
c = a + b
print ("1 - c 的值为:", c )
c += a
print ("2 - c 的值为:", c)
c *= a
print ("3 - c 的值为:", c)
c /= a
print ("4 - c 的值为:", c)
c = 2
c %= a
print ("5 - c 的值为:", c)
c **= a
print ("6 - c 的值为:", c)
c //= a
print ("7 - c 的值为:", c)
1 - c 的值为:31
2 - c 的值为:52
3 - c 的值为:1092
4 - c 的值为:52
5 - c 的值为:2
6 - c 的值为:2097152
7 - c 的值为:99864
按位与运算符:参与运算的两个值,如果两个对应位都为1,则该位的结果为1,否则为0 (a&b)输出结果:12 二进制解释:0000 1100
按位或运算符:只要对应的两个二进位有一个为1时,结果位就为1 (a|b)输出结果:61 二进制解释:0011 1101
按位异或运算符:当两个对应的二进位相异时,结果为1 (a^b)输出结果:49 二进制解释:0011 0001
按位取反运算符:对数据的每个二进制位取反,即把1变为0,把0变为1。~x类似于-x-1 (~a)输出结果:-61 二进制解释:1100 0011 在一个有符号二进制数的补码形式
左移动运算符:运算数的各二进位全部左移若干位,由<<右边的数字指定移动的位数,高位丢弃,低位补0 a<<2输出结果:240 二进制解释:1111 0000
右移动运算符:把>>左边的运算数的各二进位全部右移若干位,由>>右边的数字指定移动的位数 a>>2输出结果:15 二进制解释:0000 1111
a = 60# 60 = 0011 1100
b = 13# 13 = 0000 1101
c = 0
c = a & b;# 12 = 0000 1100
print ("1 - c 的值为:", c)
c = a | b;# 61 = 0011 1101
print ("2 - c 的值为:", c)
c = a ^ b;# 49 = 0011 0001
print ("3 - c 的值为:", c)
c = ~a;# -61 = 1100 0011
print ("4 - c 的值为:", c)
c = a << 2;# 240 = 1111 0000
print ("5 - c 的值为:", c)
c = a >> 2;# 15 = 0000 1111
print ("6 - c 的值为:", c)
1 - c 的值为:12
2 - c 的值为:61
3 - c 的值为:49
4 - c 的值为:-61
5 - c 的值为:240
6 - c 的值为:15
x and y 布尔与:如果x为false,x and y返回false,否则它返回y的计算值 (a and b)返回20
x or y 布尔或:如果x是非0,返回x的计算值,否则返回y的计算值 (a or b)返回10
not x 布尔非:如果x为true,返回false。如果x为false,返回true not(a and b)返回False
a = 10
b = 20
if a and b :
print ("1 - 变量 a 和 b 都为 true")
else:
print ("1 - 变量 a 和 b 有一个不为 true")
if a or b :
print ("2 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("2 - 变量 a 和 b 都不为 true")
# 修改变量 a 的值
a = 0
if a and b :
print ("3 - 变量 a 和 b 都为 true")
else:
print ("3 - 变量 a 和 b 有一个不为 true")
if a or b :
print ("4 - 变量 a 和 b 都为 true,或其中一个变量为 true")
else:
print ("4 - 变量 a 和 b 都不为 true")
if not( a and b ):
print ("5 - 变量 a 和 b 都为 false,或其中一个变量为 false")
else:
print ("5 - 变量 a 和 b 都为 true")
1 - 变量 a 和 b 都为 true
2 - 变量 a 和 b 都为 true,或其中一个变量为 true
3 - 变量 a 和 b 有一个不为 true
4 - 变量 a 和 b 都为 true,或其中一个变量为 true
5 - 变量 a 和 b 都为 false,或其中一个变量为 false
如果在指定的序列中找到值,返回true,否则返回false x在y序列中:如果x在y序列中,则返回True
如果在指定的序列中没有找到值,返回true,否则返回false x不在y序列中:如果x不在y序列中,则返回True
a = 10
b = 20
list = [1, 2, 3, 4, 5 ];
if ( a in list):
print ("1 - 变量 a 在给定的列表list中")
else:
print ("1 - 变量 a 不在给定的列表list中")
if ( b not in list ):
print ("2 - 变量 b 不在给定的列表list中")
else:
print ("2 - 变量 b 在给定的列表list中")
# 修改变量 a 的值
a = 2
if ( a in list ):
print ("3 - 变量 a 在给定的列表list中")
else:
print ("3 - 变量 a 不在给定的列表list 中")
1 - 变量 a 不在给定的列表list 中
2 - 变量 b 不在给定的列表list 中
3 - 变量 a 在给定的列表list 中
is用于判断两个标识符是否引自一个对象 X is y,类似id(x)==id(y),如果引用的是同一个对象,则返回true,否则返回false
is not用于判断两个标识符是否引自不同对象 x is not y,类似id(a)!=id(b)。如果引用的不是同一个对象,则返回结果true,否则返回false
a = 20
b = 20
if ( a is b ):
print ("1 - a 和 b 有相同的标识")
else:
print ("1 - a 和 b 没有相同的标识")
if ( a is not b ):
print ("2 - a 和 b 没有相同的标识")
else:
print ("2 - a 和 b 有相同的标识")
# 修改变量 b 的值
b = 30
if ( a is b ):
print ("3 - a 和 b 有相同的标识")
else:
print ("3 - a 和 b 没有相同的标识")
if ( a is not b ):
print ("4 - a 和 b 没有相同的标识")
else:
print ("4 - a 和 b 有相同的标识")
1 - a 和 b 有相同的标识
2 - a 和 b 有相同的标识
3 - a 和 b 没有相同的标识
4 - a 和 b 没有相同的标识
a = [1, 2, 3]
b = a
b is a
True
b == a
True
b = a[ : ]
b is a
False
b == a
True
指数(最高优先级)
按位翻转,一元加号和减号(最后两个的方法名为+@和-@)
乘、除、取模和取整除
加法减法
右移、左移运算符
位AND
位运算符
比较运算符
等于运算符
赋值运算符
身份运算符
成员运算符
逻辑运算符
a = 20
b = 10
c = 15
d = 5
e = 0
e = (a + b) * c / d# ( 30 * 15 ) / 5
print ("(a + b) * c / d 运算结果为:", e )
e = ((a + b) * c) / d# (30 * 15 ) / 5
print ("((a + b) * c) / d 运算结果为:", e)
e = (a + b) * (c / d);# (30) * (15/5)
print ("(a + b) * (c / d) 运算结果为:", e)
e = a + (b * c) / d;# 20 + (150/5)
print ("a + (b * c) / d 运算结果为:", e)
(a + b) * c / d 运算结果为:90
((a + b) * c) / d 运算结果为:90
(a + b) * (c / d) 运算结果为:90
a + (b * c) / d 运算结果为:50
本文摘编自《Python金融数据挖掘与分析实战》,经出版方授权发布。(ISBN:9787111696506)
推荐语:云创大数据(上市公司)总裁撰写,零基础学会金融数据挖掘,配有案例、视频、代码、数据、习题及答案。
划重点👇
干货直达👇
在公众号对话框输入以下关键词查看更多优质内容!
读书 | 书单 | 干货 | 讲明白 | 神操作 | 手把手大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化AI | 人工智能 | 机器学习 | 深度学习 | NLP5G | 中台 | 用户画像 | 数学 | 算法 | 数字孪生
据统计,99%的大咖都关注了这个公众号👇