zoukankan      html  css  js  c++  java
  • Python从入门到放弃_函数的参数 -- 动态参数

    # def eat(a,b,v,f,g):
    # print(a,b,v,f,g)
    #
    # eat('方便面','包子','麻团','豆浆','咸菜')

    # def eat(a,b,*args): # 聚合 打包  
    # print(a,b,args) # 元祖
    # # 形参位置  : 位置参数 > 动态位置参数
    # eat('方便面','包子','麻团','豆浆','咸菜','油条','火鸡面','小笼包','炒饼')

    # def eat(b=1,**kwargs): # b=1 b ='2'
    # print(kwargs) # {'a': '1', 'c': '4', 'd': '5', 'f': '22'}
    # # print(kwargs['b']) #keyError
    # print(b)
    # eat(a='1',b='2',c='4',d='5',f='22')

    # 动态关键字参数 默认参数 > 动态默认参数


    # def func(a,b,*args): # 聚合
    # print(a,b,*args) # 打散
    #
    # func(1,2,3,4,5,6)

    # def func(a=1,b=2,**kwargs): # 默认参数** 聚合
    # print(a,b,kwargs)
    #
    # func(a=56,c=22,b=444,d=66)


    # def func(a,b,c=1,*args,**kwargs): 错误的示范
    # print(a,b,c,args,kwargs)
    #
    # func(1,2,3,4,5,6,7,8,d=1,f=3)

    # def func(a,b,*args,c=1,**kwargs): # 位置 > 动态位置 > 默认参数 > 动态默认参数
    # print(a,b,c,args,kwargs)
    #
    # func(1,2,3,4,5,6,7,8,c=55,d=1,f=3)

    # def func(*args,**kwargs): #万能 无敌
    # print(args,kwargs)
    #
    # func(1,2,3,4,a=1,b=2,c=3) # 位置 关键字 混合

    # lst =[1,2,3,5,4]
    # def func(*args): # 聚合

    # print(*args) #打散
    # func(*lst) # 打散 去壳
    # dic= {'1':22,'2':55}

    # def func(**kwargs): #聚合
    # print(kwargs)
    # func(**dic) #打散 1 = '22' ,'2' = 55

    # 函数的注释

    # def func(a,**kwargs):
    # '''
    # :param a: 年龄
    # :param kwargs: 万能的默认参数
    # :return: 返回值
    # '''
    # # print(args)
    # # print(kwargs)
    # # return args
    # # print(func.__doc__) #查看函数的注释 函数名.__doc__

    # 函数的名称空间
    # 内置空间
    # 全局空间
    # 局部空间

    # Python关键字是存在内置空间的
    # py文件中顶头写的内容就存在全局空间
    # 函数内写的变量存在局部空间

    # a = 1
    # b = 2
    #
    # def func():
    # print(1)

    # a = 10
    # def func():
    # a = 1 # 局部空间
    # print(a)
    # func()
    #
    # def func1():
    # print(a) # 局部空间不是共享的
    # func1()

    # 找值顺序: 局部空间 > 全局空间 > 内置空间
    # 加载顺序: 内置空间 > 全局空间 > 局部空间

    # 作用域命名空间:
    #
    # 内置空间 + 全局空间 == 全局 globals()
    # 局部空间 locals()

    # 函数的嵌套:

    # def func():
    # print(1)
    #
    # func()

    # func()
    #
    # def func():
    # print(1)


    # def func():
    # func1()
    # print(1)
    #
    # def func2():
    # print(33)
    # func()
    #
    # def func1():
    # print(2)
    #
    # func2()

    # def func():
    # print(1)
    # def func1():
    # print(2)
    # func3()
    # def func2():
    # print(5)
    # def func3():
    # print(4)
    # func2() #飘红不代表报错
    # func1()
    # func()

    # def fun1():
    # print(1)
    # def fun2():
    # print(2)
    # def fun3():
    # print(3)
    # def fun6():
    # print(6)
    # fun3()
    # def fun4():
    # print(4)
    # def fun7():
    # print(7)
    # fun7()
    # def fun5():
    # print(5)
    # fun5()
    # fun4()
    # fun6()
    # fun2()
    # fun1()

    # globals()
    # locals()

    # a = 10
    # def func():
    # a = 20
    # def func1():
    # pass
    # print(a)
    # # print(globals()) #查看全局作用域 内容的
    # # print(locals()) # 查看局部作用域 内容的
    # func()


    # global 全局
    # nonlocal

    # a = 10 #
    # def func():
    # global c # 申明我要修改全局的变量a的值
    # b = 100
    # print(b) #100
    # print(locals()) # {} 存放我局部作用域里的一个容器 {'b':100}
    # func()
    # print(a) #10

    # a = 11
    # def func():
    # def fun1():
    # def func2():
    # global a
    # a =100
    # print(a)
    # fun1()
    # func()
    # print(a)


    # n = 1
    # def func():
    # n = 10
    # def func2():
    # def func1():
    # nonlocal n #修改 离得 最近 上一次 里的变量值,
    # # 上一次没有就继续往上找,找到全局最外层局部
    # n = 100
    # print(n) # 10
    # func1()
    # func2()
    # func()
    # print(n)


    # b = 10
    # def func():
    # b = 100
    # print(b)
    # def func1():
    # print(b) # 100
    # def func2():
    # print(b) # 100
    # def func3():
    # nonlocal b
    # b = 5
    # print(b) # 5
    # func3()
    # print(b) # 5
    # func2()
    # print(b) # 5
    # func1()
    # print(b) # 5
    # func()
    # print(b) # 10

  • 相关阅读:
    查看用户密码
    OPM批次成本后台表
    查询物料事务处理历史记录脚本
    接收会计事件表和接收会计分录表
    为应付发票批添加ORG_ID
    项目环境配置剩余部分
    配置IDEA的基本设置操作
    NB: JAVA_HOME should point to a JDK not a JRE
    Windows10下的JAVA运行环境搭建 ——第一天
    python中的可变与不可变对象的区别
  • 原文地址:https://www.cnblogs.com/fp233/p/10273979.html
Copyright © 2011-2022 走看看