class类的实践代码
class test:
__age = 18
def __init__(self, full, empty):
self.full = full
self.empty = empty
print("我是__init__,你认识我吗?")
def cat(self, name):
print("我是一只猫函数,你知道我的名字叫什么,我告诉你把我叫:{}".format(name))
print("修改前的值", self.age)
self.age = 50
print("修改后的值", self.age)
print("修改前的值", test.age)
test.age = 500
print("修改后的值", test.age)
print(test.age)
def dog(self, name):
print("我是一条狗我的名字叫旺财")
# 内部函数互调要加self
# self.cat(name)
print(test.age)
# 类方法******************************************************************
# 只能出现cls属性 不能出现self,也就是不能调用对象函数!
# 类方法不依赖对象存在,可以不用实例化就可以通过类调用,只能用于类属性和类函数
@classmethod
def mouse(cls):
print("我是一只老鼠我的肚子是空的,我想去找吃的")
# 可以修改类属性的值
print("类中age的值是:", cls.age)
cls.age = 22
print("这是修改后的age值:", cls.age)
# 静态方法*****************************************************************
# 静态方法是无需传递cls、self参数
# 也只能访问类的对象和属性,对象的是无法访问的
# 加载时机同类方法
@staticmethod
def snake():
# 通过类名进行访问
print(test.__age)
# 类方法和静态方法区别
# 装饰器不同,类方法是有参数,静态方法没有参数
# 对象是无法访问的,都可以通过类名进行访问
# 不依赖对象存在
# 实例化类
test1 = test(full=“饱”, empty=“空”)
# 调用对象方法并赋值
test1.cat(“小花”)
print("" * 20, “下面的是dog函数”, "" * 20)
test1.dog(“小花”)
test.mouse()
静态方法的调用,类名+静态函数名 不依赖对象存在
test.snake()