⼀、Python数据类型转换
1、Python中的数据类型
Python中的数据类型:数值类型、布尔类型、字符串、元组、列表、字典、集合问题
2、了解Python数据类型的转换⽅法
| 函数 | 说明 |
| int(x) | 将x转换为一个整数 |
| float(x) | 将x转换为一个浮点数 |
| str(x) | 将对象x转换为字符类型 |
| eval(str) |
用来计算在字符串中的有效Python表达式, 并返回一个对象 |
| tuple(s) | 将序列s转换为一个元组 |
| list(s) | 将序列s转换为一个列表 |
案例1:把⽤户输⼊的幸运数字,转换为整型
num = input('请输⼊您的幸运数字:')
print(type(num))
# 数据类型转换,把str字符串类型转换为int类型
print('-' * 20)
num = int(num)
print(type(num))
以上代码还可以简写为:
num = int(input('请输⼊您的幸运数字:'))
print(type(num))
案例2:多种数据类型转换
# 1、整型转浮点类型 int => float
num1 = 10
print(float(num1))
print(type(float(num1)))
print('-' * 20)
# 2、浮点类型转换为整型 float => int,浮点转整型,其⼩数点后的数据会丢失!!!
num2 = 18.88
print(int(num2))
print('-' * 20)
# 3、把字符串类型转换为整型或浮点类型
str1 = '20'
str2 = '10.88'
print(type(int(str1)))
print(type(float(str2)))
案例3:eval()⽅法的使⽤,把字符串中的数字转换为原数据类型
price = input('请输⼊您购买商品的价格:')
print(eval(price))
print(type(eval(price)))
3、总结
数据类型转换⽅法⼀共学了4个⽅法:
int() :转整型
float() :转浮点类型
str() :转字符串类型
eval() :把字符串转换为原数据类型
记住: ① 如果⼀个字符串 * 数字,代表对这个字符串进⾏复制操作
② 当float浮点类型转换为int整型时,其⼩数点后⾯的数据会丢失,⼀定要记住这个特性。 ③ 字符串转数值类型,字符串中的数据必须是有意义的数值
⼆、Python运算符
1、Python运算符的类型
Python运算符的类型:算术运算符、赋值运算符、复合赋值运算符、比较运算符、逻辑运算符
2、算术运算符
所谓的算数运算符就是我们⽇常⽣活中的加减乘除等。

案例1:了解⼀下算术运算符
num1 = 10
num2 = 2
# 四则运算 + – * /
print(f'加:{num1 + num2}')
print(f'减:{num1 – num2}')
print(f'乘:{num1 * num2}')
print(f'除:{num1 / num2}')
案例2:和其他编程语⾔不太相同的⼏个算术运算符
num1 = 20
num2 = 6
num3 = 5
# 1、整除
print(f'整除:{num1 // num2}')
# 2、求余数
print(f'余数:{num1 % num2}')
# 3、幂指数
print(f'幂指数:{num2 ** 3}')
# 4、圆括号
print(f'优先级:{(num1 + num2) * num3}')
3、算术运算符案例:求梯形的⾯积
a = float(input('请输⼊上底:'))
b = float(input('请输⼊下底:'))
h = float(input('请输⼊⾼:'))
s = (a + b) * h / 2
print(f'梯形的⾯积:{s}')
算术运算符的使⽤注意点
(1)+运算:+号左右必须为数字类型的值,否则不能参与运算
(2)+运算:运⾏浮点数据时会有精度问题,原因是⼆进制与10进制相互转换时有精度丢失
解决⽅法:使⽤Decimal()⽅法
使⽤四合五⼊⽅式round(浮点数对象, 2)保留⼩数点后两位
4、赋值运算符
| 运算符 | 描述 | 实例 |
| = | 赋值 |
将=右侧的结果赋值 给等号左侧的变量 |
案例1:给多个变量赋值操作
n = 5
f = 10.88
s = 'hello world'
print(n)
print(f)
print(s)
简写为:
n, f, s = 5, 10.88, 'hello world'
print(n)
print(f)
print(s)
案例2:多个变量赋予相同的值
a = 10
b = 10
简写为:
a = b = 10
5、复合赋值运算符

复合赋值运算符 = 算术运算符 结合 赋值运算符
复合赋值运算符的计算顺序 = 先执⾏算术运算符,执⾏完毕后,把结果在赋值给左边的变量。
案例:综合案例
i = 1
# 相加并赋值,先加1,然后把结果赋值给左边的变量
i += 1
print(f'更新后,i的值为:{i}')
num1 = 9
# 取模并赋值,先求余数,然后在把结果赋值给左边的变量
num1 %= 2
print(f'更新后,num1的值为:{num1}')
num2 = 2
# 幂指数并赋值,先求幂指数,然后把结果赋值给左边的变量
num2 **= 3
print(f'更新后,num2的值为:{num2}')
6、⽐较运算符

特别注意:当我们使⽤⽐较运算符对两个变量进⾏⽐较时,其返回⼀个布尔类型的值。
案例:两个数⼤⼩的⽐较
num1 = 10
num2 = 20
print(num1 > num2) # False
print(num1 < num2) # True
print(num1 >= num2) # False
print(num1 <= num2) # True
print(num1 == num2) # False
print(num1 != num2) # True
7、逻辑运算符(与或⾮)
| and | x and y | 布尔"与": 如果x为False,x and y返回 False,否则它返回y的值。 |
True and False,返回 False |
| or | x or y | 布尔“或":如果x是True,它返回True,否则它返回y的值。 | False or True,返回True。 |
| not | not x | 布尔"非": 如果x为True,返回False。如果x为False,它返回True。 | not True 返回 False,not False返回True |
not就是取反,只有⼀个表达式 not 表达式 ,如果表达式为True,则not以后就返回False。反之,则
返回True。
and :逻辑与,只有当两边的表达式全部为真,则最终结果返回为真,否则返回为假。
or :逻辑或,只要有⼀⽅为真,则整个表达式的返回结果就为真。除⾮两边的表达式都为假,则整个结果返回为假。
逻辑与、或、⾮,其最终的返回结果也是⼀个布尔类型的值,True或False。另外在实际⼯作中,逻辑运
算符也主要和if分⽀结构相结合。
案例:
b = 2
c = 3
print((a > b) and (b > c)) # False
print((a > b) or (b > c)) # False
print((a < b) or (b > c)) # True
print(not (a > b)) # True



