Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法 目录 Python函数02/函数的动态参数/函数的注释/名称空间/函数的嵌套/global以及nolocal的用法 内容大纲 1.函数的动态参数 2.函数的注释 3.名称空间 4.函数的嵌套 5.global及nolocal的用法 6.今日总结 内容大纲 1.函数的动态参数 2.函数的注释 3.名称空间 4.函数的嵌套 5.global以及nolocal的用法 1.函数的动态参数 # d…
03,动态参数 *args,**kwargs # 用户传入到函数中的实参数量不定时,或者是为了以后拓展,# 此时要用到动态参数*args,**kwargs(万能参数.)# *args接收的是所有的位置参数.# **kwargs接收的是所有的关键字参数.# 位置参数,*args,默认参数, **kwargs # def func1(*args, **kwargs): # print(args) # print(kwargs) # func1(1, 2, 3, 4) # func1(x=4, y=5…
今天学习内容有函数的返回值.函数参数的使用.名称空间与作用域.函数嵌套. 下来我们一一查看. 函数的返回值 看几个栗子: def func(x): y=func() print(y) def foo(): return None res=foo() print(res) def foo(): } res=foo() print(res['a']) def foo(): },,,] res=foo() print(res) 结果:({'a': 1}, 1, 'a', [1, 2]) def foo…
一 函数的名称空间 内置空间:存放python解释器内置函数的空间 全局空间:py文件运行时开辟的,存放的是执行的py文件(出去函数内部)的所有的变量与值的对用关系,整个py文件结束后才会消失. 局部空间:函数定义时,会记录下函数名与函数体的对应关系(什么都没有,只要内存地址,只有执行时才会在内存中临时开辟一个临时空间,存放的函数中的变量与值的对应关系,随着函数的结束而消失) 加载顺序:内置空间 > 全局空间 > 局部空间 取值顺序:局部空间 > 全局空间 > 内置空间 作用域 全…
1.动态参数 函数的形式参数个数不确定.函数的形式数据类型不确定,使用动态参数,*代表元组,**代表字典. 2.代码案例演示 1 def func(*args,**kwargs): 2 print(args) 3 print(type(args)) 4 print(kwargs) 5 print(type(kwargs)) 6 func(a=1) 7 func("a","b") 8 func([x for x in range(6)]) 9 func(1,2,3)…
函数名是可以被引用,传递的是函数的内存地址.函数名赋值给变量后,只需要在变量后加上括号即可调用函数. 名称空间 内置名称空间:在python解释器中提前定义完的名字 全局名称空间:if.while.for循环中内部定义的变量,均是全局变量:存放于文件级别的变量,也是全局名称. 局部名称空间:函数内定义的所有名称,均存放在当前函数的名称空间,属于局部名称空间. 生命周期 内置名称空间:解释器生效内置名称空间即生效,解释器关闭即失效. 全局名称空间:.py文件生效全局名称空间生效,代码执行结束后失效…
第七章面向对象 1.面向过程编程 核心是"过程"二字,过程指的是解决问题的步骤,即先干什么再干什么 基于该思想编写程序就好比在编写一条流水线,是一种机械式的思维方式 优点:复杂的问题流程化.进而简单化 ​ 缺点:可扩展性差 2.面向对象 核心"对象"二字,对象指的是特征(变量)与技能(函数)的结合体,需要创造出一个个的具体存在的对象,程序的执行就是由对象直接交互完成 优点:可扩展性强 ​ 缺点:编程的复杂度高于面向过程 7.1 类 7.11 定义类 1.类:对象是特…
1.函数的动态参数 1.1 动态接收位置参数 在参数位置用*表示接受任意参数 def eat(*args): print('我想吃',args) eat('蒸羊羔','蒸熊掌','蒸鹿尾儿','烧花鸭','烧雏鸡','烧子鹅','卤猪','卤鸭','酱鸡','腊肉','松花小肚儿','晾肉','香肠儿') # 收到的结果是一个tuple元祖 动态接收参数的时候要注意: 动态参数必须在位置参数后面 def eat(*args): print('我想吃',args,a,b) eat('蒸羊羔','蒸…
动态参数 : *args 实参角度: 定义一个函数时, * 将所有的位置参数聚合到一个元祖中 顺序 : 位置参数 > * args > 默认参数 > **kwargs 接受所有参数 : def fun (*args,**kwargs): print(args,kwargs) fun(11,2,sex = 3,) 在实参位置上给一个序列,列表,可迭代对象前面叫上*表示把这个序列按顺序打散,打散字典需要用** 在形参的位置上的*表示把接受到的参数组合成一个元组, 仅限关键字参数.(了解) 6…
前面第二章简单介绍了函数定义的语法,经过后面一系列的学习,函数有必要再次介绍一下相关内容. 一.    关于函数的语法 1.    语法 def 函数名([参数]): 函数文档字符串 函数体          2.    函数名:是必须符合Python名称规范要求的标识符,需要避免使用Python的关键字: 3.    参数:称为函数的形参,调用时传递的真实数据称为实参,函数的参数可以没有,也可以是多个甚至可变个数: 4.    函数文档字符串:在"Python语句的补充和修订"那节老…