FishC《零基础学习python》笔记-- 第017讲、 018讲、 019讲、020讲、021讲:函数

  1. 都是重复一段代码,为什么我要使用函数(而不使用简单的拷贝黏贴)呢?

函数方便在不同的地方去调用。
1)可以降低代码量(调用函数只需要一行,而拷贝黏贴需要N倍代码);
2)可以降低维护成本(函数只需修改def部分内容,而拷贝黏贴需要每一处出现的地方都做修改;
3)使程序更容易读(比看到重复的100行代码好)。

  1. 函数可以有多个参数吗?

可以(参数使函数具有个性化)。

  1. 创建函数使用什么关键字,要注意什么?

使用def关键字,要注意函数名后面要加上英文小括号“()”,然后小括号后面是冒号“:”,然后缩进部分均属于函数体的内容。

  1. 请问这个函数有多少个参数?
def MyFun((x, y), (a, b)):
	return x * y - a * b

错误,不能使用元组做参数。

  1. 请问调用以下这个函数会打印什么内容?
def hello():
    print('Hello World!')
    return
	print('Welcome To FishC.com!')

Hello World!

  1. 函数文档和直接用“#”号为函数写注释有什么不同?

给函数写文档是为了让别人可以更好的理解你的函数,这是一个好习惯。
函数文档说明可通过 _ _doc _ _查看。

def MyFirstFunction():
	'函数文档在函数定义的最开头部分,用不记名字符串表示`
	print('I love FishC.com')

	#我们看到在函数开头写下的字符串是不会打印出来的,它会作为函数的一部分存储起来,
	这个我们称之为函数文档字符串,它的功能和注释一样。


 - 函数文档字符串可按如下方式访问:MyFirstFunction()._ _ doc_ _

 - 我们用help()来访问这个函数也可以看到这个文档字符串:help(MyFirstFunction)

直接用“#”号表示单行注释。

  1. 使用关键字参数,可以有效避免什么问题的出现?

避免参数赋值顺序出错。
关键字参数,是指函数在调用的时候,带上参数的名字去指定具体调用的是哪个参数,从而可以不用按照参数的顺序调用函数。

  1. 默认参数和关键字参数表面最大的区别是什么?

关键字参数是在函数调用的时候,通过参数名制定需要赋值的参数,这样做就不怕因为搞不清参数的顺序而导致函数调用出错;
默认参数是在参数定义的过程中,为形参赋初值,当函数调用的时候,不传递实参,则默认使用形参的初始值代替。

  1. python的return语句可以返回多个不同类型的值吗?

可以,默认用逗号隔开,是以元组的形式返回,当然也可以用列表包含起来返回。
函数体里写:return 123,3.14,scorn,‘北京’(返回元组)
return [‘石头’,123,3.32,dim](返回列表)

  1. 全局变量:(不到万不得已不要使用全局变量)

a)代码可读性变差
b)代码安全性降低

  1. 如果希望在函数中修改全局变量的值,应该使用什么关键字?

global关键字
格式:global 变量名;变量名=值
(当全局变量不适用时,考虑使用闭包更稳定和安全。)

  1. 在嵌套的函数中,如果希望在内部函数修改外部函数的局部变量,应该使用什么关键字?

nonlocal关键字
格式:nonlocal 变量名;变量名=值

  1. python的函数可以嵌套,但要注意访问的作用域问题

无法直接调用内部函数(调用外部函数,外部函数里调用内部函数)

附:
zig():可以将两个列表中的元素,一一对应组成元组,最后形成列表中的元组
map()和lambda表达式:可以将多个列表中的元素一一对应组成多个列表,最后形成大列表中的多个列表。

你可能感兴趣的:(python,python)