代码改变世界

Python类变量

2019-03-19 10:18  janease  阅读(79)  评论(0)    收藏  举报
'''
面向对象
1,如何构建一个类
class Strue

类:第一个单词大写
函数:两个单词用_分割
类的第一个作用:封装
类调用局变量的时候使用self来调用


方法与函数的区别
方法:设计层面
函数:程序运行,过程的一种称谓

构造函数:
class Strudent():
name = ''
age = 18
def __init__(self):
print('stutus')
def print_file(self):
print('我是:'+ self.name)
print('wojinnian:'+str(self.age))
# 实例化类
Strudent = Strudent()
Strudent.__init__()

执行后展示为
e:\pythonflile\object>python c1.py
stutus
stutus


调用构造函数的时候,默认优先执行构造函数
构造函数无法返回任意一个除none的参数

我们可以在构造函数中传入2个值name,age
class Strudent():
name = ''
age = 18
def __init__(self,name,age):
# 初始化对象的特性
name = name
age = age
 
# print('stutus:'+ name)
# print('age:'+ str(age))

def print_file(self):
print('我是:'+ self.name)
print('wojinnian:'+str(self.age))
# 实例化类
Strudent = Strudent('linxue',18)
# Strudent.__init__()
print(Strudent.name)

类变量 实例变量

实例变量是由对象来的

1,类方法调用使用的是__class__,来调用
2,类方法可以放在其他方法中,调用的时候,实例化后的类在调用类变量的方法就可以
3,# 类方法,使用装饰器@classmethod
@classmethod
def plus_sum(cls):
pass
'''
class Strudent():
# 类变量
sum = 0
def __init__(self,name,age):
# 初始化对象的特性
# 使用self定义对象属性,构成一个完整的实例变量
self.name = name
self.age = age
# __class__来使用类变量
self.__class__.sum += 1
# print('stutus:'+ name)
# print('age:'+ str(age))
print('当前的学生人数为:' + str(self.__class__.sum))

# 类方法,使用装饰器@classmethod
@classmethod
def plus_sum(cls):
# 类方法调用类变量
cls.sum += 1
print(cls.sum)



def do_homework(self):
# self.__class__.sum += 1
# print('当前人数:'+ str(self.__class__.sum))
pass

# 实例化类
# 实例变量
Strudent1 = Strudent('linxue',18)
Strudent.plus_sum()
Strudent2 = Strudent('lin xue',17)
Strudent.plus_sum()
Strudent3 = Strudent('gaopengfei',19)
Strudent.plus_sum()