classPerson():def__init__(self,name):
self.name = name
deffeed_pet(self,pet):# 不一定是pet类,其他类也可以,但是一定要使用isinatance进行判断,否则会报错ifisinstance(pet,Pet):print('{} like pet {}, nickname is {}'.format(self.name,pet.role,pet.nickname))else:print('No')classPet:
role ='Pet'def__init__(self,nickname,age):
self.nickname = nickname
self.age = age
defshow(self):print('{} is {} years old'.format(self.nickname,self.age))classCat(Pet):
role ='cat'defcatch_mouse(self):print('抓老鼠')classDog(Pet):
role ='dog'defwatch_house(self):print('看家')classTiger:defeat(self):print("eat people")
cat = Cat('huahua',4)
dog = Dog('huihui',7)
tiger = Tiger()
person = Person('guigui')
person.feed_pet(cat)
person.feed_pet(tiger)# Tiger类也可以被接收,python具有一定的多态,
# 文件名为calculate.py# Day-22-01-module模块文件(以后的笔记都将在前两行注明文件名称以及模块文件的编号,没有注明的为主文件)# 函数defadd(*args):iflen(args)>1:sum=0for i in args:sum+= i
returnsumelse:print('2 need')# 变量
number =100# 类classjisuan():deftest(self):print('jisuan')
# Day-22-01-module的主文件
list1 =[1,2,3,4,5,6]import calculate
s = calculate.add(*list1)print(s)# 结果:21
cal = calculate.number
print(cal)# 结果:100
s = calculate.jisuan()
s.test()# 结果:jisuan
# Day-22-01-module的主文件
list1 =[1,2,3,4,5,6]from calculate import add,number,jisuan
s = add(*list1)print(s)# 结果:21
s = s + number
print(s)# 结果:121
s = jisuan()
s.test()# 结果:jisuan