# 类是面对对象语言中独有的。
# 类:可以定义框架(类属性)和对应使用的方法
# 根据类可以构建对象,构造出的对象将满足可以使用该类所有的方法,并且拥有所有的属性
'''格式:
class 类名:
类变量 = 0 #构建计数使用 (非必须)
def __init__(self,属性1,属性2,...): #初始化参数,参数可以作用于全局(非必须)
self.属性1 = 属性1
self.属性2 = 属性2
....
类名.类变量+=1
def 方法1(self):
内置语句1
def 方法2(self):
内置语句2
......
'''
class people:
count = 0
def __init__(self, name, age, sex): # 注意这里init前后是两个下划线
self.name = name
self.age = age
self.sex = sex
people.count += 1
print('构建完成')
def drink(self): # 定义一个drink方法
print('%s like coffee' %self.name)
def sleep(self): # 定义sleep方法
print('%s want to sleep all day,he is %d years old' %(self.name,self.age))
# 根据类构建对象实例:
people1 = people('Jack', 27, 'male') # 格式:对象名=类名(对应属性给予的参数值)
# 根据该构造的对象使用类中所有描述的方法:
people1.drink() # 格式:对象名.方法名()
people1.sleep()
# 查看类变量
print('我是第%d人' % people1.count) # 通过对象访问类变量 格式:对象名.类变量
print('我是第%d人' % people.count) # 通过类来访问类变量 格式:类名.类变量
# 查看对象实例的属性 格式:对象名.属性
print(people1.name)
print(people1.age)
print(people1.sex)
# 修改对象实例的属性 格式:对象名.属性 = 新属性值
print('长大了两岁')
people1.age = 29
print('我 Jack 现在已经%d岁了' %people1.age)
# 构建第二个对象
people2 = people('Tom', 20, 'male')
print(people2.age)
print("我TOM是第%d个人" % people2.count)