python结构
小宝的宝呢 人气:0一,算术运算符
+ - * /
print(1+2) 相加 print("1"+"2") 拼接 print("1"+2) 报错,数据类型不同 # /求除数 //求整数 %取模 **幂 print(3/2) 输出1.5 print(3//2) 输出1 print(3%2) 输出1 print(3**2) 输出9
Python中float进行算术运算时,精度丢失问题:
使用Python中的Decimal
模块解决
①.导入Decimal模块
from decimal import Decimal
②.使用
变量 = Decimal("float值")
请注意:float类型的值:必须用双引号包裹
注意:算术运算符的优先级
()高于**高于 * / // %高于 + -
数据库中针对钱,使用Decimal,导入方式如下:
# 单精度(32位)floot # 双精度(64位)double # 计算机的底层都是二进制(小数不能完美转成二进制) # 数据库中如果针对钱 Decimal(10,2) decimal是字符串小数 print(0.2-0.1) print(0.6-0.4) print(Decimal(0.6) - Decimal(0.4)) print(Decimal("0.6") - Decimal("0.4"))
控制台输出:
0.1
0.19999999999999996
0.1999999999999999555910790150
二,赋值运算符
多个变量赋值,格式: 变量1,变量2,变量3 = 值1,值2,值3
a,b,c=1,2,3
多个变量赋相同值,格式:变量1=变量2=变量3=值
a=b=c=1
三,比较运算符
> < >= <= != <>
有a+=1,a/=2,a*=2,a-=2,但是没有a++
注意:比较运算符的特殊情况
四,逻辑运算符
java中的逻辑运算符 : &&并且 //或者
python中的逻辑运算符: and并且 or或者
①and运算符
只要有一个值为0,则结果为0,否则结果为最后一个非0的数字
②or运算符
只有所有的值为0结果才为0,否则结果为第一个非0数字
print(True and False) # 先并且,再或者 print(True and False or True) # 在python中 0为false,其他数字为true print(1 and 2) print(1 and 2 and 0 and 1) print(1 or 2 or 0 or 1)
控制台输出:
False
True
2
0
1
五,位运算符
<< 二进制位数往左边移动
# 6 110 # print(6<<2)即11000即24 print(6<<2)
>> 二进制位数往右边移动
# print(6>>2)即1即1 print(6>>2)
& 按位与:位数都为1,则为1,否则为0
# 6 110 # 3 011 # 010控制台输出2 print(3&6)
| 按位或:位数有1,则为1,否则为0
# 6 110 # 3 011 # 111控制台输出7 print(3|6)
^ 按位异或:位数相同为0,不同为1
# 6 110 # 3 011 # 101控制台输出5 print(3^6)
# 2,4,8,16,32.... # 10,100,10000,10000,100000... # 1,11,111,1111,11111.... print(4&(4-1)) 输出0 print(8&(8-1)) 输出0 print(9&(9-1)) 输出8
二进制:0,1
八进制:0-7
十进制:0-9
十六进制:0-9 a-f
六,条件运算符
# 条件后移 a=1 b=2 print(a if a>b else b)
输出2
七,随机数
- ①.导入random模块,import random
- ②.使用random模块中随机数功能,r
andom.randint
(开始,结束),注意:包含开始位置和结束位置
石头剪刀布游戏:
ls=["1,✂ ","2,
加载全部内容
- 猜你喜欢
- 用户评论