2017-07-07 67 views
0

我有一個名爲test1.py的python文件。 此文件包含幾個classes和幾個functionsPython程序包基礎知識

我打算打包並分發,以便其他人可以通過pip install命令使用它。 從其他職位,我瞭解我們如何建立一個包。

問:當包裝在最終用戶的代碼被導入,使用import <mypackage>命令,

1.可以的功能可以直接通過簡單地寫的函數名稱叫什麼?

2.方法這是類的一部分,是理想的objectname.methodname叫,他們將如何進行現在叫什麼名字?

回答

1

這取決於你如何導入包裝。如果導入包作爲

import test1 

你將不得不調用所有的類和函數與test1.function()。像test1.objectname.methodname()

類的方法如果使用

from test1 import * 

你可以使用函數的名字,但你的命名空間正在與所有的函數名污染。

您也可以使用

from test1 import function1, function2, class1, class2 

要只各自的名字稱呼他們只導入特定的功能或類。

最後一點是您可以使用import test1 as t1使它有點短,調用函數然後可以使用t1.function1()

0

函數來完成將附加到包名。例如:

import numpy 
# Calling the square root function from numpy 
val = 4 
newVal = numpy.sqrt(val) 

# You can also do this, but it is not recommended as it pollutes your name space 
from numpy import sqrt 

# Now I can call sqrt directly 
val = 4 
newVal = sqrt(val) 

類方法的工作方式類似。