一、实用字典关联数据
二、定义一个类
每个类都有一个__init__()方法来控制初始化对象,除了
>> class Athelete:
def __init__(self):
self.thing = value
def how_big(self):
return(len(self.thing)) 需要注意:self是默认的,类的属性可以在类的参数里定义好
>> class Athelete:
def __init__(self,a_name,a_dob=None,a_times=[]):
self.name = a_name
self.dob = a_dob
self.times = a_times
def add_time(self,time_value):
self.times.append(time_value)
def add_times(self,list_of_times):
self.times.extend(list_of_times)
sarah=Athelete("sarah",'2002-06-07',['a:58','1.56'])
sarah.add_time('3.25')
sarah
<main.Athelete object at 0x000000000553D6A0>
sarah.times
['a:58','1.56','3.25']
与列表区别:Athelete很像列表,区别只是Athelete类包含name和dob对象。
虽然python支持从零建立一个定制类,但也可以继承一个已有类,包括:list、set,并使用他们内置的数据结构
>> class NameList(list):
def __init__(self,a_name):
self.name = a_name
john = NameList("john name")
type(john)
<class 'main.NameList'>
dir(john)
['add','class','contains','delattr','delitem','dict','dir','doc','eq','format','ge','getattribute','getitem','gt','hash','iadd','imul','init','iter','le','len','lt','module','mul','ne','new','reduce','__reduce_ex','repr','reversed','rmul','setattr','setitem','sizeof','str','subclasshook','weakref__','append','clear','copy','count','extend','index','insert','name','pop','remove','reverse','sort']
john能做列表能做的所有事,并且可添加属性:
>> john.append("player")
>>> john.extend(["student","boy"])
>>> for attr in john:
print(john.name+" is a "+ attr + ".")
john name is a player.
john name is a student.
john name is a boy.
实战:
>> testlist = [['1','2009-03-02',3.762146,-8],['1','2009-03-01',3.758066,'2009-01-03',3.76085332653061,['0','2009-12-28',39.759765375,-104.984303125],'2009-12-27',39.70999875,-104.95675168749999],'2009-12-24',39.72202824,-104.96074968],'2009-12-23',39.77230825,-105.0435074375],'2009-12-21',39.77455175,-105.01426466666665],'2009-12-20',39.76241472,-104.90343176000002],['299','2009-08-14',29.894691,-81.314517],'2009-08-13',29.894691000000005,]
>>> class nodeList(list):
def __init__(self,m_1=0,m_2=0,probability=1):
list.__init__([])
self.m_1 = m_1
self.m_2 = m_2
self.probability = probability
def probability(m_1,m_2):
info = a*sum([1/2**i for i in range(m_1)]) +
b*sum([1/2**i for i in range(m_2)])
probability = 1 - info
self.probability = probability
>>> type(testlist[0])
>>> temp = nodeList()
>>> temp.extend(testlist[0])
>>> type(temp)
>>> testlist[0]=temp
>>> type(testlist[0])
>>> testlist[0].m_1
0
>> for item in testlist:
temp = nodeList()
temp.extend(item)
item = temp
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|