2018.11.1笔记

1.函数

不定长参数/动态位置参数(*args):以元组形式存储多余的位置参数

动态关键字参数(**kwargs):以字典形式存储多余的关键字参数

参数的排放顺序为:必需参数(位置参数)>不定长参数(*args) >关键字参数>不定长(动态)关键字参数(**kwargs)

在形参前加*可以将参数聚合

在实参前加*可以按顺序解包,拆开

** 和 *作用类似 **用于字典

在函数内容的开始可以文档字符串(用三对引号括起来成为文档字符串)用于存放函数说明,func.__doc__方法返回函数说明

2.名称空间

存放名字和值的关系的空间起一个名字叫做名称空间

命名空间分类:         

1. 全局命名空间:我们直接在py文件中, 函数外声明的变量都属于全局命名空间(全局变量)

2. 局部命名空间:在函数中声明的变量会放在局部命名空间(局部变量)

3. 内置命名空间:存放python解释器提供的名字,如list, tuple, str, int都存在内置命名空间 

加载顺序:内置>全局>局部

取值顺序:局部>全局>内置

3.作用域

分为全局作用域和局部作用域

全局作用域:全局命名空间+内置命名空间       

局部作用域:局部命名空间

可以使用globals()来查看全局变量和函数,locals()查看当前位置的局部变量和函数

4.函数的嵌套

def func1():   
    print('func1')  

def func2():   
    print('func2')   
    func1()  

func2()

运行结果为:

func2
func1

5.global与nonlocal

global:表示函数中使用全局变量

nonlocal:表示函数中使用父级的局部变量

猜你喜欢

转载自blog.csdn.net/tszty1997/article/details/83622017
今日推荐