数据转换在日常开发中使用频次也是非常高的,了解一下隐式类型转换和显示类型转换。
隐式类型转换:我们对两种不同类型的数据做运算,例如整数类型和浮点型运算,这时候我们需要把整数转换为浮点型,避免数据丢失。
显式类型转换:在显式类型转换中,用户会将对象的数据类型转换为所需的数据类型。我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。
int() 强制转换为整型: x = int(1) # x 输出结果为 1 y = int(2.8) # y 输出结果为 2 z = int("3") # z 输出结果为 3 #float() 强制转换为浮点型: x = float(1) # x 输出结果为 1.0 y = float(2.8) # y 输出结果为 2.8 z = float("3") # z 输出结果为 3.0 w = float("4.2") # w 输出结果为 4.2 #str() 强制转换为字符串类型: x = str("s1") # x 输出结果为 's1' y = str(2) # y 输出结果为 '2' z = str(3.0) # z 输出结果为 '3.0'
常用的运算符大致可以分为算术运算符、赋值、比较和逻辑运算符、二进制与位运算符还有其它运算符。
1、算术运算符
算术运算符,顾名思义,就是在程序中进行数字运算,有加、减、乘、除等,通过运算求得结果。你可以对照后面例子看一下。
>>> 5 + 4 # 加法 9 >>> 4.3 - 2 # 减法 2.3 >>> 3 * 7 # 乘法 21 >>> 2 / 4 # 除法,得到一个浮点数 0.5 >>> 2 // 4 # 除法,得到一个整数 0 >>> 17 % 3 # 取余 2 >>> 2 ** 5 # 乘方 32
现在,让我们尝试用 Python 进行简单的运算。假设我的语文成绩是 86,数学成绩是 72,英语成绩是 90,那么三科的平均分是多少呢?计算过程如下,是不是挺简单的?
print((86+72+90)/3) >>>82.6666666666667
2、赋值与比较
在给变量命名时,变量名称的命名方式是全部使用小写字母,并用下划线区分单词。
正确的命名方式如下。
my_height = 58 my_lat = 40 my_long = 105
多个变量同时赋值时,代码如下。
x = 3 y = 4 z = 5 #等同于 x, y, z = 3, 4, 5
赋值运算符
变量的比较
3、二进制与位运算符 *
4、其它运算符与优先级问题
我们学数学都知道乘法优先于加减法。那么在同时有很多个运算符号的情况下,Python 的处理顺序是什么样的呢?总体顺序如下。
按照这个优先级规则,我们通过下面的练习来体会一下执行过程。
a = 20 b = 10 c = 15 d = 5 e = (a + b) * c / d #( 30 * 15 ) / 5 print "(a + b) * c / d 运算结果为:", e e = ((a + b) * c) / d # (30 * 15 ) / 5 print "((a + b) * c) / d 运算结果为:", e e = (a + b) * (c / d); # (30) * (15/5) print "(a + b) * (c / d) 运算结果为:", e e = a + (b * c) / d; # 20 + (150/5) print "a + (b * c) / d 运算结果为:", e >>> (a + b) * c / d 运算结果为: 90 ((a + b) * c) / d 运算结果为: 90 (a + b) * (c / d) 运算结果为: 90 a + (b * c) / d 运算结果为: 50
虽然 Python 运算符有优先顺序仍然不建议你过分依赖它,因为这会降低程序的可读性。所以在写代码时,我们尽量不要让表达式太复杂。如果表达式确实很复杂,你可以把它分成几个步骤。尝试不依赖优先级规则,而是使用“()”来控制表达式的执行顺序。