9.常用的数据类型转换

常用的数据类型转换

举例

>>> # int(): 将数据转换为 int 类型
... 
>>> str1 = "10"
>>> # int() 默认按10进制转换后显示
... num1 = int(str1)
>>> 
>>> # int() 处理浮点数,只留下整数部分,舍弃小数部分(并不是四舍五入操作)
... num2 = int(3.74)
>>> print(num2)
3
>>> 
>>> """
... num1 = int(str1, 8) # 第二个参数为8,表示按8进制转换后显示,结果为 8
... num1 = int(str1, 16) # # 第二个参数为16,表示按16进制转换后显示,结果为 16
... #01 02 03 04 05 06 07 10
... #01 02 ... 0B 0C 0D 0E 0F 10
... print(num1)
... """
>>> 
>>> # float() 将数据转化为浮点数
... str2 = "3.14"
>>> f1 = float(str2)
>>> print(type(f1))
<class 'float'>
>>> 
>>> f2 = float(10)
>>> print(f2)
10.0
>>> 
>>> # complex() 创建复数: 第一个参数是复数的实部,第二个参数是复数的虚部
... c1 = 10 + 4j
>>> c2 = complex(10, 4)
>>> 
>>> print(c1)
(10+4j)
>>> print(c2) # 等同与c1
(10+4j)
>>> 
>>> # str() : 转换为 字符串类型
... num1 = 10
>>> f1 = 3.14
>>> 
>>> print(type(str(num1)))
<class 'str'>
>>> print(type(str(f1)))
<class 'str'>
>>> 
>>> # repr(): 转换为表达式字符串
... num1 = 10
>>> print(type(repr(num1)))
<class 'str'>
>>> 
>>> 
>>> # eval(): 将字符串形式的数据,转换为原本的类型
... str1 = "3.14"
>>> print(type(eval(str1)))
<class 'float'>
>>> 
>>> str2 = "[10, 20, 30]"
>>> l = eval(str2)
>>> print(type(l))
<class 'list'>
>>> 
>>> 
>>> # chr: 将一个整数转换为对应的 Unicode 字符
... s = chr(1065)
>>> print(s)
Щ
>>> 
>>> # ord :将一个字符转换为对应的字符编码数字
... n = ord("A")
>>> print(n)
65
>>> 
>>> # bin: 将一个整数转换为二进制
... print(bin(1024)) # 0b 开头表示二进制数
0b10000000000
>>> 
>>> # oct:将一个整数转换为八进制
... print(oct(1024)) # 0o 开头表示八进制数
0o2000
>>> 
>>> # hex: 将一个整数转换为十六进制
... print(hex(1024)) # 0x 开头表示十六进制
0x400
>>>

附录:常用字符与ASCII码对照表

# int(x [,base ])     将x转换为一个整数

# 01: int(变量) 转出 int类型
# # 引导用户输入
# a = "2"
# new_a = int(a)
# # 定义一个变量 保存一个数字
# b = 10
# # 求和
# new_a += b
# print(new_a)
# print(new_a)
# 02: 了解即可
# 进制
# 二进制 逢二进一
# 八进制 逢八进一
# 十进制 逢十进一
# 十六进制 逢十六进一(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F)
# # 定义一个变量
# my_str = "11"
# # 数据类型转换
# # int(my_str, 10) ==  int(my_str)
# # 把my_str 看成一个N进制的字符串 转成一个10进制的整数类型
# # ret1 = int(my_str, N)
# ret1 = int(my_str, 16)
# print(type(ret1))
# print(ret1)

# float(x )     将x转换为一个浮点数
# my_str = "3.14"
# # 类型转换
# pi = float(my_str)
# print(type(pi))

# str(x )     将对象 x 转换为字符串
# a = 12345
# b = 3.14
# new_a = str(a)
# new_b = str(b)
# print(type(new_a), type(new_b))

# eval(str)     用来计算在字符串中的有效Python表达式,并返回一个对象
# 01:
# 场景: 请输入您的卡中余额
# money = input("请输入您的卡中余额:")
# print(type(money))

# 需求:如果你是一个浮点数字符串 -> float
# money = 3.14
# 如果你是一个整数字符串 -> int
# money = 123
# ret = eval(money)
# print(type(ret))
# 02:
abc = 10
a = input("请输入:")
# abc
# eval 服务的就是字符串
# 首先干掉字符串两边的引号
# - 查看属于部分在python中有没有数据类型想对应
#      - 如果有 -> 返回对应的类型
#      - 如果没有 -> 查看是否是一个变量的名字
#           - 如果是 返回这个变量的数值
#           - 如果不是 NameError: name 'abc' is not defined
ret = eval(a)
print(type(ret))
# NameError: name 'abc' is not defined 变量名是不存在的
# abc = 10
# print(abc)
原文地址:https://www.cnblogs.com/kangwenju/p/12639286.html