一、算术运算符
1、两个数值相加,求加法
注1:小数的+ - * /存在精度丢失问题
精度丢失:数值的运算最终是转成二进制的形式,但是小数不好转成二进制
案例:
a = Decimal("2.3") #导入模块:from decimal import Decimal
b = Decimal("1.9")
c = Decimal("4.2")
print( (a+b) == c) # 精度丢失问题
注2:特殊情况:int类型和bool类型之间自动转换 True 1 False 0
print(int(False))
print(True - False)
2.两个字符串相加,就是拼接功能
3.* / % **【几次幂】 // 【求整】
`print("hello"*2)`
print(3 ** 3)
print(25 ** 0.5) #开跟
print(3 / 2) #跟java不同,java是取整
print(3 // 2)
print(10 % 3)
注3:优先级问题
()高于**高于 * / // %高于 + -
print(2 ** 2 * 3)
print(3 * 2 ** 2)
二、赋值运算符
1.相比java 多了** //
a = 2
print(a)
a = 2
a += 2
print(a)
a = 2
a -= 2
print(a)
a = 2
a *= 2
print(a)
a = 2
a **= 2
print(a)
a = 2
a /= 2
print(a)
a = 2
a //= 2
print(a)
a = 2
a %= 2
print(a)
2.同时给多个变量进行赋多个值
name, age, gender = "红红", 99, "女"
print(name, age, gender)
3.同时给多个变量赋同一个值
#java num1,num2,num3 = 22
num1 = num2 = num3 = 22
print(num1, num2, num3)
三、比较运算符:结果: True False
print(3 > 2)
print(3 > True)
print(ord(",")) #ascii码
print("," > "b") #两个字符串只会比较第一位
print("1" < "2")
print("11" < "2")
print("abc" < "aba")
四、逻辑运算符
Python: and(与) (or)或 not(非)
特殊用法
# 两个整数之间也可以用逻辑运算符:
# and 只要有一个值为0,则结果为0,否则结果为最后一个非0的数字
# or 只有所有的值为0结果才为0,否则结果为第一个非0数字
print(3 and 5)
print(0 or 0)
五、位运算符:
将左右两边的数字转成二进制
&:按位与 都为1才为1
|:按位或 一个为1就为1
^:按位异或 不一样就为1
print(3 & 2)
print(3 | 2)
print(3 ^ 2)
六、三元运算符
java格式:条件?结果1 :结果2
Python:结果1 if 条件 else 结果2
a = 3
b = 2
print("b大") if a < b else print("a大")
七、条件运算符:
if elif else
a = 3
b = 2
if a > b:
print("a大")
else:
print("b大")
age = int(input("请输入您的年龄:"))
if age < 3:
print("宝宝")
# elif (age >= 3) and (age < 18):
elif 3 <= age < 18:
print("少年")
elif age >= 18:
print("青年")
八、循环语句
while for
终止循环:break continue
while 和 for循环都可以结合else使用
i = 1
while i <= 10:
if i == 5:
# i = i + 1
continue
print(f"i={i}")
i = i + 1
else: #循环正常执行完毕,才会执行else中的内容,强行中止的不算
print("ok")
for i in range(10):
print(i)
else:
print("ok")
九、随机数
num = random.randint(0, 2) #导入模块:import random
print(num)