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)

 

posted @ 2020-08-05 11:19  XiaoLee-C  阅读(170)  评论(0编辑  收藏  举报