zoukankan      html  css  js  c++  java
  • 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')

  • 相关阅读:
    Java网络技术-待续
    Java输入输出技术
    Java数据库技术
    Java安全技术
    Java异常、事件、多线程
    网站产品设计
    C#-委派和事件
    Quartz 触发器(SimpleTrigger&CronTrigger )配置说明 & cronExpression表达式 转
    weblogic出现response already committed(转)
    Weblogic二种修改端口的方法(转)
  • 原文地址:https://www.cnblogs.com/nevermore29/p/10843981.html
Copyright © 2011-2022 走看看