python怎麼匯入自定義函式python怎麼將自定義函式的變數在外部呼叫

2021-03-06 13:33:57 字數 5695 閱讀 4958

1樓:雪v歌

這個問題涉及到包和模組管理。包名和模組名一般是小寫。你的檔案是下面的結構,需要建立空檔案 b/__init__.py,將b目錄變成package。a/a.py

12from b.c import indexindex()b/c.py

12def index(): print("hello")b/__init__.pya/a.

py 裡面有兩種引用方式,相對引用和絕對引用:# 如果a.py是 library,兩種引用方式都可以

1from ..b.c import index# 如果a.

py是 executable,必須使用絕對引用1from b.c import index如果使用絕對引用,需要確保b所在目錄在pythonpath (sys.path)裡面,比如可以這樣執行:

1env pythonpath=. python a/a.py

python 怎麼將自定義函式的變數在外部呼叫

2樓:英雄傻小

class dayin():

def __init__(self):

self.end = ''

self.end2 = ''

self.end3 = ''

def set_end(self):

self.end = '1'

def set_end2(self):

self.end2 = '2'

def set_end3(self):

self.end3 = '3'

m = dayin()

m.set_end()

m.set_end2()

m.set_end3()

data = [[m.end],[m.end2],[m.end3]]print(data)

1、你的dayin(object)傳了乙個物件,去掉。

2、你在初始化函式__init__裡面寫了引數,所以你在下面m = dayin()必須加引數。我是直接去掉了。預設為""

3、你的變數和函式名稱重複,下面呼叫時會有問題。所以我修改了。

python 自定義函式怎麼用

3樓:cfer去

這個算是python的模組問題。 這樣,舉例: 你有以下的檔案結構 folder (資料夾) |_____a.py |_____b.py 如果你在

版a.py定義乙個函式test(), def test(): print "from a.

py"然後你再權b.py的show()函式中想使用這個函式。 那你要在b.

py中先輸入: fro...

4樓:雙子

是什麼樣的函式呢,能具體說清楚麼?

python怎麼匯入自己寫的包

5樓:北京刑事律師

包(packages)其實也是模組,其型別type也是module。通常引用自定義模組時有兩種方法:

1)將62616964757a686964616fe58685e5aeb931333363393130

兩個檔案放在同一目錄下。

2)在sys.path下新增要引用的py檔案的路徑。然後import。

這樣的做法,對於少數檔案是可行的,但如果程式數目很多,層級很複雜時就比較麻煩了。此時用package就能將多個py檔案組織起來,類似於第三方包一樣的引用。要方便很多。

package的層次結構與程式所在目錄的層次結構相同,且必須包含乙個__init__.py的檔案。__init__.

py可以為空,只要它存在就表明此目錄被作為乙個package處理。

package1/

__init__.py

subpack1/

__init__.py

module_11.py

module_12.py

module_13.py

subpack2/

__init__.py

module_21.py

module_22.py

……__init__.py可以為空,只要它存在,就表明此目錄應被作為乙個package處理。當然,__init__.py中也可以設定相應的內容。

好了,現在我們在module_11.py中定義乙個函式:

def funa():

print "funca in module_11"

return

一.引用模組

在頂層目錄(也就是package1所在的目錄,當然也參考上面的介紹,將package1放在直譯器能夠搜尋到的地方)執行python:

>>>from package1.subpack1.module_11 import funca

>>>funca()

funca in module_11

這樣,我們就按照package的層次關係,正確呼叫了module_11中的函式。

二.使用萬用字元*,匯入某個module中的所有元素

答案就在__init__.py中。我們在subpack1的__init__.py檔案中寫

__all__ = ['module_13', 'module_12']

然後進入python

>>>from package1.subpack1 import *

>>>module_11.funca()

traceback (most recent call last):

file "", line 1, in

importerror: no module named module_11

也就是說,以*匯入時,package內的module是受__init__.py限制的。

三.在package內部互相呼叫。

1.如果希望呼叫同乙個package中的module,則直接import即可。也就是說,在module_12.py中,可以直接使用

import module_11

2.如果不在同乙個package中,例如我們希望在module_21.py中呼叫module_11.py中的funca,則應該這樣:

from module_11包名.module_11 import funca

四.python如何找到我們定義的module?

在標準包sys中path屬性記錄了python的包路徑。

import sys

print(sys.path)

通常我們可以將module的包路徑放到環境變數pythonpath中,該環境變數會自動新增到sys.path屬性.

另一種方便的方法是程式設計中直接指定我們的module路徑到sys.path 中。

常用的話也可以放在python27\lib\site-packages資料夾下。

6樓:盜墓者

自己寫的模組,要放在需要匯入檔案同乙個目錄或者放在lib或者script目錄(預設的模組目錄)

然後,import 名字 就行。主要不要帶字尾,帶檔名就行

python如何匯入自定義模組 50

7樓:匿名使用者

這個問題涉及

bai到包和模組管

du理。包zhi名和模組名一般是小寫。你dao的檔案是專下面的結構屬,需要建立空檔案 b/__init__.py,將b目錄變成package。

a/a.py

from b.c import indexindex()

b/c.py

def index():

print("hello")

b/__init__.py

a/a.py 裡面有兩種引用方式,相對引用和絕對引用:

# 如果a.py是 library,兩種引用方式都可以from ..b.

c import index# 如果a.py是 executable,必須使用絕對引用from b.c import index如果使用絕對引用,需要確保b所在目錄在pythonpath (sys.

path)裡面,比如可以這樣執行:

env pythonpath=. python a/a.py

8樓:鄂珺趙澎

自定義模組在同乙個資料夾下面的話

直接import

或import

。。from

。。。就好

9樓:次堅危珂

1、相同目錄下,若在程式test1.py中匯入模組mod1,則直接使用import

mod1或from

mod1

import

*;2、主程式所在目錄是模組所回在目錄的父(或祖輩)目錄則要答建立空檔案__init__.py檔案然後使用

from

mod2.mod2

import*

python中怎麼呼叫自定義函式

10樓:育知同創教育

網上的很多資料都是說「如果把my_abs()的函式定義儲存為abstest.py檔案了,那麼,可以在該檔案的當前目錄下啟動python直譯器,用from abstest import my_abs來匯入my_abs()函式,注意abstest是檔名(不含.py副檔名)」。

但是在嘗試這種方法後,發現仍然還是無法呼叫自定義的函式。

python的引外機制:

import abc

1、首先在當前目錄下找有沒有abc、abc.py2、找python的安裝目錄:f:

\python2.7exe\lib\site-packages;f:\python2.

7exe\lib;

3、找電腦中path下面的目錄

於是我改變路徑,將儲存的abc.py檔案直接放在python的安裝目錄下,使用import abc命令,然後在python互動介面用 abc.***(***是abc.

py檔案中的定義函式的函式名),解決了呼叫自定義函式問題。

11樓:於方操涵易

這個算是python的模組問題。

這樣,舉例:

你有以下的檔案結構

folder

(資料夾)

|_____a.py

|_____b.py

如果你在a.py定義乙個函式test(),def test():

print "from a.py"

然後你再b.py的show()函式中想使用這個函式。

那你要在b.py中先輸入:

from a import test

def show():

test()

if __name__ == "__main__":

show()

在windows開啟cmd命令列執行這個b.py,鍵入python

b.py

就應該能看到輸出結果。

12樓:咎睿拓跋博裕

1、首先在當前目錄下找

有沒有abc、abc.py

2、找python的安裝目錄:f:\python2.7exe\lib\site-packages;f:\python2.7exe\lib;

3、找電腦中path下面的目錄

於是我改變路徑,將儲存的abc.py檔案直接放在python的安裝目錄下,使用import

abc命令,然後在python互動介面用

abc.***(***是abc.py檔案中的定義函式的函式名),解決了呼叫自定義函式問題。

自定義桌面怎麼弄,電腦怎麼自定義設定桌面

一 在桌面空白處,滑鼠右鍵單擊一下,在彈出來的選單中選擇 個性化 二 在開啟的個性化控制面板介面中,單擊下方處的 桌面背景 三 在開啟的筆記本win7系統桌面背景裡面可以自定義設定桌面背景,在這邊可以選擇你系統儲存的 也可以選擇系統自帶的 然後點選 儲存修改 即可。四 如果要設定多個桌布按時間切換,...

CAD中怎樣設定自定義座標系,cad自定義座標系

1 首先,啟動autocad軟體。2 接著,選擇選單欄中的 工具 命令,彈出下列的下拉列表。3 在彈出的下拉列表中選擇 新建ucs 中的子命令 三點 選項。4 按照 命令列 的提示,指定新的原點 x軸方向 y軸方向。5 自定義的使用者座標系就做好了。三維座標系下,使用直角座標或極座標方法來定義點。繪...

如何 自定義快速訪問工具欄,怎樣自定義Excel快速訪問工具欄

下圖顯示了乙個典型的快速訪問工具欄。若要自定義快速訪問工具欄,請開啟它。屬性 視窗中,修改其命令,然後預覽功能區控制項。開啟在 屬性 視窗中快速訪問工具欄 在visual studio 中,在 檢視 選單上,單擊 資源檢視。在資源檢視,雙擊功能區資源將其顯示在設計圖面上。在設計圖面上,右擊快速訪問工...