1.集合
2.类型转换
int():只能将由纯数字组成的字符串转换为整数,将float转换为int时直接模去小数位
float():整数转换为小数点会自动添加一位小数
str():任何类型都可以转换成字符串格式
eval():用来执行一个字符串表达式,返回表达式的值
a = eval(“10+10”)#返回20
如果有一个字符串表示的简单 Python 数据结构(如列表、字典等),可以使用 eval()
将其转换为实际的数据结构 :
str_list = "[1, 2, 3, 4]"
list_obj = eval(str_list)
print(list_obj) # 输出: [1, 2, 3, 4]
str_dict = "{'name': 'Alice', 'age': 25}"
dict_obj = eval(str_dict)
print(dict_obj) # 输出: {'name': 'Alice', 'age': 25}
虽然 eval() 函数非常强大,但它也存在一些潜在的风险,主要是安全方面的问题。由于 eval() 会执行任意的 Python 表达式,如果传入的字符串来自不可信的来源(如用户输入),可能会导致代码注入攻击。
list():可以将可迭代对象(可以使用for循环迭代)(字符串,元组,字典,集合)转化成列表,但在转换字典的时候只会取出键名,集合转换成列表会先去重。
3.可变对象和不可变对象,赋值与深浅拷贝
不可变对象:变量对应的值不能被修改,一但修改就会产生一个新的值从而分配一个新的内存空间,例如整型和字符串元组
可变对象:修改变量的值后内存空间不变,例如字典,列表和集合。深浅拷贝只是针对可变对象