zoukankan      html  css  js  c++  java
  • 【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模块

  • 相关阅读:
    【JAVA
    【Android
    【开发工具
    【开发工具
    【开发工具
    【Android
    【Android
    【JavaEE】之MyBatis查询缓存
    【JavaEE】之MyBatis逆向工程的使用
    新的起点 Entry KINGSOFT
  • 原文地址:https://www.cnblogs.com/OliverQin/p/7892672.html
Copyright © 2011-2022 走看看