# __author: han-zhang
# date: 2019/2/13 21:54
class Person:
# 静态字段,属于类,执行时可以通过对象访问也可以通过类访问
country = '中国'
def __init__(self, name):
# 普通字段,属于对象,执行时职能通过对象访问
self.name = name
# 普通方法
def bar(self):
print("bar")
# 静态方法,不用传self,保存再类中,不用self,通过类调用
@staticmethod
def sta():
print("sta")
# 类方法,保存在类中,由类直接调用,cls 当前类
@classmethod
def classmd(cls): # 潜规则cls是类名,不依赖对象
print(cls)
print("class")
# 应用场景
'''如果对象中需要保存一些值,
执行某功能时,需要使用对象中的值--普通方法
不需要任何对象中的值,用静态方法
'''
# 属性,特性
@property
def tat(self):
print("tat")
return 1
# 用于执行obj.per
@property
def per(self):
return 5
@per.setter
def per(self, val):
print(val)
@per.deleter
def per(self):
print(666)
obj = Person("beijing")
obj.per = "123456"
del obj.per
# obj= Person("湖北")
# r=obj.pap
# print(r)
#
# obj.pap="123"
# obj = Person('hube')
# r=obj.tat
# print(r)
# Person.sta()
# Person.classmd()
# print(Person.country)
# p=Person("湖北")
# print(p.country)