Python学习-数据运算

在Python中有丰富的算术运算,这使得Python在科学计算领域有着很高的地位,Python可以提供包括四则运算在内的各种算术运算。

 1 a = 10
 2 b = 20
 3 print(a+b)       #30
 4 print(a-b)       #-10
 5 print(a*b)       #200
 6 print(a*b)       #200
 7 print(a/b)       #0.5
 8 print(a%b)       #10,返回余数
 9 print(a**b)       #10^20
10 print(a//b)       #0,取整,返回商的整数部分
11 
12 print(a and b)    #与操作,返回值为20
13 print(a or b)    #或操作,返回值为10
14 print(not(a and b))    #非操作,返回值为false

三元运算:

结果 = 值1  if 条件 else 值2

结果的取值由条件进行控制,如果条件为真,即成立,值1的赋值给结果,如果条件为假,即不成立,值2的赋值给结果。

1 #三元运算:结果 = 值1 if 条件 else 值2
2 a,b,c = 1,3,5
3 d = a if a > b else c
4 print(d)     #5

 进制转换:

表示各进制的符号: 
b:二进制,o:八进制,d:十进制,x:十六进制 
bin()、oct()、hex()返回值均为字符串,且分别带有0b、0o、0x前缀。 
hex函数比格式化字符串函数format慢,不推荐使用。 eval函数比int函数慢,不推荐使用。

二进制、十六进制、八进制之间的转换,可以借助十进制这个中间值,即先转十进制再转其他进制,也可以直接使用函数进行转换。
 1 #进制转换
 2 print(bin(10))      #十进制转二进制:0b1010,其中0b表示二进制
 3 print('{0:b}'.format(10))    #1010
 4 
 5 print(oct(12))      #十进制转八进制:0o14,其中0o表示八进制
 6 print('{0:o}'.format(12))     #14
 7 
 8 print(hex(12))      #十进制转十六进制:0xc,其中0x表示十六进制
 9 print('{0:x}'.format(12))     #c
10 
11 print(int('1010',2))  #二进制转十进制:10,其中int中的两个参数分别为要转换的数和该数的进制
12 print(eval('0b1010'))   #10
13 
14 print(int('014',8))   #八进制转十进制:12
15 print('{0:d}'.format(0o14))     #12,需要强调14为八进制的14,所以应该表示成0o14
16 
17 print(int('0xc',16))    #十六进制转十进制:12
18 print(eval('0xc'))     #12

在使用format格式化输出进行进制转换时,例如:'{0:d}'.format(0o14),其中'd'代表目标进制符号,也就是需要转换成的进制,format括号内部,当被转换数不为十进制数时,需要在被转换数前面加上进制符号,如0x,0o,0b等,分别表示被转换的数为十六进制形式、八进制形式和二进制形式。

 

  

  

 

posted @ 2018-03-27 19:59  偶尔写点代码  阅读(242)  评论(0编辑  收藏  举报