美文网首页
Python | 函数

Python | 函数

作者: Ricsy | 来源:发表于2019-10-01 00:28 被阅读0次


    一、函数的介绍

    • 佛祖镇楼
    print("                            _ooOoo_  ")
    print("                           o8888888o  ")
    print("                           88  .  88  ")
    print("                           (| -_- |)  ")
    print("                            O\\ = /O  ")
    print("                        ____/`---'\\____  ")
    print("                      .   ' \\| |// `.  ")
    print("                       / \\||| : |||// \\  ")
    print("                     / _||||| -:- |||||- \\  ")
    print("                       | | \\\\\\ - /// | |  ")
    print("                     | \\_| ''\\---/'' | |  ")
    print("                      \\ .-\\__ `-` ___/-. /  ")
    print("                   ___`. .' /--.--\\ `. . __  ")
    print("                ."" '< `.___\\_<|>_/___.' >'"".  ")
    print("               | | : `- \\`.;`\\ _ /`;.`/ - ` : | |  ")
    print("                 \\ \\ `-. \\_ __\\ /__ _/ .-` / /  ")
    print("         ======`-.____`-.___\\_____/___.-`____.-'======  ")
    print("                            `=---='  ")
    print("  ")
    print("         .............................................  ")
    print("                  佛祖镇楼                  BUG辟易  ")
    print("          佛曰:  ")
    print("                  写字楼里写字间,写字间里程序员;  ")
    print("                  程序人员写程序,又拿程序换酒钱。  ")
    print("                  酒醒只在网上坐,酒醉还来网下眠;  ")
    print("                  酒醉酒醒日复日,网上网下年复年。  ")
    print("                  但愿老死电脑间,不愿鞠躬老板前;  ")
    print("                  奔驰宝马贵者趣,公交自行程序员。  ")
    print("                  别人笑我忒疯癫,我笑自己命太贱;  ")
    print("                  不见满街漂亮妹,哪个归得程序员?")
    

    二、函数的使用

    • 先定义后调用
    • 好的函数定义一般要包括文档说明和注释
      提高代码的可读性,便于工作的交接
    • 函数参数可以没有,即是缺省函数

    2.1 先定义后调用函数

    序号 函数类型
    1 无参数无返回值
    2 无参数有返回值
    3 有参数无返回值
    4 有参数有返回值

    类型1

    def my_func():
        ...
        [pass]
    

    对应的调用方法:

    my_func()
    

    类型2

    def my_func():
        ...
        return 返回值
    

    对应的调用方法:

    varname = my_func()
    

    类型3

    def my_func(形参1, 形参2,...):
        ...
        [pass]
    

    对应的调用方法:

    my_func(实参1, 实参2,...)
    

    类型4

    def my_func(形参1, 形参2,...):
        ...
        return 返回值
    

    对应的调用方法:

    varname = my_func(实参1, 实参2,...)
    

    2.2 函数参数

    涉及形参、实参和默认值

    参数类型 描述
    缺省参数 1. 调用函数时有实参,则取实参,否则取默认值



    2. 定义函数时形参使用了缺省参数,那么后面的形参也必须使用缺省参数

    位置参数 形参与实参必须在位置上一一对应

    关键字参数 在调用函数时使用了函数的形参名,等号前后没有空格

    2.3 return作用

    1. return 结束语句,提前结束函数
      作为性能考虑
    return
    
    1. 返回函数返回值,并结束函数
    函数返回值 描述
    一个return return 值
    多个return return 值1, 值2,...        默认返回元组

    return (值1, 值2,...)       返回元组

    return [值1, 值2,...]       返回列表

    return {"key2":值1, "key1":值2,...} 返回字典

    2.4 函数嵌套

    函数的定义中存在调用了其他定义的函数
    格式:

    1. 正确示例
    def my_func1():
        pass
    
    
    def my_func2():
        my_func1()
        pass
    
    1. 错误示例
    def my_func1():
        my_func2()
        pass
    
    
    def my_func2():
        pass
    

    2.5 拆包

    1. 可以对含多个元素的对象(类型是列表、元组、字典)进行拆包

    eg:

    my_list = [1, 3.14, 'hello', True]
    num, pi, my_str, my_bool = my_list
    print(num, pi, my_str, my_bool)
    

    结果:1 3.14 hello True

    1. 可以对含多个值的返回值(类型是列表、元组、字典)进行拆包

    2.6 交换变量的值

    eg:

    a = 0
    b = 1
    tmp = a
    a = b
    b = tmp
    print(a, b)
    

    结果:1 0

    2.7 函数的文档说明

    help()

    • 查看类的所有方法
      格式:help(类名)

    eg:

    help(str)

    • 查看类的某个方法
      格式:help(类名.方法名)

    只写方法名,没有小括号

    eg:

    help(str.join)

    提示:

    • 查看的自定义的函数
      help()返回的是函数中的注释
      eg:
    def add2num(a, b):
       """
       这个函数使用计算两个数的和
       :param a: 加数1
       :param b: 加数2
       :return:  返回值是两个加数的和
       """
       return a+b
    
    help(add2num)
    
    结果:

    2.8 局部变量与全局变量

    函数使用变量时,优先使用局部变量,然后才是全局变量

    函数变量 描述 作用域
    局部变量 指定义在函数内部的变量

    1. 不同函数内部的局部变量可以重名
    仅限于函数的内部,函数外部不可以调用
    全局变量 指定义在函数外部的变量

    1. 全局变量不可以重名
    整个模块内

    eg:

    • 函数内部使用global标识全局变量,此时全局变量可以修改
    num = 10
    
    
    def print_info():
        global num
        print(num)
    
        
    print_info()
    

    更新中......


    相关文章

      网友评论

          本文标题:Python | 函数

          本文链接:https://www.haomeiwen.com/subject/yltkpctx.html