导入单个类
随着不断添加类,可能会使文件变得很长,那么此时,需要将类存储在模块中,然后在主程序导入类即可
book.py
class Book(): '''模拟一本书''' def __init__(self,name,page,year): self.name = name self.page = page self.year = year def get_describe_book(self): '''返回书读的描述信息''' long_name = str(self.year)+' page '+str(self.page)+' '+self.name return long_name
my_book.py
from book import Book my_book = Book('Pride and Prejudice',352,1796) print(my_book.get_describe_book())
上面的代码中,from book import Book即为从book模块导入类Book
在一个模块中存储多个类
虽然同一个模块中的类之间应存在某种相关性,但是可以根据需要在一个模块中存储任意数量的类
class Woman(): '''描述一个女人''' def __init__(self,name,age): self.name = name self.age = age def describe(self): return ("My name is " + self.name + " and I'm "+str(self.age)+"years old" ) class Man(): '''描述一个男人''' def __init__(self,name,age): self.name = name self.age = age def describe(self): return ("My name is " + self.name + " and I'm "+str(self.age)+"years old" )
从一个模块中导入多个类
导入上述文件中Woman与Man类
from people import Man,Woman Alice = Woman('Alice',32) print(Alice.describe()) Alice = Man('zhangsan',23) print(Alice.describe())
导入整个模块
上面导入类非常的麻烦,你得知道这个模块中类的名字才可以导入,为了便捷,我们可以直接导入整个类
import people Alice = people.Woman('Alice',32) print(Alice.describe()) Alice = people.Man('zhangsan',23) print(Alice.describe())
同时也可以使用:from people import *(不推荐使用)
如果A模块依赖B模块,B模块依赖C模块,那么可以先将C导入到B模块,然后再导入到A模块