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