在python中定義函式python中怎麼呼叫自定義函式

2021-03-04 04:08:24 字數 4365 閱讀 2749

1樓:

涉及到狀態儲存,可以使用函子(書上這麼翻譯的,不曉得其他人是不是也這樣叫),給你個例子,你比對著改。如果不懂,自己再延這個方向去檢視資料。

class strip:

def __init__(self, characters): #初始化,將需要保留的狀態資訊存起來

self.characters = characters

def __call__(self, string): #建立的函子被使用時,自動呼叫__call__

return string.strip(self.characters)

#下面是使用方法,兩個語句是密切銜接的。

strip_punctution = strip(',;:.!?') #字串引數將被__init__吃進去,並且保留在class中,

#相當於一種狀態儲存的方法,在你的例子中,你可以將使用者表示式通過這種方式儲存起來

strip_punctution('hello world!') #return 'hello world',他的功能是剝離characters

#字串中出現的字元,此處把感嘆號去掉了,

#這就是函子典型的使用方法,class中的__call__函式被自動呼叫,在你的

#例子中,你可以通過這樣的方式呼叫函式,就不用每次重新輸入表示式了。

2樓:長學科西

#簡單的應該能實現

expression = raw_input('請輸入一個表示式: ')

#此處輸入一個很簡單的表達是 a = 1def func():

exec expression

print a

#之後你電泳func()就會返回print a 的值。

#這樣做,在python中還要考慮縮排,讓使用者輸入會很麻煩

python中怎麼呼叫自定義函式

3樓:育知同創教育

網上的很多資料都是說「如果把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檔案中的定義函式的函式名),解決了呼叫自定義函式問題。

4樓:於方操涵易

這個算是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

就應該能看到輸出結果。

5樓:咎睿拓跋博裕

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檔案中的定義函式的函式名),解決了呼叫自定義函式問題。

python的函式裡還可以定義函式嗎

6樓:匿名使用者

這個肯定可以的。閉包、裝飾器都是在函式裡又定義了個函式,普通的函式也是可以巢狀定義的。

7樓:可靠的我心我在

8樓:匿名使用者

定義函式。在函式裡呼叫其他函式。

python怎麼匯入自定義函式

9樓:雪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中怎麼呼叫自定義函式?

10樓:匿名使用者

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檔案中的定義函式的函式名),解決了呼叫自定義函式問題。

python中函式外定義的變數在函式內可以使用嗎

11樓:匿名使用者

你寫的只是引用,也可以說讀取是可以的,但不能修改。

比如這樣寫,外面的i 仍然=0

12樓:反翽葚讛笀仕藖

嚴格的說,象你這麼用是絕對屬於沒有定義的。不過有時候又可以是因為,如果你在程式開頭函式前面定義一些變數,原則上它會自動變成global的。 除非你另外啟執行緒,或者是有可能有與它重名的變數,否則可以直接在函式體內使用,當然也可以在後面的語句中使用。

函數語言程式設計要記著ipo這個準則。就是每個函式最好都是有輸入input有輸出output。函式體就是處理process。

儘量不要使用全域性變數,也不要使用預設值。一個正規的做法是這樣: def example(a):

a=0 return a a=1 print example(a) 這是一個標準用法,你就不用為global變數頭痛了。

python中定義一個函式,題目如下

13樓:匿名使用者

class rectangle:

def __init__(self,*args):

if len(args)==2:

self.width,self.height=args[0],args[1]

elif len(args)==1:

self.width,self.height=args[0],args[0]

elif len(args)==0:

self.width,self.height=1,1else:

raise valueerror("invalid arguments count")

def perimeter(self):

return 2*self.width+2*self.heightdef area(self):

return self.width*self.heighta=rectangle(2,4)

print("area is %.1f"%a.area())

python自定義函式問題python中怎麼呼叫自定義函式?

if name main 你看下這句打錯沒有 最好直接複製過去,不要手寫 python中怎麼呼叫自定義函式?1 首先在當前目錄下找有沒有abc abc.py2 找python的安裝目錄 f python2.7exe lib site packages f python2.7exe lib 3 找電腦...

python怎麼定義函式,python 定義函式

給你兩個函式 插入排序 def insertion sort sort list iter len len sort list if iter len 2 return sort list for i in range 1,iter len key sort list i j i 1 while j...

python中定義函式,題目如下

class rectangle def init self,args if len args 2 self.width,self.height args 0 args 1 elif len args 1 self.width,self.height args 0 args 0 elif len ar...