元组与列表的区别
1.元组是不可变的,而列表是可变的。
2.元组与列表的声明不同。
3.元组一般表示不同类型的数据,列表一般表示相同类型数据的集合。例如表示一个点的位置用元组,表示一系列点则用列表。
4.元组和列表之间可以相互转换。
tuples = (‘A’,‘B’,‘C’)#元组的声明
lists=[‘A’,‘B’,‘C’].#列表的声明Tuple = tuple(lists)#列表转换为元组List = list(tuples)#元组转换为列表
point = (1,1)#表示一个点,x,y为不同数据类型(横纵坐标)
points = [(1,1),(2,2),(3,3)]#表示一系列点,不同点数据类型是相同的
将两个列表组成一个字典
list_a = ['zhangsan', 'lisi', 'wangwu']
list_b = ['14', '42', '23']
dicts = dict(zip(list_a, list_b))
print(type(dicts))
print(dicts)
# 输出结果
>>> <class 'dict'>
{'zhangsan': '14', 'lisi': '42', 'wangwu': '23'}
@property是python的一种装饰器,是用来修饰方法的。
作用:
我们可以使用@property装饰器来创建只读属性,@property装饰器会将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改。
class DataSet(object):
@property
def method_with_property(self): ##含有@property
return 15
def method_without_property(self): ##不含@property
return 15
l = DataSet()
print(l.method_with_property) # 加了@property后,可以用调用属性的形式来调用方法,后面不需要加()。
print(l.method_without_property()) #没有加@property , 必须使用正常的调用方法的形式,即在后面加()