本文是我在学习过程中的笔记,参考菜鸟教程、相关学习视频、书籍。可能存在错误
算术运算
加减乘除(+ 、 -、 *、/ ),幂运算( ** ),取整除(//), 取余除(%)
# 算术运算 加减乘除
print('加法1+1:',1+1)
print('减法900-100:',900-100)
print('乘法900*2:',900*2)
# 除法运算:python版本关系,算完后是一个float类型
print('除法900/2:',900/2)
************执行结果*********************
D:\Python\Python37\python.exe D:/PycharmProjects/pythonProject1/class_4/test.py
加法1+1: 2
减法900-100: 800
乘法900*2: 1800
除法900/2: 450.0
Process finished with exit code 0
幂运算( ** ),取整除(//), 取余除(%)
#整除
print('取整数:',5// 3)
#取余 模运算%
print('取余数:',5%3)
#幂运算 **
print('幂运算2^4',2**4)
*****************执行结果****************
D:\Python\Python37\python.exe D:/PycharmProjects/pythonProject1/class_4/test.py
取整数: 1
取余数: 2
幂运算2^4 16
Process finished with exit code 0
浮点数运算不能精确计算,可使用Decimal提高精度
from decimal import Decimal
# 浮点数运算不能精确
# 如何避免这个问题?
print('直接浮点数运算(精度不够):',100.1-0.2) #计算结果为99.89999999999999
from decimal import Decimal
print("decimal后的结果(精度高)",Decimal("100.1")-Decimal("0.2"))
# Decimal 能够维持很高的精度
# Decimal 函数里接收的是字符串的形式,不要写成数字形式的
**********执行结果*********
D:\Python\Python37\python.exe D:/PycharmProjects/pythonProject1/class_4/test.py
直接浮点数运算(精度不够): 99.89999999999999
decimal后的结果(精度高) 99.9
Process finished with exit code 0
赋值运算
“=” 简单赋值运算 a=b
“+=” 加法赋值运算 a+= b (等同于a=a+b)
“-=” 减法赋值运算 a-=b
“*=” “/=”,有坑,用的时候需要注意
# 赋值运算
name = 'li'
print('简单赋值运算:',name)
# +=
name +="zhang"
print('加法赋值运算:',name)
# -=
age=500
age-=1
print('减法赋值运算:',age)
# *=
name = 'li'
name *= 4 #赋值4次
print(name)
# /=
number = 500
number /=2
print(number)
***************执行结果********************
D:\Python\Python37\python.exe D:/PycharmProjects/pythonProject1/class_4/test.py
简单赋值运算: li
加法赋值运算: lizhang
减法赋值运算: 499
lililili
250.0
Process finished with exit code 0
比较运算
比较运算 > 、 <、 == 、 !=、 >= 、<=
比较运算得到的结果是布尔值
#比较运算 > < == != >= <=
# 比较运算得到的结果是布尔值
print(1 == 3-2) #true
print(4 !='4') #true 数据类型不一样
print(1 > 1) #false
print(1 == 1) #true
print(1 < 2) #true
print(1 >= 1) #true
print(2 <= 2) #true
逻辑运算
逻辑运算 and 、not 、or,返回的也是布尔值
# 逻辑运算 and 、not 、or,返回的也是布尔值
# and 并且,两边都得满足
print(1==1 and 2==2) #true
print(1==1 and 2==3) #false
#or 或者,只要有一个是真
print(1==1 or 2==3) #true
# not 非取反
# 优先级,提高优先级增加()
print (not (1 ==1 ) ) #false
成员运算
成员运算 in 、not in,字符串、列表、字典、元组
# 成员运算 in 、not in
# 字符串、列表、字典、元组
print ('happy' in 'happy day') #true
print (3 not in [1,2,3]) #false
#字典的in是判断KEY值 不是value值
print ('li' in {"name":'li','age':13}) #false
#如果想判断value值,可以使用.values
print ('li' in {"name":'li','age':13}.values()) #true