python数据运算

1:再说运算符之前先说一下python的数据类型,主要分为整型、浮点型、布尔类型,也是大部分语言具有的数据类型,

     这里面重点说一下在python2.7中整型还分为两种整型和长整型,但是在python3之后不再有长整型,可以通过type方法还查看python的数据类型



print(type(2**64))
print(3.23)
print(56.3E-4)



**代表幂运算就是2的64次方,E代表56.3乘以10的-4次方

2:算数运算符:+,-,*,/,%,**,//



print("整数加法运算结果:",10+3)
print("小数加法运算结果:",10.2+3.5)
print("整数减法运算结果:",10-3)
print("小数减法运算结果:",10.5-3.2)
print("整数乘法运算结果:",10*3)
print("小数乘法运算结果:",9.9*3)
print("整数除法运算结果:",100/3)
print("小数除法运算结果:",9.9/3)
print("整数取余运算结果:",10%3)
print("小数取余运算结果:",8%2.5)
print("整数幂运算结果:",10**2)
print("小数幂运算结果:",5.8**2)
print("整数去整除,返回商的整数部分结果:",9//2)
print("小数去整除,返回商的整数部分结果:",5.4//2)

运算结果如下:
整数加法运算结果: 13
小数加法运算结果: 13.7
整数减法运算结果: 7
小数减法运算结果: 7.3
整数乘法运算结果: 30
小数乘法运算结果: 29.700000000000003
整数除法运算结果: 33.333333333333336
小数除法运算结果: 3.3000000000000003
整数取余运算结果: 1
小数取余运算结果: 0.5
整数幂运算结果: 100
小数幂运算结果: 33.64
整数去整除,返回商的整数部分结果: 4
小数去整除,返回商的整数部分结果: 2.0



3:比较运算符==,!=,<>(也是不等运算),>,<,>=,<=



print("整数等于运算结果:",10==10)
print("小数等于运算结果:",10.0==10)   #这里重点理解一下,目前我还不是很清楚,个人理解是10.0向上转换了,如果有知道,希望留言给与解释
print("小数等于运算结果:",10.0==10.01)
print("整数不等于运算结果:",10!=11)
print("小数不等于运算结果:",10.1!=11)    #其中<>也为不等于运算,这里不再演示
print("整数大于运算结果",10>9)
print("小数大于运算结果",9.7>9)
print("整数大于等于运算结果",10>=9)
print("小数大于等于运算结果",9.7>=9)
print("整数小于运算结果",10<9)
print("小数小于运算结果",9.7<9)
print("整数小于等于运算结果",10<=9)
print("小数小于等于运算结果",9.7<=9)

返回值为布尔类型运算结果如下:
整数等于运算结果: True
小数等于运算结果: True
小数等于运算结果: False
整数不等于运算结果: True
小数不等于运算结果: True
整数大于运算结果 True
小数大于运算结果 True
整数大于等于运算结果 True
小数大于等于运算结果 True
整数小于运算结果 False
小数小于运算结果 False
整数小于等于运算结果 False
小数小于等于运算结果 False



4:赋值运算=,+=,-=,*=,/=,%=,**=,//=



a = 18
print("=运算结果:",a)
a += 3
print("+=运算结果:",a)
a -= 3
print("-=运算结果:",a)
a *= 3
print("*=运算结果:",a)
a /= 3
print("/=运算结果:",a)
a %= 5
print("%=运算结果:",a)
a **= 5
print("**=运算结果:",a)
a //= 5
print("//=运算结果:",a)

运行结果为:
=运算结果: 18
+=运算结果: 21
-=运算结果: 18
*=运算结果: 54
/=运算结果: 18.0
%=运算结果: 3.0
**=运算结果: 243.0
//=运算结果: 48.0



5:逻辑运算and.or,not



a = "333"
b = "444"
c = "333"
#and两个条件都成立
if(a == b and a == c):
    print("true")
else:
    print("false")
#or只要有一个条件成立
if (a == b or a == c):
    print("true")
else:
    print("false")
#isdigit是否只还有数字
#not取反
if (not a.isdigit()):
    print("true");
else:
    print("false")

运行结果如下:
false
true
false


6:身份运算is,is not


a = [1,2,3,4]
print(type(a) is  list)
print(type(a) is not list)

运行结果如下:
True
False



7:位运算&,|,^,~,<<,>>

a = 60;
b = 13;
print(a&b)
print(a|b)
print(a^b)      #相同为0,不同为1
print(~a)       #取反算法195-256的值
print(a >> 1);  #60乘以2的1次方
print(a << 1);
print(a << 3);
print(64 >> 3); #64除以2的3次方
print(60/8)
print(3 << 3)

运行结果如下:
12
61
49
-61
30
120
480
8
7.5
24


 8:三元运算符

a,b,c=1,3,5
d = a if a>b else c
print(d)