python 中关于 类变量, 实例变量, 静态方法,类方法,全局变量,局部变量的理解

一个程序帮助你理解类中的一些基本的概念!

a = 1 #(全局变量)


def say():
    print('调用了全局方法')


class People():
    global a
    a = 100 #类中定义一个全局变量, 因此不再是类的数据属性
    b = 123 # 类中的数据属性,也是一种变量

    def __init__(self): 实例初始化
        self.a = 10000


    @classmethod
    def talk(cls): # 静态方法,用类名调用函数属性
        print('这里是类方法')

    def say(self): 函数属性
        print('调用了类里面的方法')

    @staticmethod
    def tool(): # 类的工具包,实例和类都可以调用
        print('来自类的工具包')

    def do(self):
        say() 外部函数的调用
        self.say() 实例函数的调用
        print('a = ', a) 全局变量
        print('self.a = ', self.a) 实例的数据属性
        print('self.b = ', self.b) 实例调用类的数据属性
        print('People.b = ', People.b) # 类调用数据属性
p = People()
p.do()

〉〉〉
调用了全局方法
调用了类里面的方法
a =  100
self.a =  10000
self.b =  123
People.b =  123

实际上类中的变量还是很灵活的,还可以形参角度,实例化时给予不同的数据结构 --- 数,字符串,BOOL值,函数,类的实例化等

我这里还没总结好

猜你喜欢

转载自www.cnblogs.com/vincent-sh/p/12796278.html