Python学习笔记5-函数与Lambda表达式

本文最后更新于 将近 6 年前,文中所描述的信息可能已发生改变。

函数与Lambda表达式

函数

def functionname( parameters ):
   "函数_帮助说明"
   function_suite
   return [expression]

例子:

def sayok(n):
    "输出几次ok"
    c = n*"ok\n"
    return c
print(sayok(10))
输出 >>>
ok
ok
ok
ok
ok
ok
ok
ok
ok
ok
  • python 传不可变对象实例
def sayok(n):
    "输出几次ok"
    c = n*"ok\n"
    n=0
    return c
n=10
print(sayok(n))
print(n)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
ok
ok
ok
ok
ok
ok
ok
ok
ok
ok

10
#n仍为10
  • 传可变对象实例
def sayok(list):
    "传入列表并修改"
    list.append([1,1,1,1])
    return
list = ["a","b"]
print(sayok(list))
print(list)

输出:
None
['a', 'b', [1, 1, 1, 1]]
  • 默认参数
def sayok(name = "Li Ming"):
    "传入列表并修改"
    print(name)
    return
sayok()
  • 不定长参数
def functionname(*var_args_tuple ):
   "加了星号(*)的变量名会存放所有未命名的变量参数"
   function_suite
   return [expression]

例如:

def sayok(*names):
    for name in names:
        print(name)
    return
sayok("apple","ip","see","O","Q")
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
apple
ip
see
O
Q

匿名函数

python 使用 lambda 来创建匿名函数。lambda只是一个表达式,函数体比def简单很多。 – 语法

lambda [arg1 [,arg2,.....argn]]:expression

例如:

sayok = lambda word: (word+"\n")*10
print(sayok("apple"))

输出:
apple
apple
apple
apple
apple
apple
apple
apple
apple
apple
Python学习笔记4-字符串与序列
Python学习笔记6-字典与集合