class Baby():
country='China' #类变量,公共的变量

def __init__(self,name):
print('self的内存地址',id(self))
self.name=name # self代表的就是实例化之后的对象
self.money=5000
self.sex=''

def cry(self): #实例方法
print('哇哇哇')


@property #装饰器 #属性方法 函数并没有入参,结果是函数的返回值
def hhh(self):
return 123456

b=Baby()
# b.hhh() #TypeError: 'int' object is not callable?
print(b.hhh)



class Baby(): #
country = 'China' # 类变量,公共的变量

def my(self): #带了self的方法是实例方法,必须实例化后才能调用
self.name='ZZZ'

def cry(self): #实例方法
print('哇哇哇哇')

@classmethod #类方法
def xm(cls): #cls代表的就是baby
print(cls.country) #通过cls使用类变量
print('我是类方法')
print(cls.name) #它不能调用这个类里面的其他实例方法和实例变量


@staticmethod
def xh():
print('这个是静态方法,它和一个没写在类里面的函数一样')

Baby.xh()
# 静态方法就是一个普通函数,只不过是写在类里面而已
# 它用不了类变量类方法\实例变量\实例方法


Baby.xm() #不实例化直接调用
b=Baby() #实例化
b.xm()

# 类方法
# 1、不用实例化就可以直接调用
# 2、可以通过cls使用类变量
# 3、它不能调用这个类里面的其他实例方法和实例变量



Baby.country='JAPAN' #类变量是可以直通过类名,xxx来修改的
dcg=Baby()
print(dcg.country)
# dcg.country='USA'
# print(dcg.country)
kk=Baby()
print(kk.country)




dcg=Baby('忆昌')
print('dcg的内存地址',id(dcg))
print(dcg.name)
dcg.cry()

zll=Baby('kk')
print('zll的内存地址',id(zll))
dcg.cry()

ty=Baby('tianyu')
print(ty.name)
dcg.cry()


print(dcg.money)
dcg.car='BMW X3'
print(dcg.car)
原文地址:https://www.cnblogs.com/jiadan/p/9090166.html