python中一切皆对象,对象的类型就是类
一、类的成员和命名空间
- 类中的变量是静态变量
- 对象中的变量只属于对象本身,每个对象有属于自己的空间来存储对象的变量
- 当使用对象名去调用某一个属性的时候会优先在自己的空间中寻找,找不到再去对应的类中寻找
- 如果自己没有就引用类的,如果类也没有就报错
- 对于类来说,类中的变量所有的对象都是可以读取的,并且读取的是同一份变量
# 实现一个类,能够自动统计这个类实例化了多少个对象
class Jason:
count = 0
def __init__(self, hight, weight):
Jason.count += 1
self.hight = hight
self.weight = weight
def aloha(self):
pass
info = Jason(171, 180)
print(info.count)
# 类中静态变量的用处
# 如果一个变量是所有的对象共享的值,那么这个变量应该被定义成静态变量
# 所有和静态变量相关的增删改查都应该使用类名来处理,而不应该使用对象名来修改
二、组合
一个类的对象是另外一个类对象的属性
class Student:
def __init__(self, name, age, sex, number, clas, phone):
self.name = name
self.age = age
self.sex = sex
self.number = number
self.clas = clas
self.phone = phone
class Clas:
def __init__(self, cname, begin, teacher):
self.cname = cname
self.begin = begin
self.teacher = teacher
py66 = Clas('python66期', '2020-04-01', '苍老师')
py99 = Clas('python99期', '2020-05-09', '波多老师')
jason = Student('jason', 24, 'man', '94131', py66, 15252767039)
carly = Student('carly', 21, 'woman', '990930', py99, 17717058385)
print(jason.clas.begin)