Python导入类

Posted 奔跑的金鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python导入类相关的知识,希望对你有一定的参考价值。

导入单个类

随着不断添加类,可能会使文件变得很长,那么此时,需要将类存储在模块中,然后在主程序导入类即可

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模块

以上是关于Python导入类的主要内容,如果未能解决你的问题,请参考以下文章

Android android.view.InflateException Binary XML 文件第 16 行:膨胀类片段时出错

Python 常用模块学习

Python如何调用别人写好的脚本

第 7 行的 InflateException 二进制 XML 文件:膨胀类片段时出错

与目录同名的Python导入类[重复]

从boost python模块中的pyside导入类?