函数(记录一下需要看的内容)
调用函数
调用一个函数,需要知道函数的名称和参数。
调用函数时,如果传入的参数数量和参数类型不对,会报TypeError的错。
函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”。
Python存在不少内置函数,可通过官方文档查看相关函数定义:https://docs.python.org/3/library/functions.html。
定义函数
定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。
例:
def sum(x,y): return x+y
请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回。
如果没有return语句,函数执行完毕后也会返回结果,只是结果为None。return None可以简写为return。
空函数
如果想定义一个什么事也不做的空函数,可以用pass语句:
def nop():
pass
pass可以用来作为占位符,比如现在还没想好怎么写函数的代码,就可以先放一个pass,让代码能运行起来。
参数检查
当传入了不恰当的参数时,内置函数会检查出参数错误,而我们定义的函数没有参数检查,出错信息不会提示参数错误。则这个函数定义不够完善。
数据类型检查可以用内置函数isinstance()实现。
isinstance(object,classinfo )
raise [Exception [, args [, traceback]]]
#定义一个函数求和 def sum(x,y): if not isinstance(x,(int,float)): raise TypeError('错误数据类型') if not isinstance(y,(int,float)): raise TypeError('错误数据类型') return x+y
返回多个值
在游戏中经常需要从一个点移动到另一个点,给出坐标、位移和角度,就可以计算出新的新的坐标。
多个值返回的是一个tuple!但是,在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值,所以,Python的函数返回多值其实就是返回一个tuple,但写起来更方便。
总结
定义函数时,需要确定函数名和参数个数;
如果有必要,可以先对参数的数据类型做检查;
函数体内部可以用return随时返回函数结果;
函数执行完毕也没有return语句时,自动return None。
函数可以同时返回多个值,但其实就是一个tuple

浙公网安备 33010602011771号