Python中的包以及跨目录访问变量和函数(同级目录)
包
1.包是一種管理python模塊命名空間的形式,采用“點(diǎn)語(yǔ)法”,避免文件或者文件夾的命名沖突的情況
可以創(chuàng)建一個(gè)目錄,在目錄下面創(chuàng)建一個(gè)名稱為? __init__.py的文件(前后給兩個(gè)下劃線)
?
也可以直接點(diǎn)擊Python Package直接創(chuàng)建包,自動(dòng)會(huì)生成初始化文件
這樣dir01就叫做包了,而不是一個(gè)普通的文件夾包和普通文件夾的一個(gè)區(qū)別:
? 2.? 包下必須存在一個(gè)文件,名稱為 :__init__.py ,?目前該文件為空,表示當(dāng)前文件夾并不是一個(gè)普通的文件夾,而是一個(gè)包,當(dāng)后期在flask和Django中會(huì)在該文件中寫(xiě)一些項(xiàng)目的配置信息
3.?再創(chuàng)建兩個(gè)包,并且創(chuàng)建兩個(gè)相同名稱的py文件,在dir01中新建moudleDemo.py
在aaa包和bbb包中,新鍵moudle01.py? ?代碼如下
#?需求:? ?在moudleDemo中訪問(wèn)aaa和bbb中的str1和func
然后,進(jìn)行跨包的進(jìn)行訪問(wèn)
# @File : moudleDemo.py"""跨文件訪問(wèn)變量或者調(diào)用函數(shù),則需要指明函數(shù)或者變量的來(lái)源,使用關(guān)鍵字import,格式 import 模塊名自定義一個(gè)py文件,其實(shí)就是一個(gè)模塊,只不過(guò)該模塊是自定義的 """ import aaa.moudle01 import bbb.moudle01 """ 1.書(shū)寫(xiě)模塊的名稱需要注意模塊的路徑【相對(duì)路徑,默認(rèn)的參照路徑是當(dāng)前工程的路徑】 2.模塊的書(shū)寫(xiě)格式:包1...包n.文件名 3.import的作用:表示將指定路徑下的指定模塊中的內(nèi)容從頭到尾加載一遍 """# 訪問(wèn)模塊中的變量和調(diào)用函數(shù) print(aaa.moudle01.str1) aaa.moudle01.func()print(bbb.moudle01.str1) bbb.moudle01.func()""" 打印結(jié)果: aaa~~~start aaa~~~middle aaa~~~end aaa hello~~~aaa bbb hello~~~bbb """模塊的出現(xiàn)可以避免變量,函數(shù),類(lèi)的命名沖突的問(wèn)題
與50位技術(shù)專家面對(duì)面20年技術(shù)見(jiàn)證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的Python中的包以及跨目录访问变量和函数(同级目录)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Python面试题(二)
- 下一篇: Python中的__new__(new函