class类的实践代码

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()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值