标签:关键字 bsp 位置实参 python print 返回值 入参 foo war
函数                                                     
函数作用
    减少代码冗余
    逻辑清晰
    不易维护
函数分类
    内置函数
    自定义函数
    
函数定义
    函数先定义,后使用
函数使用
    1.定义阶段
    2.使用阶段
    语法
    def func_name (para1,para2,...)
        """文档注释"""
        函数体
        return value
定义函数的三种形式
    一、无参函数
        无参函数仅仅只是执行一些操作而已,通常有返回值
    二、有参函数
        函数的功能依赖于外部参数的传入,通常都有返回值
        三元表达式
        res=x if x > y else y
    三、空函数
        定义代码模块的框架
函数的调用
    按参数分
        定义时有参,调用时必须传入参数
        定义时无参,调用时无须传入参数
    按调用函数的形式和位置分
        调用函数的语句形式
            例如:foo()
        调用语句的表达式形式
            例如:res=my_max(1,2)*123
            print(res)
        把函数调用作为另外一个函数的参数
            例如:res=my_max(my_max(10,20),30)
            print(res)
函数的返回值
    1.一个值
    2.多个值
    3.None
        没有return
        return 什么都不写
        return None
    针对多个返回值的情况
    注:1.返回值是以元组的形式返回,可以用一个变量接收;
         2.(unpack)如果是用多个变量来接收,有几个返回值,接收时就得有几个变量来接收,如果想丢弃返回值,可以使用占位符
函数参数
    从大的角度区分
        形参
        实参
    详细区分
        位置参数
        关键字参数
        默认参数
        可变长参数
        命名关键字参数
        
        位置参数
            位置形参,必须被传值
                        位置实参,与形参一一对应
        关键字参数
                        key=value
                        注意的问题
                                  1.关键字实参必须位于位置实参的后面
                                  2.不能重复对一个形参传值
        默认参数
                        一、默认参数必须跟在非默认参数后,在定义阶段就会报错
                        二、默认参数在定义阶段就已经被赋值了,而且只在定义阶段赋值一次
                        三、默认参数通常定义成不可变类型
                可变长参数
                        *args:会把溢出的按位置定义的实参都接收,以元组的形式赋值给args
                        **kwargs:会把溢出的按关键字定义的实参都接收,以字典的形式赋值给kwargs
                命名关键字参数
            
标签:关键字 bsp 位置实参 python print 返回值 入参 foo war
原文地址:http://www.cnblogs.com/geek-ace/p/6857792.html