python函式的問題一個Python函式的問題

2021-05-15 19:34:18 字數 5668 閱讀 3914

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開發也分很多方向的,運維 後臺開發 演算法工程師 資料分析 深度學習等。如果...