• python 类方法 静态方法


    属性:

      公有属性  (属于类,每个类一份)

      普通属性  (属于对象,每个对象一份)

      私有属性    (属于对象,跟普通属性相似,只是不能通过对象直接访问) 

    方法:(按作用)

      构造方法

      析构函数

    方法:(按类型)

      普通方法

      私有方法(方法前面加两个下划线)

      静态方法

      类方法

      属性方法

    静态方法

    @staticmethod
    静态方法,通过类直接调用,不需要创建对象,不会隐式传递self

    类方法

    @classmethod
    类方法,方法中的self是类本身,调用方法时传的值也必须是类的公有属性,
    就是说类方法只能操作类本身的公有字段

    class Dog(object):
        food = "gutou"
        age = "1"
        def __init__(self, name):
            self.NAME = name
        @classmethod
        def eat(self,age): #只能是类中的变量
            # print(self.NAME)
            print(age)
            print(self.food)
    
        @classmethod
        def eat1(self, age):  # 只能是类中的变量
            # print(self.NAME)
            age = "2"
            self.food = "tang"
        @staticmethod
        def print_1():
            print(Dog.food, Dog.age)
    
    d = Dog("labuladuo")
    d.eat(Dog.age)    #通过对象调用
    Dog.eat(Dog.age)  #通过类调用
    print("-----1-----")
    d.eat1(Dog.age)
    Dog.print_1()
    print("--------2-------")
    Dog.eat1(Dog.age)
    Dog.print_1()

    output:

    1
    gutou
    1
    gutou
    -----1-----
    ('tang', '1')
    --------2-------
    ('tang', '1')

  • 相关阅读:
    search方法的使用
    边界字符的使用
    重复数量限定符
    常用匹配符
    使用JS快速读取TXT文件
    基于jq和纯js的 读取本地.txt文件的方法
    Linux中的du和df命令
    HSSFWorkbook
    el表达式
    eclipse 导入web项目时常见错误
  • 原文地址:https://www.cnblogs.com/nevermore29/p/10843981.html
Copyright © 2020-2023  润新知