day16

  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('账号')

你可能感兴趣的:(day16)