一,基础运算符

1、算数运算

+:加;-:减;*:乘;/:除;%:取余;**:幂运算;//:整除(小数转化成整数)

详细查看第五项内容python 定义-CSDN博客https://blog.csdn.net/h0039490/article/details/142671145

#加法:有浮点型数据则结果返回浮点型
print('加法 +')
print(1+1) #2
print(1+1.0) #2.0
print(2.5+2.5) #2.0

#减法:有浮点型数据则结果返回浮点型
print('减法 -')
print(1-1) #0
print(1-1.0) #0.0
print(2.5-2.5) #0.0


#乘法:有浮点型数据则结果返回浮点型
print('乘法 *')
print(0*1) #0
print(1*1) #1
print(1*1.0) #1.0
print(2.5*2.5) #6.25
print(2*2.5) #5.0

#除法:无论数据是否整形,结果都会是浮点型
print('除法  /')
# print(1/0) #直接报错提示,终止进程
print(1/1) #1.0 整型相除也会是浮点
print(6/4) #1.5
print(2.5/1) #2.5
print(2.5/2.5) #1.0

#取余:有浮点型数据则结果返回浮点型
print('取余  %')
print(5%2) #1
print(5.1%2) #1.0999999999999996
print(5%2.5) #0.0
print(2%5) #2
print(2%5.1) #2.0

#幂运算:有浮点型数据则结果返回浮点型;负数直接使用,无需括号
print('幂运算  **')
print(2**3) #8
print(2.1**3) #9.261000000000001
print(2**3.5) #11.313708498984761
print(2**-3) #0.125

#整除:有浮点型数据则结果返回浮点型;向下取整数(int是只保留整数部分)
print('整除  //')
print(16//3) #2
print(16//-3) #-3
print(16//3.5) #4.0
print(16//-3.5) #-5.0

2、比较运算

==:等于;!=:不等于;<:小于;>:大于;<=:小于等于;>=:大于等于

运算结果为布尔值(True or False)

print(10==10.0)#只比较值是否相等,不识别类型:True
print(3.14!=3.1415)#True
print(255>170)#True
print(255<170)#False
print(255>=255)#True
print(255<=255)#True

tips: 0<x<100  两个符号同时运行,不分先后(5<x and x<20)

3、逻辑运算

and :与 or :或 ;not :非 

格式:A and B , A or B  , not A

意义:A和B都是表达式,在 逻辑与 情况下,先行判断A的布尔判断是否为真(True), 若为真则继续执行B的布尔判断,以此作为结果;若A为假,则直接结束此语句,结果为假。在 逻辑或 情况下,先行判断A的布尔判断是否为真(True), 若为真则直接结束此语句,结果为真;若A为假,继续执行B的布尔判断,以此作为结果。在 逻辑非 情况下,先行判断A的布尔判断是否为真(True), 若为真则直接结束此语句,结果为真;若A为假,继续执行B的布尔判断,以此作为结果。

#老师列子: and
def fn():
    print("执行了fn")  # 打印
    return 10
def fm():
    print("执行了fm")  # 打印
    return 20
re = fn() and  fm()
print(re)  #20

def fn():
    print("执行了fn")  # 打印
    return 0
def fm():
    print("执行了fm")  # 打印
    return 20
re = fn() and  fm()
print(re)  #20

#老师列子: or
def fn():
    print("执行了fn")  # 打印
    return 10
def fm():
    print("执行了fm")  # 打印
    return 20
re = fn() or  fm()
print(re)  #20

def fn():
    print("执行了fn")  # 打印
    return 0
def fm():
    print("执行了fm")  # 打印
    return 20
re = fn() or  fm()
print(re)  #20

#老师列子: not
def fn():
    print("执行了fn")  # 打印
    return 0
re = not fn()
print(re)  #20
def fn():
    print("执行了fn")  # 打印
    return 10
re = not fn()
print(re)  #20

4、位运算

& :与;|:或;^:异或;~:取反;<<:左移位;>>:右移位

运算结果为布尔值(True or False)

a=79
b=80
b1=-80
print(bin(a)) #0b1001111
print(bin(b)) #0b1010000
print(bin(b1)) #-0b1010000
# & 位与  同位置都为一
print('& 位与')
c=a&b
print(bin(c))#0b1000000  都是1 则取1否则为0
# | 位或
print('| 位或')
c=a|b
print(bin(c))#0b1011111 都是0 则取0否则为1
# ^ 位异或
print('^ 位异或')
c=a^b
print(bin(c))#0b0011111  不同取1,相同则取0
# ~ 取反
print('~ 取反')
c=~b
c1=~b1
print(bin(c))# 0b1010000 变成 -0b1010001
print(bin(c1))#-0b11010000 变成 0b01001111
print(c) #-81
print(c1) #79
# << 左移位
print('<< 左移位')
c=a<<2
print(bin(c))#0b100111100
# >> 右移位
print('>> 右移位')
c=a>>2
print(bin(c))#0b10011
print(c)#19

tips:位运算使用二进制运算,使用十进制数据时,系统换算为二进制,若使用八进制数据则提示字符串不能用于位运算

         左移位直接在右边添加零;右移位直接右边删掉移位位数

         取反操作可使用 ~n = -(n+1) 快速计算;参考:python按位取反(~)_位反 python-CSDN博客

        

5、赋值运算

:赋值;+= :加法赋值;-= :减法赋值;*= :乘法赋值;/= :除法赋值;%= :取模赋值;**= :幂运算赋值;//= :整除赋值

        等同于基础运算部分, 例 x += 2  等价 x=x+2。

tips:没有 a++、 a– 这种自增自减运算符;

二,数据转化

x=10
y=1
print(int(x)) #  转换为十进制整数 10
print(float(x)) #  转换到一个浮点数 10.0
print(bin(x)) #  转换为二进制  0b1010
print(oct(x)) #  转换为八进制  0o12
print(hex(x)) #  转换为十六进制 0xa
print(complex(x)) #  转成实部为x 虚部为0 复数 0  (10+0j)
print(complex(x, y)) #  转成实部为x 虚部为y 复数 0  (10+1j)
print(bool(x)) #  转化为布尔值 True
print(bool(0)) #  转化为布尔值 False

作者:今天又是学习

物联沃分享整理
物联沃-IOTWORD物联网 » python 数据运算

发表回复