• 为对象定制特有的属性


    class OldboyStudent:
    school='oldboy'

    def choose_course(self):
    print('is choosing course')

    stu1=OldboyStudent()
    stu2=OldboyStudent()
    stu3=OldboyStudent()


    # print(stu1.__dict__)  # 此时的对象返回的是一个空字典,里面没有任何属性,三个对象都是
    # print(stu2.__dict__)
    # print(stu3.__dict__)

    对象的本质就是一个名称空间而已,对象名称空间是用来存放自己独有的名字或属性。
    类中存放的是所有对象共有的属性。

    stu1.name='耗哥'  # 等同于stu1.__dict__["name"] = "耗哥" 等同于往对象里添加属性。
    stu1.age=18
    stu1.sex='male'
    # print(stu1.name,stu1.age,stu1.sex)
    # print(stu1.__dict__) # 打印出来是一个包含三个键值对的字典。


    # 例2
    class OldboyStudent:
    school='oldboy'

    def choose_course(self):
    print('is choosing course')

    stu1=OldboyStudent()
    stu2=OldboyStudent()
    stu3=OldboyStudent()

    def init(obj,x,y,z):
    obj.name=x
    obj.age=y
    obj.sex=z

    # stu1.name='耗哥'
    # stu1.age=18
    # stu1.sex='male'
    init(stu1,'耗哥',18,'male') # 定义一个形参中包含对象obj的函数,将调用类生成的对象当作实参传入给obj。


    class OldboyStudent:
    school='oldboy'


    def __init__(obj, x, y, z): #会在调用类时自动触发
    obj.name = x #stu1.name='耗哥'
    obj.age = y #stu1.age=18
    obj.sex = z #stu1.sex='male'

    def choose_course(self):
    print('is choosing course')

    #调用类时发生两件事(很重要*****)
    #1、创造一个空对象stu1(返回的是空字典)
    #2、自动触发类中__init__功能的执行,将stu1以及调用类括号内的参数一同传入
    stu1=OldboyStudent('耗哥',18,'male') # OldboyStudent.__init__(stu1,'耗哥',18,'male') 前后效果相同
    stu2=OldboyStudent('猪哥',17,'male')
    stu3=OldboyStudent('帅翔',19,'female')



  • 相关阅读:
    服务器开启超线程
    redhat用kickstart.cfg自动安装后,挂载ISO镜像并从中拷贝文件
    关于网卡特性TSO、UFO、GSO、LRO、GRO
    Linux 网卡特性配置ethtool详解
    SecureCRT设置标签显示标题
    关闭SecureCRT的声音
    SecureCRT设置Vim显示颜色
    centos关闭swap分区
    制作CentOS7.6 自动安装ISO镜像光盘
    带阵列卡的机器打开磁盘cache
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9229369.html
Copyright © 2020-2023  润新知