python 函数
1、关于返回值
def funcname(parameter_list) pass
return value 返回的是函数处理后的结果;如果没有return 语句,python 默认返回的是None
2、python是解释性语言
先调用再定义,会报错
得先定义再调用才行,这就是解释性语言的特点
3、python 执行顺序分析
4、返回结果的接收:尽量使用序列解包,不要用list tuple 这种 利用下标来取出返回结果。因为前者看着有意义,但是后者看着无意义。
#coding=utf8 def test(x,y): fx = x*3 fy = y*3+10 return fx,fy #序列解包 outx,outy = test(1,3) print(outx,outy)
5、函数的参数
(1)通用参数,实参、形参(用得最多)
(2)关键字参数(还没用过)。指定x = 3,y=2,传递的时候,不需要按照传递顺序赋值
#coding=utf-8 def myprint (x,y): print(x,y) myprint(y = 2,x = 3) # Project/python_ToolCodes/test5.py" # (3, 2)
(3)默认参数
def add(x,y=2): print(x,y) add(5) # Project/python_ToolCodes/test5.py" # (5, 2)
坑1:默认值在非默认前面,不管怎么使用都是报错的。所有默认参数必须在非默认参数的后面
def add(x=2,y): print(x,y) add(5) # Project/python_ToolCodes/test5.py" # File "/Users/anson/Documents/Project/python_ToolCodes/test5.py", line 15 # def add(x=2,y): # SyntaxError: non-default argument follows default argument
def add(x=2,y): print(x,y) add(y = 5) # File "/Users/anson/Documents/Project/python_ToolCodes/test5.py", line 25 # def add(x=2,y): # SyntaxError: non-default argument follows default argument
def add(x=2,y): print(x,y) add(3,5) # File "/Users/anson/Documents/Project/python_ToolCodes/test5.py", line 25 # def add(x=2,y): # SyntaxError: non-default argument follows default argument
坑2: 多个默认参数,修改其中一个默认参数,不按照顺序填满所有参数,就得指定修改的默认参数
要修改z的值,填满y的值
def add (x,y=2,z=3): print(x,y,z) add (1,2,4)
指定修改的默认参数
def add (x,y=2,z=3): print(x,y,z) add (1,z =4)