函式
在python中函式是以def為開頭的,後面跟上():括號裡面是引數
一般來說函式的第一行會使用# 或者""" 「」"來說明函式的用途,規格
用縮進來表示下面的**在函式體中
最後用return表示式來返回乙個值
第乙個例子:
執行結果:def
printf
(str):
"""用於列印文字的函式"""
(str*2
,end='')
str=
'hello world '
printf(
str)
# 傳入引數呼叫函式
hello world hello world
注意這裡的引數傳遞
在python中,型別屬於物件,變數沒有型別
分為可更改與不可更改物件
不可變型別:整數、字串、元組
可變型別: 列表、字典
第二個例子:
執行結果是:def
change_int
(a):
a +=
10b =
10change_int(b)
(b)
10
為什麼這裡仍然輸出的是10呢?
因為例項中有int物件2,變數b指向它,傳引數的時候,是複製了變數b,此時b,a都指向了同乙個int物件,而在函式中的賦值a+=10,相當於新生成了乙個int值物件20,並讓a指向它,然後函式退出來的時候,a就銷毀了,最後輸出的b的值不變仍然為10
那麼要怎麼樣才能將運算結果帶出來呢?
這裡就需要用到return了
將第二個例子稍加改變一下
輸出結果:def
change_int
(a):
a +=
10return a
b =10
x = change_int(b)
(x)
20
這裡函式返回了值a,也就是新的int物件x的值
再列印x就可以得到想要的結果20了
ps:在c語言中可以用指標來實現b值的改變
傳可變引數
第三個例子
執行結果def
changeable
(list):
"""傳入可以改變的列表"""
list[0
,1,2
])# 新增0,1,2進入列表
("函式內list的值:\n"
,list
)list=[
7,8,
9]changeable(
list
("函式外list的值:\n"
,list
)
可以看成list是發生改變了的函式內list的值: [7
,8,9
,[0,
1,2]
]函式外list的值: [7
,8,9
,[0,
1,2]
]
引數分為
必須引數
以正確的順序和數量傳入引數,否則報錯
可以參考第三個例子中的def changeable(list)就是必須引數
關鍵字引數
函式呼叫使用關鍵字引數來確定傳入的引數值
順序可以與宣告的不一樣
第四個例子
執行結果:def
introduce
(name, age, address)
("我是來自{}的{},今年{}歲"
.format
(address,name,age)
introduce(age=
19, address=
'廣東'
, name=
'justin'
)# 這裡引數的位置可以與宣告的不一樣
#python可以通過關鍵字來正確傳入引數
我是來自廣東的justin,今年19歲
預設引數
若沒有給定的實參,則呼叫函式中給定的引數值
仍然是第四個例子稍微改動一些:
執行結果def
introduce
(name, age, address=
'甘肅'):
# 注意這裡預設引數在最後給出
# 要按照 必須、關鍵字、預設、不定的順序來給出引數,否則會報錯
("我是來自{}的{},今年{}歲"
.format
(address,name,age)
)introduce(age=
19, address=
'廣東'
, name=
'justin'
)introduce(age=
19, name=
'justin'
)
不定長引數我是來自廣東的justin,今年19歲
我是來自甘肅的justin,今年19歲
需要乙個函式能夠處理比當初宣告時更多的引數,這些引數叫做不定長引數
下面來看乙個例子
第五個例子
執行結果:def
test
(test1,
*args)
:# 這裡*args就是不定引數
(test1)
(args)
# 加了*的引數會以元組的方式匯入,存放所有的不定引數
test(60,
70,80)
第六個例子60(70
,80)
執行結果def
test_2
(test2,
**args)
:# 這裡**args就是不定引數
(test2)
(args)
# 加了**的引數會以字典的方式匯入,存放所有的不定引數的鍵對
test_2(
60, name=
'mike'
,age=
20)
匿名函式60
lambda
第六個例子
執行結果:sum
=lambda arg1, arg2: arg1 * arg2
# 基本的就是 變數名 = lambda 變數1,變數2……:運算表示式
(sum(10
,20))
200
碼字不易,各位看官老爺點讚收藏一下喲 Python 學習筆記 enumerate函式
enumerate 函式用於將乙個可遍歷的資料物件 如列表 元組或字串 組合為乙個索引序列,同時列出資料和資料下標,一般用在 for 迴圈當中。seasons spring summer fall winter list enumerate seasons 0,spring 1,summer 2,f...
小白學習筆記之Python函式(二)
定義函式時,可以在形參前邊加乙個 這樣這個形參可以獲取到所有的實參 帶 號的形參只能有乙個,屬於位置引數,可以和其他引數配合使用,傳遞為乙個元祖 def s a a 乙個 1,2,5 的元祖 定義乙個變數來儲存結果 r 0 遍歷元祖,並將元祖中的數進行相加 for n in a r n print ...
小白python學習筆記
1.cmd命令列下怎麼切換目錄 2.python對縮排有嚴格要求,要頂格寫,單引號 雙引號 可互換使用。3.如何在python中讓兩個print 函式輸出列印在同一行內 4.在windows下裝lightgbm包 具體是哪個教程能裝好,要自己嘗試了,費了很大功夫,最後也不知道是怎麼搞好的,反正不報錯...