• Python3基础18——类与对象


    类与对象
    class 命名规范:首字母大写 驼峰命名 见名知意。类的概念 :具有某一类共同属性和特性的事物,类一般包含 属性以及方法

     1 class Teacher:
     2     name="哒哒"
     3     age="23"
     4 
     5     def coding(self):  # 实例方法(self):意味着这个方法只能实例来调用
     6         print(self.name+"会敲代码")
     7 
     8     def cooking(self):#实例方法
     9         print(self.name+"会做蛋炒饭")
    10 
    11     @classmethod  # 类方法(cls):不可以调用类里面的属性值 如果你要参数 请自己传递参数
    12     def swimming(cls):
    13         print("老师还要会游泳")
    14 
    15     @staticmethod  # 静态方法(普通函数):不可以调用类里面的属性值 如果你要参数 请自己传递参数
    16     def sing():
    17         print("要会唱歌表演给学生看")
    18 
    19 t=Teacher()#实例  隐式的传递
    20 t.cooking()               # 返回“哒哒会做蛋炒饭”
    21 Teacher.coding(t)#显式的传递  不建议使用
    22 Teacher.cooking() #没有实例化报错 missing 1 required positional argument: 'self',正确应该是Teacher().cooking()
    23 #类方法:@classmethod
    24 Teacher.swimming()     # 返回“老师还要会游泳”
    25 t.swimming()           # 返回”老师还要会游泳“
    26 #静态方法:@staticmethod
    27 Teacher.sing()          # 返回“要会唱歌表演给学生看“
    28 t.sing()                # 返回”要会唱歌表演给学生看”
    类里面方法是分为三种,实例方法self 类方法cls 静态方法(普通方法)
    实例和类名都可以直接调用;不同点: 静态方法和类方法 不可以调用类里面的属性值,如果你要参数请自己传递参数。什么时候去定义为静态和类方法?当你的某个函数与其他的类函数 类属性 没有半毛钱关系就可以定义为静态方法和类方法
     1 class Teacher:
     2     def __init__(self, age=23):  # __init__初始化函数没有return 返回值,实例方法一般不传动态参数和关键字参数,
     3         self.age = age
     4         self.height = 180
     5 
     6     def cooking(self):
     7         print("%s岁的老师还要会做饭" % self.age)
     8 
     9     @classmethod  # 类方法
    10     def swimming(cls):  
    11         print("老师还要会游泳")
    12 
    13     @staticmethod
    14     def sing(name):  # 普通函数
    15         print("要会唱{0}歌".format(name))
    16 
    17 Teacher(40).cooking()   # “40岁的老师还要会做饭”
    18 Teacher().swimming()    # ”老师还要会游泳“
    19 Teacher().sing("好听的") # ”要会唱好听的歌“
  • 相关阅读:
    idHTTP使用代理IP
    Delphi的TRegistry注册表类方法详解
    判断WebBrowser是否加载完成.
    vs2010 安装记
    Delphi中destroy, free, freeAndNil, release用法和区别
    IdHTTP处理HTTP 302遇到的问题
    passcal 多线程例子,线程管理,创建,暂停,中止,等待等。。。
    passcal try嵌套
    passcal 编写多线程程序
    用一个 Byte 数表示 8 个复选框的选择状态
  • 原文地址:https://www.cnblogs.com/monica711/p/9857733.html
Copyright © 2020-2023  润新知