Python可以使用字典来关联数据,也就是数据与键对应,而不是与数字关联:
#创建空字典,两种方法都可以
cleess={}
palin=dict()
#值与键关联
cleess['Name']='TZ'
cleess['Occupations']=['actor','writer']
palin={'Name':'ZX','Occupations':['tv','comdian']}
#-1最后一项
print(cleess['Occupations'][-1])
#可以动态扩展
cleess['Birthplace']='JS,CHN'
palin['Birthplace']='HN,CHN'
#不会维持插入的顺序
print(palin)
两个输出结果:
writer
{'Birthplace': 'HN,CHN', 'Occupations': ['tv', 'comdian'], 'Name': 'ZX'}
----------------------------
为了降低复杂性,可以将代码及其数据打包在类中:
class Athlete:
def __init__(self,a_name,a_dob=None,a_times=[]):
self.name=a_name
self.dob=a_dob
self.times=a_times
sarah=Athlete('Sarah','2002-6-17',['2:58','2.58','1.56'])
james=Athlete('James')
print(type(sarah))
print(sarah)
print(sarah.dob)
print(james.dob)
输出:
<class '__main__.Athlete'>
<__main__.Athlete object at 0x00000000021BBFD0>
2002-6-17
None
可以继承类:
class NameList(list):
def __init__(self,a_name):
list.__init__([])
self.name=a_name
zx=NameList('ZX')
zx.append('s')
zx.extend(['m','y'])
print(type(zx))
print(zx)
print(zx.name)
for attr in zx:
print(zx.name+' has a '+attr+'.')
输出:
<class '__main__.NameList'>
['s', 'm', 'y']
ZX
ZX has a s.
ZX has a m.
ZX has a y.