您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

《head first python》——定制数据对象

5b51 2022/1/14 8:25:24 python 字数 11196 阅读 844 来源 www.jb51.cc/python

一、实用字典关联数据 二、定义一个类 每个类都有一个__init__()方法来控制初始化对象,除了__init__(),每个方法第一个参数都是self

概述

一、实用字典关联数据

二、定义一个

每个类都有一个__init__()方法来控制初始化对象,除了__init__(),每个方法一个参数都是self

>> class Athelete:
    def __init__(self):
        self.thing = value
    def how_big(self):
        return(len(self.thing))
>> 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']

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']

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 = 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 = 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.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.

john name is a player.
john name is a student.
john name is a boy.

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

总结

以上是编程之家为你收集整理的《head first python》——定制数据对象全部内容,希望文章能够帮你解决《head first python》——定制数据对象所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶