'''
同一种食物有多种形态
例如:动物有多种形态:人/狗/猪
# 特性:我们可以不考虑某一对象具体类型的前提下,直接使用该对象
'''
# 父类有的功能,子类一定有
import abc
# 用abcMeta强制子类使用该方法
class Animal(metaclass=abc.ABCMeta):
@abc.abstractmethod
def speak(self):
pass
# Animal() 不能实例化,他的作用是来制定标准的
class People(Animal):
def speak(self):
print('啊啊啊')
class Dog(Animal):
def speak(self):
print('汪汪汪')
class Pig(Animal):
def speak(self):
print('哼哼哼')
peo1 = People()
d1 = Dog()
p1 = Pig()
def func(animal):
animal.speak()
func(peo1)
func(d1)
func(p1)
一切皆为对象
# 数据类型 == 类
x = 11 # x=int(11)
print(int)
class Foo:
pass
print(Foo)
x = [1,2,3] # list([1,2,3])
y = [111,222] # list([1,2,3])
x.append(4)
y.append(3333)
list.append(x,4)
list.append(y,333)
print(x)
print(y)
print(type(x))