python导入类与导入函数,模块基本一样,一个模块fun,其中包含三个类
class Dog(): def __init__(self,name): self.name=name def bark(self): print (self.name +" is barking.") class Cat(): def __init__(self,name): self.name=name def catch_mouse(self): print(self.name + " is catching mouse.") class Horse(): def __init__(self,name): self.name=name def run(self): print(self.name +" is running.")
一、导入单个类
from fun import Dog dog=Dog('husike') dog.bark()
二、导入多个类
多个类之间用逗号分隔
from fun import Dog,Cat dog=Dog('husike') dog.bark() cat=Cat('maomi') cat.catch_mouse()
三、导入整个模块
import fun dog=fun.Dog('husike') dog.bark() cat=fun.Cat('maomi') cat.catch_mouse() horse=fun.Horse('xiaoma') horse.run()
四、导入模块的所有类
虽然不用使用模块名.方式构建对象,但如果文件内容较多,不容易发现类是当前模块中还是引用自fun模块,不易维护,不推荐使用
from fun import * dog=Dog('husike') dog.bark() cat=Cat('maomi') cat.catch_mouse() horse=Horse('xiaoma') horse.run()
五、从一个模块导入另外一个模块
比较复杂,个人感觉暂不需要研究
正如在java中存在很多工具类,jar包,在python中也存在标准库,标准库是一组模块,如collections模块,其包含的OrderedDict可以记录键值对的添加顺序