1、__ str __函数
__ str __函数要求有返回值,必须有return,str函数功能是将对象字符串化。
class Cat:
def __init__(self,name,age):
self.name = name
self.age = age
def __str__(self):
return '名字:%s,年龄:%s' %(self.name,self.age)
cat = Cat('tom',1)
print(cat)
显示效果为:名字:tom,年龄:1
如果没有__str__函数,cat保存的为地址。
2、多继承
python中的类支持多继承,但是不建议使用。
多继承继承的时候,子类可以拥有所有父类的所有的方法和类的字段,但是只能继承第一个父类的对象属性。注意:如果多个父类中有相同的方法,继承第一个父类的方法。
class Animal(object):
def __init__(self, age=0, name='小动物'):
self.age = age
self.name = name
def eat(self):
print('%s在吃东西' % self.name)
class Fly:
def __init__(self, height=0):
self.max_height = height
def fly(self):
print('飞起来')
# 让Bird同时继承Animal类和Fly类
class Bird(Fly, Animal):
def eat(self):
print('在吃虫子')
pass
if __name__ == '__main__':
bird1 = Bird()
# print(bird1.name, bird1.age)
print(bird1.max_height)
bird1.eat()
bird1.fly()
3、包
将多个模块封装到一起,就是包。包就是有一个默认文件__ init __.py的文件夹。
a.import 包.模块
import download.saveData
download.saveData.save_data_json('abc')
b.from 包 import 模块
from download import downloadData
downloadData.http_downoad('一人之下')
c.from 包.模块 import 方法/变量/类
from download.saveData import insert_db
insert_db('账号')