zoukankan      html  css  js  c++  java
  • Python 类的属性再解

    #类的属性
    
    class A():
            #定义一个类的属性,类似于c++中的静态变量
            num=0
    
            def __init__(self):
                    #实例对象属性定义赋值
                    self.name = "hha"
            
            def add(self):
                    #类属性的调用
                    A.num += 1
    
    
    
    a = A()
    
    a.add()
    
    a.add()
    
    print(A.num)
    #类中的方法
    
    
    class Dog():
            #系统默认实例方法
            def __init__(self):
                    self.name = "tom"
    
            #自定义实例方法
            def eat(self):
                    print("eating ...")
    
            #类属性
            age = 12
    
            #类方法的声明
            @classmethod
            def setage(cls):
                    #这里的cls变量表示类变量,可以直接操作类属性,不要和self同名
                    cls.age += 2
    
            #静态方法--类似于c++中的全局函数
            #和类方法的区别是没有cls形参
            @staticmethod
            def show():
                    print("hell world .")
    
    
    
    
    '''
    类方法和静态方法 既可以通过类名调用,也可以通过实例对象调用
    
    类方法主要为了操作类属性
    
    静态方法与类没啥关系,类似于将main函数封装到类中的感觉
    
    '''
    
    d = Dog()
    
    d.eat()
    
    d.setage()
    
    print("-----1------")
    print(Dog.age)
    print(d.age)
    
    Dog.setage()
    
    print("-----2------")
    print(Dog.age)
    
    
    print("----3-----")
    
    d.show()
    
    print("----4--------")
    
    Dog.show()
  • 相关阅读:
    Rocketmq
    HTTPS 证书显示不安全
    js json 转为url参数
    Telnet 安装
    自己配置环境变量不起作用的问题
    Android笔记-Dalvik VM-1
    Fuzzy Logic/Expert System/Control
    PhD第一学期小结
    linux中的>、>>、2>&1、管道命令
    Hyper-v虚拟机设置静态IP
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/9574754.html
Copyright © 2011-2022 走看看