• Python 类方法、实例方法、静态方法的使用与及实例


    类方法

          使用装饰器@classmethod 第一个参数必须是当前类对象,该参数名一般约定为“cls” (可修改但不建议)通过他来传递类的属性和方法(不能传实例的属性和方法)

    调用:实例对象和类对象多可以调用

    实例方法

         第一个参数必须是实例对象,该参数名要为“self”通过他来传递实例的属性和方法(可传递类的属性和方法)

    调用:实例对象调用

    静态方法

        普通函数就位于类定义的命名空间中,它不会对任何实例类型进行操作,需要使用装饰器@staticmethod定义静态方法

     调用:类对象和实例都可以调用类方法

    通过实例了解

    class Book(object):
        # 类属性
        age = 23
        def __init__(self,title,name='a'):
            self.title = title
            self.name = name
        #类方法
        @classmethod
        def create(cls,title,x):
            book = cls(title=title,name=x)
            return book
        # 静态方法
        @staticmethod
        def cx(x):
            return x
        def add(self):
            print(self.title,self.name)
        def lei(self):
            # 实例访问类变量
            print(self.__class__.age)
        @classmethod
        def lei2(cls):
            # 类方法访问类变量
            print(cls.age)
    
    # 实例化对象
    book = Book("")
    book.add()   # 腾 a
    # 改变实例属性
    book.title="翁婿"
    book.add()   #翁婿 a
    book.lei2()  #23
    print(Book.age) #23
    #修改类属性
    Book.age =55
    print(Book.age)
    # 类调用静态方法
    print(Book.cx(3))
    # 实例调用静态方法
    print(book.cx(4))
  • 相关阅读:
    一个随机数生成函数
    HTTP Post请求过程详解
    md5加密算法c语言版
    android popupwindow 自定义视图
    android 获取顶部状态栏的高度
    android 显示和隐藏输入框
    android tablayout + recycleview 简单使用
    jetpack paging使用
    android 自定义控件 属性配置
    vueLazyload 图片懒加载
  • 原文地址:https://www.cnblogs.com/toby-yu/p/12357445.html
Copyright © 2020-2023  润新知