****函式****
1.定義函式
• def關鍵字,依次寫出函式名、括號、括號中的引數和冒號 :
• 在縮排塊中編寫函式體,函式的返回值用 return 語句返回,無返回值時預設為none。
2.呼叫函式
python 內建了很多有用的函式,我們可以直接呼叫:
• abs():求絕對值
• 資料型別轉換數:int(),float(),str(),unicode(),bool()
"""
def func(形參):#定義函式
函式體return 返回值
func(實參)#呼叫函式
"""def
add(x,y):
#實現兩個數的加法,並返回結果
3.引數檢查
•呼叫函式時,如果引數個數不對,python 直譯器會自動檢查出來,並丟擲 typeerror;
• 如果引數型別不對,python 直譯器就無法幫我們檢查。
• 資料型別檢查可以用內建函式 isinstance 實現
in [1]: isinstance(1,int)
out[1]: true
in [2]: isinstance(2,float)
out[2]: false
*寫函式幫助:便於清楚此函式的引數型別以及返回值
第一種方法:
def
add(x:int,y:int)->int:
return x+y
help(add)#使用help函式檢視函式幫助
第二種方法;
def
add(x,y):
""" :param x:
:param y:
:return:x+y
"""return x+y
#在函式內部""""""表示寫函式幫助
help(add)#使用help函式檢視函式幫助
4.函式返回值
• 函式返回值用return關鍵字;
• 返回乙個 tuple 可以省略括號;
• python 的函式返回多值其實就是返回乙個 tuple
• 函式無 語句時,自動 return none
5.函式引數
• 必選引數:形參與實參相對應
•預設引數:預設引數一定要用不可變物件
•可變引數:*args :,args 接收的是乙個 tuple
•關鍵字引數:**kw:,kw 接收的是乙個dict
•對於任意函式,都可以通過類似 func(*args, **kw) 的形式呼叫它
*預設引數易錯點
# 定義函式, 預設引數的預設值盡量不是可變引數;
deffun
(l=):
return l
print(fun())
print(fun())
結果:
可見,結果並不是我們預料的都是輸出相同的
*引數組合
•引數組合是指可以必選引數、 預設引數、 可變引數和關鍵字引數一起使用。
•引數定義的順序必須是:必選引數、 預設引數、可變引數和關鍵字引數。
6.變數的作用域
• 區域性變數:只能在函式內部使用的變數
• 全域性變數:在整個程式中使用的變數
• global關鍵字:強制將區域性變數轉換為全域性變數
7.生成式
*列表生成式
#普通的列表生成式;
#生成10個1~10之間的隨機整數
print([random.randint(1,10) for i in range(10)])
#生成1~7的平方數
#練習
# 1. 找出1~10之間所有的偶數;
print([i for i in range(1,11) if i%2==0])
# 2.
for巢狀for迴圈;
# 'abc', '123'
print([i+j for i in
'abc'
for j in
'123'])
*字典生成式
d=
# 將所有的key值變為大寫;
print()
# 練習2:大小寫key值合併, 統一以小寫key值輸出;
d = dict(a=2, b=1, c=2, b=9, a=5)
print()
#練習3: 把字典的key和value值調換;
python基礎學習 函式基礎
author feng lin date 2018 8 27 返回值的三種情況 一.沒有返回 返回none 不加 return 預設返回none return 執行到這裡跳出函式體 return none 不常用,沒意義 defmy return print my defmy return none...
Python基礎學習 函式
函式是組織好的,可重複使用的,用來實現單一,或相關聯功能的 段。函式能提高應用的模組性,和 的重複利用率。你已經知道python提供了許多內建函式,比如print 但你也可以自己建立函式,這被叫做使用者自定義函式。你可以定義乙個由自己想要功能的函式,以下是簡單的規則 任何傳入引數和自變數必須放在圓括...
python基礎學習四 python函式
python函式 1 當定義了乙個函式,比如test 並儲存在檔案fun.py中,可以在檔案的當前目錄下啟動python直譯器,用from fun import test來匯入test函式。2 當傳入的引數的個數不對時,python會自動報錯,但是如果是函式型別不對,則除了python內建函式,自定...