类成员
1.实例方法
对象.方法
2.类方法
@classmethod
类名.方法
3.静态方法
@staticmethod
类名.方法
4. @property 可以把一个方法变成一个属性
1. 函数只能有一个self参数.
2. 需要有返回值
3. 不能赋值
4. 调用的时候, 我们不需要写括号. 直接当成属性变量来⽤就可以了
class Person:
country="中国"
def __init__(self,name,brithday,qq):
#实例变量. 给对象赋值
self.name=name
self.brithday=brithday
self.qq=qq
def chi(self):
print("走,吃去")
@classmethod #申明类方法
def he(cls):
print("喝饮料")
@staticmethod #申明静态方法,相当于在类中定义的一个普通函数
def shui():
print("睡")
@property #把方法变属性
def age(self):
return 2018-self.brithday
p1=Person()
Person.country="China" # 类变量的修改只能通过类名来完成
p1.email=1970664132 添加实例变量-> 字段 -> 属性(java)
p1.chi() #对象.方法
Person.he() #类名.方法 不管用对象还是用类去访问类方法. 默认传递进去的是类
Person.shui() #类名.方法
print(p1.age)

class Person:
def __init__(self, name): # 构造, 创建对象的时候自动调用
self.__name = name # 私有的
print("这里是构造方法")
def init(self):
print("实例方法")
def __chi(self): # 私有的
print("我要吃. 疯狂的吃")
def he(self):
self.__chi() # 内部调用
print("我是喝", self.__name)
p = Person("孙艺珍")
p.he()
# # p.__init__() # 很蠢
# p.init()
# print(p.__name)
私有