美文网首页
Python基础学习Day7-类、对象、魔法方法

Python基础学习Day7-类、对象、魔法方法

作者: 怕热的波波 | 来源:发表于2020-08-05 23:04 被阅读0次

    心得:这次的Python基础学习渐渐开始深入,涉及更多编程类内容,考虑到数据分析方向,可能用不到这么深入的内容,而且现在工作逐渐展开,没有太多时间研究,要等到周末才能花时间看了,可惜了准备材料的小伙伴付出的时间。

    类与对象

    class Turtle:
        #属性
        color = 'green'
        weight = 10
        legs = 4
        shell = True
        mouth = '大嘴'
        
        #方法
        def climb(self):
            print('我正在很努力的向前爬……')
        def run(self):
            print('我正在飞快的向前跑……')
        def bite(self):
            print('有的吃,真满足……')
        def sleep(self):
            print('困了,睡了,晚安,zzz')
    
    tt = Turtle()
    print(tt)
    #<__main__.Turtle object at 0x000002E24358A5F8>
    
    tt.climb()
    tt.sleep()
    #我正在很努力的向前爬……
    #困了,睡了,晚安,zzz
    
    class Mylist(list):
        pass
    lst = Mylist([1,3,4,5,2])
    lst.sort()
    lst
    #[1, 2, 3, 4, 5]
    

    类的方法与普通的函数只有一个特别的区别 —— 它们必须有一个额外的第一个参数名称(对应于该实例,即该对象本身),按照惯例它的名称是 self。在调用方法时,我们无需明确提供与参数 self 相对应的参数。

    class Ball():
        def setname(self, name):
            self.name = name
        def kick(self):
            print('我叫%s, 谁踢我……'%self.name)
    a = Ball()
    a.setname('球A')
    a.kick()
    #我叫球A, 谁踢我……
    
    #魔法方法,自动调用
    class Ball():
        def __init__(self, name):
            self.name = name
        def kick(self):
            print('我叫%s, 谁踢我'%self.name)
    a = Ball('球A')
    a.kick()
    #我叫球A, 谁踢我
    

    组合

    class Fish:
        def __init__(self, x):
            self.num = x
    
    class Turtle:
        def __init__(self, x):
            self.num = x
            
    class Pool:
        def __init__(self, x, y):
            self.fish = Fish(x)
            self.turtle = Turtle(y)
        def print_num(self):
            print('There are %d fish and %d turtle.'%(self.fish.num, self.turtle.num))
    p = Pool(3,5)
    p.print_num()
    #There are 3 fish and 5 turtle.
    

    相关文章

      网友评论

          本文标题:Python基础学习Day7-类、对象、魔法方法

          本文链接:https://www.haomeiwen.com/subject/tgrarktx.html