這個問題涉及到包和模塊管理。包名和模塊名一般是小寫。你的文件是下面的結構,需要創(chuàng)建空文件 b/__init__.py,將b目錄變成package。a/a.py
站在用戶的角度思考問題,與客戶深入溝通,找到元氏網(wǎng)站設計與元氏網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設計與互聯(lián)網(wǎng)技術結合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站制作、做網(wǎng)站、外貿營銷網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名注冊、網(wǎng)絡空間、企業(yè)郵箱。業(yè)務覆蓋元氏地區(qū)。
12
from b.c import indexindex()
b/c.py
12
def index(): print("hello")
b/__init__.pya/a.py 里面有兩種引用方式,相對引用和絕對引用:# 如果a.py是 library,兩種引用方式都可以
1
from ..b.c import index
# 如果a.py是 executable,必須使用絕對引用
1
from b.c import index
如果使用絕對引用,需要確保b所在目錄在PYTHONPATH (sys.path)里面,比如可以這樣執(zhí)行:
1
env PYTHONPATH=. python a/a.py
(1)主程序main.py與模塊程序mod1.py在同一目錄下。
--src
|--mod1.py
|--main.py
直接在main.py中導入模塊mod1.py,即 import mod1 或 from mod1 import *
(2)主程序main.py所在目錄是模塊程序mod.py所在目錄的父目錄。
--src
|--mod1.py
|--main.py
---mod2
?|--mod2.py
先需要在mod2文件夾中建立空文件__init__.py
然后在main.py中導入模塊mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
(3)主程序main.py導入上層目錄中的模塊或其他目錄(平級)下的模塊。
--src
|--mod1.py
---mod2
?|--mod2.py
---sub
?|--main.py
先需要在mod2文件夾中建立空文件__init__.py,而src文件夾下不需要建立
然后進入主程序main.py所在的路徑,執(zhí)行python main.py
在main.py中導入模塊mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
執(zhí)行前在main.py中加入:
import sys
sys.path.append("..")
import mod1
import mod2.mod2
python的內建函數(shù)即是python自帶的函數(shù),這種函數(shù)不需要定義,并且不同的內建函數(shù)具有不同的功能,可以直接使用。
以下是部分內建函數(shù)用法及說明
1、abs(),返回數(shù)字的絕對值。
2、all(),如果集合中所有元素是true或集合為空集合,返回True。
3、any(),如果集合中有一項元素是true,返回True;空集合為False
4、ascii(), 返回一個表示對象的字符串。
5、bin(),將整數(shù)轉換為前綴為“0b”的二進制字符串。
6、bool(),返回一個布爾值,即True或者之一False。
7、bytearray(),返回一個新的字節(jié)數(shù)組。
8、callable(對象)判斷對象參數(shù)是否可被調用(可被調用指的是對象能否使用()括號的方法調用)
9、chr(),返回表示Unicode代碼點為整數(shù)i的字符的字符串。與ord()函數(shù)相反。
推薦學習《python教程》
10、classmethod,將方法轉換為類方法。
11、compile,將源代碼編譯為代碼或AST對象。代碼對象可以由exec()或執(zhí)行eval()。 source可以是普通字符串,字節(jié)字符串或AST對象。
12、dic(),創(chuàng)建一個字典
13、divmod(a,b),將兩個數(shù)作為參數(shù),并在使用整數(shù)除法時返回由商和余數(shù)組成的一對數(shù)
14、enumerate(iterable,start = 0)
enumerate是枚舉、列舉的意思
對于一個可迭代的(iterable)/可遍歷的對象(如列表、字符串),enumerate將其組成一個索引序列,利用它可以同時獲得索引和值
enumerate多用于在for循環(huán)中得到計數(shù)
15、eval,將一個字符串變?yōu)樽值?/p>
16、exec(object [, globals[, locals]])exec語句用來執(zhí)行儲存在字符串或文件中的Python語句
17、filter(功能,可迭代)
filter函數(shù)用于過濾序列
filter()把傳入的函數(shù)依次作用于每個元素,然后根據(jù)返回值是True還是False決定保留還是丟棄該元素。
python中的"import"表示導入的意思。
python中的"import"一般用于導入一些函數(shù)庫,以便于在下面的程序中調用導入的函數(shù)庫里面的函數(shù),類似于c++編程語言里面的include。通常模塊為一個文件,直接使用import來導入就好了??梢宰鳛閙odule的文件類型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
import語句的用途和注意事項
1、通過一定的方式,搜尋要導入的文件。
2、如果需要,就編譯這個文件。
3、運行這個文件。
但是需要注意的是所有這三個步驟,都只是文件再第一次導入的時候才會執(zhí)行,如果文件已經(jīng)導入了,后續(xù)的import會直接從內存里面找到已經(jīng)加載的模塊使用,換句話說此時import不會執(zhí)行上面的3個步驟。