1樓:匿名使用者
按照您的code,**是無法編譯的,簡單的例證見**。
另外,您的**是不是應該這樣:
def interval(start,stop=none,step=1):
if stop is none:
start,stop=0,start
step=1
print start,' ',stop,' ',step呼叫的時interval(10)
結果是 0 10 1
是因為start,stop = 0, start 這一句, 把0賦給start, start的值賦給stop
2樓:匿名使用者
start,stop=0,start
相當於stop = start
start = 0
也就是吧start的值10賦給stop
然後把0賦值給start
stop自然就變成了10
3樓:匿名使用者
python函式
接觸過c語言
的朋友對函式這個詞肯定非常熟悉,無論在哪門程式語言當中,函式(當然在某些語言裡稱作方法,意義是相同的)都扮演著至關重要的角色。今天就來了解一下python中的函式用法。
一、函式的定義
在某些程式語言當中,函式宣告和函式定義是區分開的(在這些程式語言當中函式宣告和函式定義可以出現在不同的檔案中,比如c語言),但是在python中,函式宣告和函式定義是視為一體的。在python中,函式定義的基本形式如下:
def function(params):
block
return expression/value
在這裡說明幾點:
(1)在python中採用def關鍵字進行函式的定義,不用指定返回值的型別。
(2)函式引數params可以是零個、一個或者多個,同樣的,函式引數也不用指定引數型別,因為在python中變數都是弱型別的,python會自動根據值來維護其型別。
(3)return語句是可選的,它可以在函式體內任何地方出現,表示函式呼叫執行到此結束;如果沒有return語句,會自動返回none,如果有return語句,但是return後面沒有接表示式或者值的話也是返回none。下面看兩個例子:
def printhello():
print 'hello'
def printnum():
for i in range(0,10):
print i
return
def add(a,b):
return a+b
print printhello()
print printnum()
print add(1,2)
二、函式的使用
在定義了函式之後,就可以使用該函式了,但是在python中要注意一個問題,就是在python中不允許前向引用,即在函式定義之前,不允許呼叫該函式。看個例子就明白了:
print add(1,2)
def add(a,b):
return a+b
4樓:乜私謝
start, stop = 0, start等價於(start, stop) = (0, start)
就是給多個變數賦值,在《python基礎教程》的5.2.1節中有介紹。
5樓:匿名使用者
python 特有的語法:
變數賦值的時候 可以 這樣
a , b = 1, 2
print a , b
輸出 12
6樓:匿名使用者
源**貼錯了吧?
(python 2.7.1)syntaxerror: can't assign to literal
一個python函式 求助
7樓:匿名使用者
您好:您的**中有錯誤,return 『#』 in ***ment2應該是變數***ment2 而不是字串『***ment2』
>>> def contains_hash_symbol(***ment2):
return '#' in ***ment2>>> contains_hash_symbol("#123")true
>>> contains_hash_symbol("123")false
>>>還有一個問題是不能傳入123#這樣的引數。需要將123#賦給一個字串變數,將變數傳入。
在python shell中你輸入123#)後shell認為你沒有輸入完畢,還讓你繼續在下一行輸入,所以出現三個點。
類似於:輸入如下的**回車,也會出現三個點。
for i in range(10):
一個python函式的問題
8樓:匿名使用者
呼叫str2int函式,會首先定義這兩個子函式然後返回 reduce(fn,map(char2num,s))也就是首先對s中每個元素執行char2num函式,返回值組成map中的元素,再對map中的元素累計執行fn函式,然後返回結果
如str2(』123』) 以'1','2','3'為引數呼叫 char2num先返回數字 1,2,3,然後對1,2,3累計執行fn(x,y)
1*10+2=12
12*10+3=123
最後 返回數字123
幫忙解釋一個python函式呼叫的問題
9樓:匿名使用者
這個是sub的特殊用法,fn就是呼叫函式,它不用(), 等效於 fn(match物件)。
10樓:風馳電掣
主要是你前面定義函式的時候加了個group()
請教一個python函式之間相互呼叫報錯的問題
11樓:尐二瓜
class a(): #class關鍵字首字母要小寫
def getentryvalues(): #類中的方法要新增self作為引數,或者使用staticmethod宣告成靜態函式
inputvalue = inputpath.get()
print inputvalue
return inputvalue
def openinputvalue(): #類中的方法要新增self作為引數
print "sdsdsd"
getentryvalues() #呼叫類中方法的時候,如果是例項方法,需要使用self呼叫,如果是靜態方法,需要類名呼叫
mainframe = tk()
frame1 = frame(mainframe)
frame1.pack()
inputpath = entry(frame1)
inputpath.pack(side=left)
gobutton = button(frame1, text='open', ***mand=openinputvalue) #openinputvalue是類中的方法,需要使用例項或者類名呼叫
gobutton.pack(side=left)
mainframe.mainloop()
我覺得你還是應該把python基礎好好學習一下。推薦看下python核心程式設計。
如果解決了您的問題請採納!
如果未解決請繼續追問
python新手關於函式的一個問題
12樓:大話殘劍
函式進入時把data3初始化成空值,函式最後增加return data3
如果沒有找到,就會返回空。
函式呼叫後,判斷返回值是否為空
python函式問題?
13樓:快遞熊鹹森
python中math模組實現了許多對浮點數的數**算函式. 這些函式一般是對平臺 c 庫中同名函式的簡單封裝, 所以一般情況下, 不同平臺下計算的結果可能稍微地有所不同, 有時候甚至有很大出入
python 怎麼在 下一個函式中 呼叫上一個函式的值
14樓:暴暴鹿兒
你的問題:
你先定義了一個函式;
然後在呼叫一個函式,但是定義過程中你的函式是有返回值的,呼叫的話,你應該用一個變數去「放」這個值;所以這裡get(5,6)看不到任何輸出;
如下:def shan():
...rsult=get(a,b)
print result
...或者直接print get(a,b)
15樓:匿名使用者
這裡利用《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")
請教python函式呼叫問題,請教一個Python函式之間相互呼叫報錯的問題
進入python shell,執行下 import matplotlib 看看,如果提示錯誤,就是沒有正確安裝,安裝應該也 簡單版pip install matplotlib應該就行了。我用的是python2.7,3.5沒試過權 請教一個python函式之間相互呼叫報錯的問題 class a cla...
關於Python字串的問題,一個關於Python字串的問題
for i in range 6 轉換字串為賦值語句 exec wb d load workbook d.xlsx i,i 讀取 wb0 wb1 wb5 變數返回的工作簿物件print eval wb d idx 經過這樣的轉換,你就可以直接在後續 中使用 wb0 wb1 wb5 變數來進一步操作了...
一般是如何自學python的,我想自學Python,多久才能學會?
python的語法簡潔清晰,語法接近英語,python簡單的語法可以讓初學者專注于思考要做的事情,而不需要在過程上大費周章。開發環境簡單,能打字就能寫 適合新手入門學習。自學python首先確定方向,方向很重要,python開發也分很多方向的,運維 後臺開發 演算法工程師 資料分析 深度學習等。如果...