zoukankan      html  css  js  c++  java
  • 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("好听的") # ”要会唱好听的歌“
  • 相关阅读:
    SAP组件和支持包的安装
    abap动态内表获取字段名
    ooalv设置保存格式
    READ_TEXT取的文本&变为 <(>&<)>了怎么办
    SAP后台作业相关表
    63013
    ABAP 对内表数据下载到EXCEL的几种方法
    vue 教程
    spring 注解@PathVariable
    MyBatis动态添加—trim标签
  • 原文地址:https://www.cnblogs.com/monica711/p/9857733.html
Copyright © 2011-2022 走看看