Appearance
类型转换
- 不同类型数据相互转换
转成数字
- 字符串必须为数字字符串才能转数字,否则报错
python
str1 = '123'
int1 = int(str1)
print(int1,type(int1)) # 123 <class 'int'>
str2 = '123.456'
float1 = float(str2)
print(float1,type(float1)) # 123.456 <class 'float'>转成字符串
python
int1 = 456
str1 = str(int1)
print(str1,type(str1)) # 456 <class 'str'>
float1 = 123.456
str2 = str(float1)
print(str2,type(str2)) # 123.456 <class 'str'>
dict1 = {'name': 'John', 'age': 30}
str3 = str(dict1)
print(str3,type(str3)) # {'name': 'John', 'age': 30} <class 'str'>
list1 = [1, 2, 3]
str4 = str(list1)
print(str4,type(str4)) # [1, 2, 3] <class 'str'>
tuple1 = (1, 2, 3)
str5 = str(tuple1)
print(str5,type(str5)) # (1, 2, 3) <class 'str'>转成列表
- 支持转换列表的类型 str,tuple,set
python
tuple1 = (1, 2, 3)
list1 = list(tuple1)
print(list1) # [1, 2, 3]
string1 = "hello"
list2 = list(string1)
print(list2) # ['h', 'e', 'l', 'l', 'o']
set1 = {1, 2, 3}
list3 = list(set1)
print(list3) # [1, 2, 3]转成字典
- 支持转换字典的类型 str
python
import json
str5 = '{"key1": "value1", "key2": "value2"}'
dict1 = json.loads(str5)
print(dict1) # {'key1': 'value1', 'key2': 'value2'}eval 转换
- eval() 可以将字符串转换为对象
- eval() 函数执行的代码具有潜在的安全风险。如果使用不受信任的字符串作为表达式,则可能导致代码注入漏洞,因此,应谨慎使用 eval() 函数,并确保仅执行可信任的字符串表达式。
- 不建议使用
python
str1 = '[1, 2, 3]'
list1 = eval(str1)
print(list1,type(list1)) # [1, 2, 3] <class 'list'>
str2 = '{"name": "John", "age": 30}'
dict1 = eval(str2)
print(dict1,type(dict1)) # {'name': 'John', 'age': 30} <class 'dict'>