python在处理数据时,不可避免的要进行数据类型之间的转换,诸如整型和字符串之间的转换。
2.5 类型转换
转换有隐式和显式转换,隐式也称自动转换,不用做处理。显示转换,也称为数据类型的强制类型转换,通过内置函数实现。
1.转为整型
通过内置函数int(x [,base]),可把x值转为整数。其中base是进制,默认是10进制。
|
输出结果
|
转换是不是都会成功?–不一定,像字符串内容,比如“酷”,就没办法转成整数。有时候扮酷,是需要付出代价的。
|
输出结果
|
既然有异常,那得处理。可在转换前,通过isdigit()函数判断字符串内容是否全是数字,是才转换,不是的话,做其他处理。这里提前剧透条件语句。
|
输出结果
|
2.转为浮点型
通过float(x),把x值转为浮点型。
|
输出结果
|
字符串转为浮点数的过程中,也存在不成功的情况。可惜Python没有直接的函数,可以判断是否为浮点数。最简单直接的判断方法,就是用捕捉异常的方法进行处理。
|
输出结果
|
3.转为布尔型
在Python里,整型、浮点型、字符串都可以转为布尔类型。除了0为False,其他的全为True。其中字符串记得用eval()取得表达式,否则”0”返回的是True。因为“0”不是0。
|
输出结果
|
4.转为字符串
通过str(x)函数把x内容,转为字符串,x是指定对象,包括整型、浮点数、数组等等。
|
好的,类型转换到这就告一个段落了,下面,我们进入运算符。
2.6 运算符
一进入小学,咱们就与算术结下了不解之缘,从手算、心算到口算,越算越聪明,越聪明越算,沉迷在算术的世界。可是自从了计算机以后,连写字都懒了,更别提算术了。
谁叫计算机除了可以进行加减乘除算术运算外,还可以进行左边值与右边值的比较运算,再者还可以通过and、or、not运算符进行的逻辑运算呢。
1.算术运算
算术运算,就是通过+、-、*、%、//符号进行加减乘除、取余和取模的运算,其中被除数不能为0。
(1) 整数和整数相加减、相乘,结果是整数。除的时候,若出现小数,自动转为浮点数。
|
输出结果
|
(2) 整数和浮点数运算,整数会自动升为浮点数,这就是隐式转换,而用转换函数那些的称作显式转换。
|
输出结果
|
(3) 浮点数和浮点数进行运算时,结果会出现偏差。像20.65-16.25正确答案应为:4.4,结果却是:4.399999999999999 。
|
输出结果
|
(4) 浮点数偏差问题,可以通过Decimal函数进行解决。
|
输出结果
|
(5) 取模取余
通过%进行取余运算,结果返回除法的余数。通过//进行取模运算,结果返回商的整数部分。
|
输出结果
|
(6) 幂运算
通过**进行幂运算,结果返回x的y次幂,跟内置函数pow()相同作用。
|
输出结果
|
(7) 复合赋值
复合运算符是算术运算符和赋值运算符合在一起的一种运算符,主要作用方便改变变量的值,有+=、-= 、*=、/=、%=、//=、**= 这7种。a += b ,表示a = a + b。其他的也类似。
|
输出结果
|
2.比较运算
比较运算,就是通过比较运算符(<、<=、> 、>=、==、!=),对左右两边的对象进行比较,结果返回布尔值:True或False。
|
输出结果
|
3.比较函数
Python3.7内置了比较函数 operator.lt(a, b) 、operator.le(a, b) 、operator.eq(a, b) 、operator.ne(a, b) 、operator.ge(a, b) 、operator.gt(a, b),对应比较运算符,如operator.lt(a, b)对应小于<。 比较运算符一般跟条件语句搭配使用,而用operator.lt(a, b)这种函数,可以直接得到结果布尔True或False)结果。
|
输出结果
|
还有另一种表达形式:operator.lt(a, b) 、operator.le(a, b) 、operator.eq(a, b) 、operator.ne(a, b) 、operator.ge(a, b) ,含义是一样的。
|
输出结果
|
4.逻辑运算
逻辑运算,就是通过与(and)、或(or)、非(not)运算符进行的运算。and表示它的前后条件都成立时,返回True,否则返回False。or表示它的前后条件有一个为True,便返回True,否则返回False。 Not的意思是取相反值,True的not是False,False的not是True。
|
输出结果
|
好了,基础语法到这就全部介绍完了。