python 函數

  • #函數
    def fun_nm():
    函數體
    #函數調用
    fun_nm()

使用關鍵字def 來告訴Python你要定義一個函數。這是函數定義,向Python指出了函數名

#函數傳入單個參數

def fun_nm(user):
    print(user)

fun_nm('ls')

#函數傳參時,有多個參數

def fun_nm(user, age):
    print(user)
    print(age)
fun_nm('zs', '20')

#函數傳參時,參數有默認值時,傳入時可以不傳實參

def fun_nm(user, age=20):
    print(user)
    print(age)
fun_nm('zs')

#覆蓋默認值
fun_nm(‘zs’, 40)
注意:第一個參數最好不要設爲默認值,否則有多個參數時,第一參數值永遠是第一個實參若不傳入,實參數和形參數不匹配,會報錯;

#鍵值對參數,可以不考慮傳入順序

def fun_nm(user, age):
    print(user)
    print(age)
fun_nm(age=20, user='zs')

#函數返回值可以賦值新變量

def fun_nm(user, age):
    return 0
res=fun_nm('zs', '20')

#讓實參變成可選,類似默認值,只不過默認值是’'空,可以對address是否爲空進行判斷

def fun_nm(user, sex, address=''):
    return 0
fun_nm('zs', '0')

#參數可以是列表,但在列表傳入時,若不想改變列表中值,則以切片形式傳入
若在函數中操作列表中值,則以列表名傳入
fun_nm(list[:]):源列表元素不被改變
fun_nm(list):函數中可以修改列表中元素值

#傳遞任意數量參數(元組)

def fun_nm(*name):
    print(name)
    for tmp in name:
        print tmp
fun_nm('zs', 'ls', 'ww')

#也可以與其他參數結合
def fun_nm(age, *name):

#也可以傳入字典(**user_info中**表明python將會傳入的鍵值對放在user_info字典中)

def fun_nm(user, age, **user_info):
    tmp_dir={}
    for key, value in user_info.items():
        tmp_dir[key]=value
    return tmp_dir
fun_nm('zs', '20', 'user=ls', 'age=60')

#函數實現放在其他模塊中,使用時直接導入調用
#導入整個模塊文件
import function
#使用模塊中函數
funtion.fun_nm()

#導入模塊 中指定函數, as可以對函數名指定別名
from function import fun_nm, fun_nm1, fun_nm2 as fm2

#導入模塊中所有函數,這種不推薦,看不到具體函數名稱
from function import *

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章