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 *

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