「關注我,和我一塊兒放下靈魂,讓靈魂去搬磚。」python
Python版本3.8.0,開發工具:Pycharmexpress
> Python提供了許多內建函數,例如print()
> 開發人員能夠本身建立函數,這類函數叫用戶自定義函數
複製代碼
什麼是內置函數? 就是python給你提供的. 拿來直接⽤的函數, 好比print, input等等bash
# Python官方文檔中print函數
print(*object, sep=' ', end='\n', file=sys.stdout, flush=False)
# 解釋 = 的參數。對參數不瞭解的能夠先往下看參數介紹
- sep=' ':接收多個參數以後,輸出時,分隔符號默認爲空格,' ';
- end='\n':輸出行的末尾默認是換行符號 '\n';
- file=sys.stdout:默認的輸出對象是sys.stdout(即,用戶正在使用的屏幕)……
複製代碼
即:print個函數中有若干個具備默認值的參數,即使咱們在調用這個函數的時候,就算沒有指定它們,它們也存在於此。函數
# 調用print函數
print('Hello', 'world!')
# 等價於調用
print('Hello', 'world!', sep=' ', end='\n', file=sys.stdout, flush=False)
複製代碼
> 函數代碼塊以def關鍵詞開頭,後接函數名稱和圓括號 ()。
> 任何傳入參數和自變量必須放在圓括號中間,圓括號之間能夠用於定義參數。
> 函數的第一行語句能夠選擇性地使用文檔字符串—用於存放函數說明。
> 函數內容以冒號起始,而且縮進。
> return [表達式]結束函數,選擇性地返回一個值給調用方。不帶表達式的return至關於返回 None。
def 函數名(參數列表):
函數體
return 返回值
複製代碼
關於函數名稱:工具
1. 名稱不能以數字開頭。能用在名稱開頭的有,大小寫字母和下劃線 _;
2. 名稱中不能有空格,要麼使用下劃線鏈接詞彙,如:do_nothing,要麼使用駝峯標識,如 :doNothing。推薦使用下劃線do_nothing
3. 名稱不能與關鍵字重合
# 列出全部關鍵字
keyword.kwlist
複製代碼
建立一個自定義函數學習
# 定義函數
def printme( str ):
# 打印任何傳入的字符串
print (str)
return
# 調用函數
printme("我要調用用戶自定義函數!")
printme("再次調用同一函數")
# 輸出
我要調用用戶自定義函數!
再次調用同一函數
複製代碼
必需參數開發工具
必需參數須以正確的順序傳入函數。調用時的數量必須和聲明時的同樣。ui
# 我是函數說明
def print_str(str):
"打印傳入的字符串"
print(str)
return
# 調用 print_str 函數
print_str("我是知秋小夢")
# 輸出
我是知秋小夢
複製代碼
關鍵字參數spa
關鍵字參數和函數調用關係緊密,函數調用使用關鍵字參數來肯定傳入的參數值。code
#
# 我是函數說明
def print_str(str):
"打印傳入的字符串"
print(str)
return
# 調用 print_str 函數,
print_str(str = "我是參數")
# 輸出:
我是參數
複製代碼
默認參數
調用函數時,若是沒有傳遞參數,則會使用默認參數。
# 我是函數說明
def printinfo( name, age = 35 ):
"打印傳入的字符串"
print ("名字: ", name)
print ("年齡: ", age)
return
#調用printinfo函數
printinfo(age=50, name="zhangsan" )
print("------------------------")
printinfo(name="lisi" )
# 輸出:
名字: zhangsan
年齡: 50
------------------------
名字: lisi
年齡: 35
複製代碼
不定長參數
一個函數能處理比當初聲明時更多的參數,這些參數叫作不定長參數
#我是函數說明
def printinfo(arg1, *vartuple ):
"打印傳入的參數"
print (arg1)
print (vartuple)
# 調用printinfo 函數
printinfo( 70, 60, 50 )
# 輸出:
70
(60, 50)
複製代碼
python 使用 lambda 來建立匿名函數。
lambda [arg1 [,arg2,.....argn]]:expression
注:
# lambda 的語法結構
lambda_expr ::= "lambda" [parameter_list] ":" expression
# 下面是用 lambda 關鍵字寫函數:
add = lambda x, y: x + y
add(3, 5)
# 等價於自定義函數
def add(x, y):
return x + y
add(3, 5)
# lambda使用場景
a_list = [1, 2, 3, 4, 5, 6]
a_list
b_list = list(map(lambda x: x * 2, a_list))
b_list
# 輸出:
[1, 2, 3, 4, 5, 6]
[2, 4, 6, 8, 10, 12]
複製代碼
學習Python,咱們不僅是說說而已