亲宝软件园·资讯

展开

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

七,随机数

石头剪刀布游戏:

ls=["1,✂ ","2,

加载全部内容

相关教程
猜你喜欢
用户评论