DataWhale7月学习——Python入门
Task6:函数与Lambda表达式
本节我们初步学习Python语法中的函数及Lmabda表达式。文章给出了一些重点知识的.py程序便于读者深入理解。本文的程序编写基于Python3.0+,安装环境使用的是PyCharm
函数
Python把函数当成对象,可以从另一函数中返回出来构建高阶函数:参数是函数,返回值是函数
函数的定义及调用
函数以def关键词开头,后接函数名和括号()
函数执行的代码以冒号其实并且缩进
return结束函数返回一个值给调用方,不带return相当于返回值是None
def functionname(parameters):
"函数_⽂档字符串"
function_suite
return [expression]
函数的调用
def printme(str):
print(str)
printme("我要调⽤⽤户⾃定义函数!") # 我要调⽤⽤户⾃定义函数!
printme("再次调⽤同⼀函数") # 再次调⽤同⼀函数
temp = printme('hello') # hello
print(temp) # None
def add(a, b):
print(a + b)
add(1, 2) # 3
add([1, 2, 3], [4, 5, 6]) # [1, 2, 3, 4, 5, 6]
123456
函数文档
def MyFirstFunction(name):
"函数定义过程中name是形参"
# 因为Ta只是⼀个形式,表示占据⼀个参数位置
print('传递进来的{0}叫做实参,因为Ta是具体的参数值!'.format(name))
MyFirstFunction('⽼⻢的程序⼈⽣')
# 传递进来的⽼⻢的程序⼈⽣叫做实参,因为Ta是具体的参数值!
print(MyFirstFunction.__doc__)
# 函数定义过程中name是形参
help(MyFirstFunction)
# Help on function MyFirstFunction in module __main__:
# MyFirstFunction(name)
# 函数定义过程中name是形参
函数参数
函数参数由简到繁有以下几个参数形态:
位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合
1.位置参数arg1
位置参数在调用时位置要固定
def functionname(arg1):
"函数_⽂档字符串"
function_suite
return [expression]
2.默认参数arg2
默认参数一定要在位置参数后面,在调用函数时,默认参数的值如果没有传入则被默认为默认值
在函数调用时,Python允许参数与声明时顺序不一致
def functionname(arg1, arg2=v):
"函数_⽂档字符串"
function_suite
return [expression]
def printinfo(name, age=8):
print('Name:{0},Age:{1}'.format(name, age))
printinfo('⼩⻢') # Name:⼩⻢,Age:8
printinfo('⼩⻢', 10) # Name:⼩⻢,Age:10
def printinfo(name, age):
print('Name:{0},Age:{1}'.format(name, age))
printinfo(age=8, name='⼩⻢') # Name:⼩⻢,Age:8
3.可变参数*args
可变参数可以从0个到无数个,自由组装成元组
加了*号的变量名会存放所有未命名的变量参数
def functionname(arg1, arg2=v, *args):
"函数_⽂档字符串"
function_suite