python中定義函式,題目如下

2021-04-12 18:03:27 字數 4863 閱讀 5176

1樓:匿名使用者

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裡如何在同一個py檔案裡先呼叫函式,然後函式的定義在下面寫?

2樓:gta小雞

一個函式要先定義過,python直譯器才能找到這個函式的符號。如果呼叫某個函式時直譯器沒有找到它的定義,將會丟擲異常。

3樓:匿名使用者

python貌似沒有這個規定,只要在執行時能找到就可以。不是c之類的

比如,下面這樣的,完全ok

在python中定義函式

4樓:

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

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__函式被自動呼叫,在你的

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

5樓:長學科西

#簡單的應該能實現

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

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

exec expression

print a

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

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

python定義一個函式

6樓:有點悶

定義的順序是 i,year,month 這就是形參的順序呼叫的時候 給實參 也必須是這個順序

python 怎麼在 下一個函式中 呼叫上一個函式的值

7樓:暴暴鹿兒

你的問題:

你先定義了一個函式;

然後在呼叫一個函式,但是定義過程中你的函式是有返回值的,呼叫的話,你應該用一個變數去「放」這個值;所以這裡get(5,6)看不到任何輸出;

如下:def shan():

...rsult=get(a,b)

print result

...或者直接print get(a,b)

8樓:匿名使用者

這裡利用《python程式設計入門》書中的例子作為事例說明:

def get_omelet_ingredients(omelet_name):

ingredients =

if omelet_name=="cheese":

ingredients["cheddar"]=2

elif omelet_name=="western":

ingredients["jack_cheese"]=2

ingredients["ham"]=1

ingredients["pepper"]=1

ingredients["onion"]=1

elif omelet_name=="greek":

ingredients["feta_cheese"]=2

ingredients["spinach"]=2

else:

print("that's not on the menu, sorry!")

return none

return ingredients

def make_food(ingredients_needed, food_name):

for ingredient in ingredients_needed.keys():

print("adding %d of %s to make a %s" %(ingredients_needed[ingredient], ingredient, food_name))

print("make %s" %food_name)

return food_name

def make_omelet(omelet_type):

if type(omelet_type)==type({}):

print("omelet_type is a dictionary with ingredients")

return make_food(omelet_type, "omelet")

elif type(omelet_type)==type(""):

omelet_ingredients = get_omelet_ingredients(omelet_type)

return make_food(omelet_ingredients, omelet_type)

else:

print("i don't think i can make this kind of omelet: %s" % omelet_type)

"""利用make_omelet函式呼叫get_omelet_ingredients和make_food函式的值"""

omelet_type=make_omelet("cheese")

9樓:匿名使用者

a=get(1,2) # 賦值給a

print(get(1,2)) #或者直接輸出

python中怎麼呼叫自定義函式

10樓:匿名使用者

如果自定義函式,是在當前檔案中定義的,直接呼叫即可,就像樓上回答的一樣;如果是在別的模組中定義的,那麼要在當前檔案中呼叫,就需要先匯入對應的模組,

匯入方法:在當前檔案**最前面加上 import 模組名比如,你在檔案test.py中定義了函式sum,那麼你要在當前檔案頭部,新增:

from test import *

11樓:匿名使用者

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

12樓:匿名使用者

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

就應該能看到輸出結果。

13樓:匿名使用者

python相當簡單的呼叫~ 直接用就好了def test(a,b):   #自定義一個函式,簡單寫了一個加法的方法,返回a和b的和sum=a+b

return sum

#呼叫這個函式如下

sum=test(1,2)

print sum  #輸出兩數之和

14樓:後知淡然

def hi():

print('hello!')

hi()

無引數函式的呼叫

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

涉及到狀態儲存,可以使用函子 書上這麼翻譯的,不曉得其他人是不是也這樣叫 給你個例子,你比對著改。如果不懂,自己再延這個方向去檢視資料。class strip def init self,characters 初始化,將需要保留的狀態資訊存起來 self.characters characters ...

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...