zoukankan      html  css  js  c++  java
  • 【Python基础编程231 ● 面向对象 ● 类方法】


     ---------Python基础编程---------

    Author : AI菌


    【内容讲解】  

    一、定义类方法:
    1.在方法定义的那一行的上面,使用@classmethod装饰器
    这个装饰器的作用:
    1)用来表示下面的方法是一个类方法的
    2)在调用类方法时,python解释器会自动把类名传递cls
    2.第一个形参必须是cls,表示类对象,就是那个类名

    二、访问方式:
    1.实例对象.类方法名(实参1,实参2,...)
    2.类对象.类方法名(实参1,实参2,...)(推荐的方式)

    三、特点:
    1.在调用类方法时,python解释器会自动把类对象传递给cls
    2.只能访问类属性或者类方法,不能访问实例属性或者实例方法

    四、什么时候定义一个类方法?
    在方法中只需要访问类属性或者类方法,不访问实例属性或者实例方法.

    【代码演示】

    """
      一、定义类方法:
           1.在方法定义的那一行的上面,使用@classmethod装饰器
             这个装饰器的作用:
                   1)用来表示下面的方法是一个类方法的
                   2)在调用类方法时,python解释器会自动把类名传递cls
           2.第一个形参必须是cls,表示类对象,就是那个类名
    
       二、访问方式:
           1.实例对象.类方法名(实参1,实参2,...)
           2.类对象.类方法名(实参1,实参2,...)(推荐的方式)
       
       三、特点:
           1.在调用类方法时,python解释器会自动把类对象传递给cls
           2.只能访问类属性或者类方法,不能访问实例属性或者实例方法
    
       四、什么时候定义一个类方法?
           在方法中只需要访问类属性或者类方法,不访问实例属性或者实例方法.
       """
    
    
    class Student:
        __conditioner = "格力空调"
    
        def __init__(self, name, age, gender):
            self.name = name
            self.age = age
            self.gender = gender
    
        @classmethod
        def study(cls):
            # 访问类方法
            cls.show()
            # 访问类属性
            print(cls.__conditioner)
    
        @classmethod
        def show(cls):
            print("我是类方法...")
    
    
    # 1.实例对象.类方法名(实参1,实参2,...)
    s = Student("rabbit", 18, "")
    s.study()
    # 2.类对象.类方法名(实参1,实参2,...)
    Student.study()

    【往期精彩】

    ▷【Python基础编程196 ● 读取文件的4种方式】
    ▷【Python基础编程197 ● 读取文件的4种方式】
    ▷【Python基础编程198 ● 读取文件的4种方式】
    ▷【Python基础编程199 ● Python怎么读/写很大的文件】
    ▷【Python基础编程200 ● 读取文件的4种方式】
    ▷【Python基础编程201 ● 读取文件的4种方式】
    ▷【Python基础编程202 ● 读取文件的4种方式】
    ▷【Python基础编程203 ● 读取文件的4种方式】

    【加群交流】



  • 相关阅读:
    Building workspace has encountered a proble
    Eclipse异常关闭,IDE Exception Handler has encountered a problem An internal error has occurred
    jsp中写java代码的方法
    如何在jsp里面写java代码
    jsp中在java里面怎么调文本框里面的值?
    Typescript基本认识
    运行flutter run 报错Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.
    H5+原生webview实现APP的JavascriptBridge的使用
    vue mounted里使用window.onresize报错问题
    关于elmentui 抽屉 el-drawer 的slot插入的内容无法通过ref访问的问题
  • 原文地址:https://www.cnblogs.com/hezhiyao/p/13426289.html
Copyright © 2011-2022 走看看