• 小识函数


    语法:
    def + 函数名():
       函数体/代码块
    调用:函数名()
    return 不写返回None,写了不写值返回None,多个返回值显示的是元组
    return 返回的内容不受限制  谁调的,返回谁
    return 以下代码不执行,终止函数
    eg:
    1 def yue(name,name1):  # 括号内的是形参
    2     print('乔狗去约了一条小母狗')
    3     print('俩人开了一个房间')
    4     print('一晚上没出来')
    5     return '惨不忍睹啊'
    6 print(yue())
    参数:
    定义的参数是  形参
    调用的参数是  实参        # 形参和实参的数量要一致
    从实参到形参的过程叫传参
    被使用的形参会变色

    yue('乔狗','乔二狗')             # 位置参数
    yue(name='乔狗',name1='乔二狗')  # 关键字参数
    yue('乔狗',name1='乔二狗')       # 混合参数

    eg:
    1 def func(name,age,addr,sex=''):
    2     print(f'{name},{age},{addr},{sex}')
    3 func('乔狗',20,'鸡西')
    4 func('乔二狗',22,'哈尔滨')
    5 func('乔二哈',23,'北京')
    6 func('乔二拆',24,'上海')

    不写其他值,sex默认为男,写了添加自己写的值。


    介绍一下无敌传参:
    1 def func(*args,**kwargs):  #用此方法万能传参
    2     print(args)
    3     print(kwargs)
    4 func(1,2,3,a=4,b=5)
    位置参数 > 关键字参数

      讲一下形参的位置:

    位置 *args 默认值 **kwargs
    
    
    1 def chi(*food):
    2     print(food)
    3 chi("大米饭")
    4 chi("大米饭","炒鸡蛋")
    5 chi("大米饭","炒鸡蛋","吃完就滚蛋")
    6 chi("大米饭","炒鸡蛋","兄dei你还吃吗?")
    
    

      动态传参:

    *,**:
    形参:聚合
    位置参数 * 得到元组
    关键字** 得到字典
    实参:打散
    列表,字符串,元素 —>*
    字典 —>**
    位置参数聚合:
    1 def func(a,b,*args):        # 聚合
    2     print(a,b,*args)        # 打散
    3 func(1,2,3,4,5,6)

     默认参数聚合:

    1 def func(a=1,b=2,**kwargs):  # 默认参数 聚合
    2     print(a,b,kwargs)
    1 def func(a,b,*args,c=1,**kwargs):   # 位置 > 动态位置 > 默认参数 > 默认动态参数
    2     print(a,b,c,args,kwargs)
    1 lst=[1,2,3,4,5]
    2 def func(*args):    # 聚合
    3     print(*args)    # 打散
    4 func(*lst)          # 打散
    作用域和名称空间:
    名称空间: 用来存放名字(变量, 函数名, 类名, 引入的模块名)的
    1. 全局名称空间: 我们在py文件中自己写的变量, 函数.....
    2. 内置名称空间: 我们python解释器提供好的一些内置内容(print, input....)
    3. 局部名称空间: 在我们执行函数的时候.会产生一个局部名称空间. 放的是: 函数内部的内容(变量, 函数,类...)
    名称空间可能会有无数个, 局部名称空间而言. 相对是独立的.一般互不干扰
    
    
    作用域:
    1. 全局作用域: 内置+全局
    2. 局部作用域: 局部
    globals() 查看全局作用域
    locals() 查看当前作用域
    
    
    函数的嵌套:
    在函数中声明函数
    在内部函数中使用变量的时候, 查找顺序: 先找自己 -> 上一层 -> 上一层..全局 -> 内置

    nonlocal和global关键字(重点):
    global: 在局部引入全局变量
    nonlocal: 在局部...内层函数引入外层离他最近的那个变量.外层没有再找外层,找全局最外层局部
    
    
    print(func.__doc__)        # 函数名.__doc__  查看函数的注释
     
     
     
     
     
  • 相关阅读:
    C++笔记-智能指针 shared_ptr
    Linux笔记-性能调优工具perf
    git submodule 如何push代码
    性能测试工具gperftools使用
    Linux信号使用及自定义信号
    DNN在推荐系统中的应用参考资料
    vscode远程代码同步
    感知机模型到DNN模型
    c++笔记-libcurl多线程并发时的core【转载】
    go笔记-熔断器
  • 原文地址:https://www.cnblogs.com/53Dawns/p/10239461.html
Copyright © 2020-2023  润新知