通過關鍵字def來創(chuàng)建函數,def的作用是實現python中函數的創(chuàng)建
創(chuàng)新互聯是一家集網站建設,桂林企業(yè)網站建設,桂林品牌網站建設,網站定制,桂林網站建設報價,網絡營銷,網絡優(yōu)化,桂林網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
函數定義過程:
函數名+()小括號執(zhí)行函數
函數體內對全局變量只能讀取,不能修改
局部變量,無法在函數體外使用
python 使用 lambda 來創(chuàng)建匿名函數。
所謂匿名,意即不再使用 def 語句這樣標準的形式定義一個函數。
使用關鍵詞 def 聲明這是一個函數
1def 函數名 (參數):
2 語句塊
參數可以沒有,也可以有多個,用逗號隔開,第一行稱為函數頭,結尾一定要加冒號,代表開始進入函數體的執(zhí)行。
語句塊也就是函數體,是關于這個函數要實現的功能的語句,語句要有返回值即return語句,如果沒有return語句,就代表return none.
定義函數需要注意的幾個事項:
1、def開頭,代表定義函數
2、def和函數名中間要敲一個空格
3、之后是函數名,這個名字用戶自己起的,方便自己使用就好
4、函數名后跟圓括號(),代表定義的是函數,里邊可加參數
5、圓括號()后一定要加冒號: 這個很重要,不要忘記了
6、代碼塊部分,是由語句組成,要有縮進
7、函數要有返回值return
下面是幾個例子:
1 #python中的函數定義,使用和傳參
2 def_str = '''\
3 python中的函數以如下形式聲明:
4
5 def 函數名稱([參數1,參數2,參數3......]):
6 執(zhí)行語句
7
8 如:
9
10 def helloWorld():
11 print('hello')
12
13 if __name__ == '_main__':
14 helloWorld()
15
16 輸出:hello
17 '''
18 print(def_str)
19
20 #下面進行舉例說明
21
22 def helloWorld():
23 print('輸出:hello')
24
25 if __name__ == '__main__':
26 helloWorld()
27
28 print('''\
29 ################################################
30
31 函數可以帶參數和返回值,參數將按從左到右的匹配,
32 參數可設置默認值,當使用函數時沒給相應的參數時,
33 會按照默認值進行賦值
34
35 ################################################
36 ''')
37
38 #定義一個方法:x的y次方
39 def myMethod(x,y):
40 return x**y
41
42 def fib(n):
43 a , b = 0 , 1
44 while a n:
45 print(a, end=' ')
46 a , b = b , a + b
47 print()
48
49 #獲取一個新的數組
50 #@param oldList 原數組
51 #@param length 要添加的長度
52 def getList(oldList,length):
53 if length 0:
54 for i in range(0,length):
55 oldList.append(i)
56 return oldList
57 else:
58 return '你輸入的長度小于0'
59
60 def ask_ok(prompt, retries=4, complaint='Yes or no, please!'):
61 while True:
62 ok = input(prompt)
63 if ok in ('y', 'ye', 'yes'):
64 return True
65 if ok in ('n', 'no', 'nop', 'nope'):
66 return False
67 retries = retries - 1
68 if retries 0:
69 raise IOError('refusenik user')
70 print(complaint)
71
72 if __name__ == '__main__':
73 x = 3
74 y = 4
75 n = 2000
76 print(x , '的' , y , '次方(' ,x ,'**' , y ,') = ' , myMethod(x,y))
77 print('函數fib(n),當n =' ,n)
78 fib(n)
79 print(getList(['begin'],-10))
80 ask_ok('y')
運行效果:
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
================================ RESTART ================================
python中的函數以如下形式聲明:
def 函數名稱([參數1,參數2,參數3......]):
執(zhí)行語句
如:
def helloWorld():
print('hello')
if __name__ == '_main__':
helloWorld()
輸出:hello
輸出:hello
################################################
函數可以帶參數和返回值,參數將按從左到右的匹配,
參數可設置默認值,當使用函數時沒給相應的參數時,
會按照默認值進行賦值
################################################
3 的 4 次方( 3 ** 4 ) = 81
函數fib(n),當n = 2000
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
你輸入的長度小于0
y輸出:hello
Yes or no, please!
y
Yes or no, please!
y
Yes or no, please!
y
Yes or no, please!
y
Traceback (most recent call last):
File "E:/Python33/python_workspace/test_function.py", line 80, in module
ask_ok('y')
File "E:/Python33/python_workspace/test_function.py", line 69, in ask_ok
raise IOError('refusenik user')
OSError: refusenik user
python中def意思是聲明函數。
Python 使用def 開始函數定義,緊接著是函數名,括號內部為函數的參數,內部為函數的 具體功能實現代碼,如果想要函數有返回值, 在?expressions 中的邏輯代碼中用 return 返回。
expressions
實例def function():
print('This is a function')
a = 1+2
print(a)
相關內容:
function 的函數,函數沒有不接受參數,所以括號內部為空,緊接著就是 函數的功能代碼。如果執(zhí)行該腳本,發(fā)現并沒有輸出任何輸出,因為我們只定義了函數,而并沒有執(zhí)行函數。 這時我們在 Python 命令提示符中輸入函數調用 function(), 注意這里調用函數的括號不能省略。
那么函數內部的功能代碼將會執(zhí)行,輸出結果:This is a function。
parameter 是函數定義的參數形式
argument 是函數調用時傳入的參數實體。
對于函數調用的傳參模式,一般有兩種:
此外,
也是關鍵字傳參
python的函數參數定義一般來說有五種: 位置和關鍵字參數混合 , 僅位置參數 , 僅關鍵字參數 , 可變位置參數 , 可變關鍵字參數 。其中僅位置參數的方式僅僅是一個概念,python語法中暫時沒有這樣的設計。
通常我們見到的函數是位置和關鍵字混合的方式。
既可以用關鍵字又可以用位置調用
或
這種方式的定義只能使用關鍵字傳參的模式
f(*some_list) 與 f(arg1, arg2, ...) (其中some_list = [arg1, arg2, ...])是等價的
網絡模塊request的request方法的設計
多數的可選參數被設計成可變關鍵字參數
有多種方法能夠為函數定義輸出:
非?;逎?/p>
如果使用可變對象作為函數的默認參數,會導致默認參數在所有的函數調用中被共享。
例子1:
addItem方法的data設計了一個默認參數,使用不當會造成默認參數被共享。
python里面,函數的默認參數被存在__default__屬性中,這是一個元組類型
例子2:
在例子1中,默認參數是一個列表,它是mutable的數據類型,當它寫進 __defauts__屬性中時,函數addItem的操作并不會改變它的id,相當于 __defauts__只是保存了data的引用,對于它的內存數據并不關心,每次調用addItem,都可以修改 addItem.__defauts__中的數據,它是一個共享數據。
如果默認參數是一個imutable類型,情況將會不一樣,你無法改變默認參數第一次存入的值。
例子1中,連續(xù)調用addItem('world') 的結果會是
而不是期望的
params
就是(5, 5)
(5,) * 2 ,就是2個5的元組,乘號可以理解成相加。"*" * 30就是30個“*"的字符串
*params作為參數,前面的*號就是把params元組分解成元素的意思,這樣就分開成為2個參數了。實際上傳遞給了x,y
于是就執(zhí)行了power(5,5)
定義:
def 函數名(形參1,形參2='初始定義的內容'):
函數中執(zhí)行的內容
調用:
函數名(實參1)或函數名(形參2=實參2,形參1=實參1)或函數名(實參1,實參2)
網站名稱:關于python函數聲明形式的信息
網頁路徑:http://jinyejixie.com/article34/hopdpe.html
成都網站建設公司_創(chuàng)新互聯,為您提供商城網站、全網營銷推廣、微信小程序、靜態(tài)網站、手機網站建設、企業(yè)網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯