python中一個py文件就是一個模塊
從封裝的角度看:
函數(shù)是對功能的封裝
模塊可以通過多個函數(shù)對不同的功能進行封裝攻旦,還可以通過全局變量對數(shù)據(jù)進行封裝
0.模塊的分類: 系統(tǒng)模塊(內(nèi)置模塊)、第三方庫(別人寫的)、自定義模塊
1.模塊的導入
a.import 模塊名 / import 模塊名 as 新的模塊名 --- 可以通過'模塊名.'的方式去使用這個模塊中所有的全局變量
b.from 模塊名 import 全局變量1 as 新名1,全局變量2 as 新名2,... --- 帶入指定模塊中指定的全局變量媳否,導入后直接使用全局變量
注意: 重命名后,原名不能使用
===========導入方式1===========
# import keyword
# import random
# import math
# import test
#
# print(test.test1_a * 3)
# test.test1_a = 200
# print(test.test1_a)
#
# test.test1_func1()
============導入方式2==========
# from random import randint
# print(randint(10, 30))
#
# from test import test1_func1, test1_a
# test1_func1()
#
# print(test1_a)
============導入模塊并重命名==========
# import test as TS
# print(TS.test1_a)
# TS.test1_func1()
# b = 'python'
# from test import b as t_b, test1_a as t_a
#
# print(b, t_b, t_a)
3.導入模塊的原理:當代碼執(zhí)行到import或者from - import的時候,會自動將對應的模塊中的代碼全部執(zhí)行一遍
同一個模塊導入多次不會執(zhí)行多次(放心的導入!)
# print('++++++++++++++')
# import test
# import test
# from test import test1_a
# import test2
#
# print(test1_a, test.test1_func1())
# print('++++++++++++++')
print('mudule:', __name__)
from test2 import yt_sum
print(yt_sum(1, 1))
import PIL
import requests
4.阻止導入: 將需要阻止被別的模塊導入的代碼放到以下if語句中
"""
if name == 'main':
需要阻止導入的代碼段
原理: 每個模塊都有一個屬于自己的name屬性士嚎,用來保存當前模塊的模塊名。默認情況下name的值就模塊對應的py文件
的文件名悔叽。當我們直接運行某個模塊的時候莱衩,對應的模塊的name會自動變成'main',其他模塊是默認值。
"""