美文网首页Python基础/高级
python所学--面向对象(oop)--初级魔法方法

python所学--面向对象(oop)--初级魔法方法

作者: 大白python学习分享 | 来源:发表于2018-07-15 14:39 被阅读0次

    1.面向对象编程的介绍

    面向对象就是让对象取帮你做你想做的事情,面向对象编程分为类和对象,类就是一个模块,而对象就是能够具体使用的实例。

    #定义一个类
    class Dog():
        def jiao(self):
        print("汪汪叫")
    #建一个狗的对象
    dahuang = Dog()#dahuang就是狗的实例对象了
    #现在使用类里面的方法就是对象去调用了
    dahuang.jiao()#用那个方法就要用对象去调用
    #用法如下
    对象名.某个方法()
    

    2.面向对象的几个魔法方法

    1.__ init __ 魔法方法
    一个类里面要有属性和方法,init就是去初始化属性

    创建第一个对象的时候系统自动调用init魔法方法,用法如下:

    class Dog():
        def __init__(self):
            #这里就是设定的一个默认属性,这个类中下面的操作可以用self.name
            self.name = "张三"
        def chi(self):
            print("%s在吃饭"%self.name)
    #创建一个对象
    zhangsan = Dog()
    zhangsan.chi()
    #输出以后就是------------------------------
    张三在在吃饭
    

    2.__ str __ 魔法方法
    他就是用来显示你定义的属性

    当你print输出对象的时候系统就会自动调用这个魔法方法,用法如下:

    class Dog():
        def __init__(self):
            self.name = "张三"
        def __str__(self):
            return "我叫%s"%self.name#这里必须有一个return返回值
    zhangsan = Dog()
    print(zhangsan)#只有输出对象的时候系统才会调用str魔法方法
    

    3.__ del __ 魔法方法

    程序结束时或者删对象时系统自动调用del魔法方法,删除对象也可以用del

    class Dog():
        def __del__(self):
            print("死了")
    da = Dog()
    print("as")
    #这个时候是程序结束后调用del方法
    ========================================
    as
    死了
    class Dog():
        def __del__(self):
            print("死了")
    da = Dog()
    del(da)
    print("as")
    #这个时候是删除对象直接就调用了del放法
    ========================================
    死了
    as
    

    下次和大家分享一下继承的知识

    相关文章

      网友评论

        本文标题:python所学--面向对象(oop)--初级魔法方法

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