函数方便在不同的地方去调用。
1)可以降低代码量(调用函数只需要一行,而拷贝黏贴需要N倍代码);
2)可以降低维护成本(函数只需修改def部分内容,而拷贝黏贴需要每一处出现的地方都做修改;
3)使程序更容易读(比看到重复的100行代码好)。
可以(参数使函数具有个性化)。
使用def关键字,要注意函数名后面要加上英文小括号“()”,然后小括号后面是冒号“:”,然后缩进部分均属于函数体的内容。
def MyFun((x, y), (a, b)):
return x * y - a * b
错误,不能使用元组做参数。
def hello():
print('Hello World!')
return
print('Welcome To FishC.com!')
Hello World!
给函数写文档是为了让别人可以更好的理解你的函数,这是一个好习惯。
函数文档说明可通过 _ _doc _ _查看。
def MyFirstFunction():
'函数文档在函数定义的最开头部分,用不记名字符串表示`
print('I love FishC.com')
#我们看到在函数开头写下的字符串是不会打印出来的,它会作为函数的一部分存储起来,
这个我们称之为函数文档字符串,它的功能和注释一样。
- 函数文档字符串可按如下方式访问:MyFirstFunction()._ _ doc_ _
- 我们用help()来访问这个函数也可以看到这个文档字符串:help(MyFirstFunction)
直接用“#”号表示单行注释。
避免参数赋值顺序出错。
关键字参数,是指函数在调用的时候,带上参数的名字去指定具体调用的是哪个参数,从而可以不用按照参数的顺序调用函数。
关键字参数是在函数调用的时候,通过参数名制定需要赋值的参数,这样做就不怕因为搞不清参数的顺序而导致函数调用出错;
默认参数是在参数定义的过程中,为形参赋初值,当函数调用的时候,不传递实参,则默认使用形参的初始值代替。
可以,默认用逗号隔开,是以元组的形式返回,当然也可以用列表包含起来返回。
函数体里写:return 123,3.14,scorn,‘北京’(返回元组)
return [‘石头’,123,3.32,dim](返回列表)
a)代码可读性变差
b)代码安全性降低
global关键字
格式:global 变量名;变量名=值
(当全局变量不适用时,考虑使用闭包更稳定和安全。)
nonlocal关键字
格式:nonlocal 变量名;变量名=值
无法直接调用内部函数(调用外部函数,外部函数里调用内部函数)
附:
zig():可以将两个列表中的元素,一一对应组成元组,最后形成列表中的元组
map()和lambda表达式:可以将多个列表中的元素一一对应组成多个列表,最后形成大列表中的多个列表。