Python基础知识学习-第7天

14-包与模块管理及面向对象初步

1 模块的调用
先新建一个demo文件夹,在此目录下新建3个py文件,分别是main.py, models.py, views.py.
models.py内容如下:

page = 5
def test():
    print('models.test()')

views.py内容如下:

x = 99
def test():
    print('views.test()')

在main.py文件里输入import models就可导入models模块里的成员。

import models
def hello():
    print(models.page)
if __name__ == '__main__':
    hello()
>>>5
import models
def hello():
    print(models.page)
if __name__ == '__main__':
    models.test()
>>>models.test()
import models
import views
def hello():
    print(models.page)
if __name__ == '__main__':
    views.test()
>>>views.test()

import+模块名的话就是把整个模块导入过来,在具体使用的时候需要把模块名写上。
如果使用from+模块名的方式就可以导入某个具体的变量或方法,此时使用不需要写上模块名:

from models import page
import views
def hello():
    print(page)
hello()
>>>5

如果想导入模块内所有的成员,又不想写模块名:

from models import *
import views
def hello():
    print(page)
hello()
>>>5

如果两个模块里有同名成员,可以在调用时把具体模块名带上:

import models
import views
models.test()
>>>models.test()

也可以导入后再取一个名字:

from models import test as m_test
from views import test as v_test
m_test()
>>>models.test()

2 新建一个包a,会自动生成一个__init__.py文件。当导入包a时,此文件会自动执行(每次只会执行一次)。

import a
>>>包a已经被调用

15-面向对象编程OOP

实例:

import datetime

class Book():
    def __init__(self, title, price, author, publisher, pubdata):
        self.title = title
        self.price = price
        self.author = author
        self.publisher = publisher
        self.pubdata = pubdata

    def print_info(self):
        print('当前这本书的信息如下:')
        print('标题:{}'.format(self.title))
        print('作者:{}'.format(self.author))
        print('价格:{}'.format(self.price))
        print('出版社:{}'.format(self.publisher))
        print('出版时间:{}'.format(self.pubdata))

book1 = Book('Python入门', 30.0, 'peter', '清华大学出版社', datetime.date(2020, 2, 4))
book1.print_info()
>>>当前这本书的信息如下:
>>>标题:Python入门
>>>作者:peter
>>>价格:30.0
>>>出版社:清华大学出版社
>>>出版时间:2020-02-04
发布了23 篇原创文章 · 获赞 0 · 访问量 414

猜你喜欢

转载自blog.csdn.net/Mr_Wang0120/article/details/104146283