博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python 函数(2)
阅读量:5287 次
发布时间:2019-06-14

本文共 725 字,大约阅读时间需要 2 分钟。

 

 

 

 

 

函数进阶

一、函数参数--动态传参
动态参数必须在位置参数的后面
1、动态接收位置参数*args
接受的数据类型为元组( , )
2、动态接受关键字参数**kwargs
动态传参顺序
位置参数 > 动态参数* > 默认值参数>**关键字动态传参
*,**
形参: 聚合(接受元组合)
实参:打散
二、命名空间
1、定义
我们给存放名字和值的关系的空间起名为命名空间
2、分类
1、内置命名空间:存在python解释器中,自带的装在内置函数名的空间
2、全局命名空间:我们直接在py文件中,创建的变量名和函数名都属于全局命名空间
3、局部名空间:在函数内部申明的变量或者函数内部的函数名都属于局部命名空间
3、加载顺序
1、加载顺序:内置命名空间->全局命名空间->局部名空间
2、取值顺序:局部命名空间->全局命名空间-> 内置命名空间
4、作用域
1、全局作用域:全局命名空间+内置命名空间
globals( )查看全局作用域中的内容
2、局部作用域:局部命名空间
locals( )查看打的作用域中的内容,既可以查看全局,也可以查看局部作用域
三、函数的嵌套
定义:就是函数内部中定义了其他的函数

四、关键字global和nonlocal
global 变量名
1、如果全局变量中存在该变量,则将该变量引入局部,可以进行赋值操作
2、如果不存在,则在局部变量中直接创建该变量,并升华为全局变量
nonlocal 变量名(仅在局部中讯在变量)
在局部命名空间中,先往上一层寻找变量,找到就引入,没找到就继续往上上层寻找...最后没找到就报错

 

转载于:https://www.cnblogs.com/angle6-liu/p/9885840.html

你可能感兴趣的文章
Linux中防火墙centos
查看>>
[JS]递归对象或数组
查看>>
linux sed命令
查看>>
程序存储问题
查看>>
优雅地书写回调——Promise
查看>>
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
css & input type & search icon
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
c# 文件笔记
查看>>
心得25--JDK新特性9-泛型1-加深介绍
查看>>
HDU-1255 覆盖的面积 (扫描线)
查看>>
Java 中 静态方法与非静态方法的区别
查看>>
Java 序列化
查看>>
Java 时间处理实例
查看>>
mysql启动过程
查看>>
利用AMPScript获取Uber用户数据的访问权限
查看>>
Mysql 数据库操作
查看>>