Python面向对象之三:类空间与对象空间及类间关系
一、类空间与对象空间
1、相关定义
1、类空间:创建一个类就会创建一个类的名称空间,用来存储类中定义的所有类变量,这些类变量称为类的属性
2、类的属性:分为静态属性和动态属性,静态属性是直接在类中定义的变量,动态属性是类中定义的方法
3、对象空间:创建(实例化)一个对象就会创建一个对象的名称空间,以对象名创建的变量,称为对象的属性。
2、类和对象的添加属性及查询顺序
1、类的查询顺序
class Person():
animal = '高级动物'
soul = '有灵魂'
def __init__(self, country, name, sex, age, hight):
self.country = country
self.name = name
self.sex = sex
self.age = age
self.hight = hight
def eat(self):
print('%s吃饭' % self.name)
def sleep(self):
print('睡觉')
def work(self):
print('工作')
Person.language = '语言'
print(Person.animal)#高级动物
print(Person.language)#语言
print(Person.eat)#<function Person.eat at 0x00000219B7714E50>
分析:
1、类的属性不仅可以在类内部添加,还可以在类的外部添加,如language属性就在类外部添加
2、查找顺序:先从本类空间找,如果找不到,再从父类找…
2、对象的查找顺序
class Person():
animal = '高级动物'
soul = '有灵魂'
name = '如花'
def __init__(self, country, name, sex, age, hight):
self.country = country
self.name = name
self