蒙特卡洛仿真
2023-12-05 19:28:40
函数复习
def func(*args,**kwargs):
pass
#func可以接受所有的参数
*形参:接受多余的位置实参 以元组的形式存储
**形参:接受多余的关键字参数 以字典的形式存储
函数对象的作用:
①引用 f1=func
②作为函数的返回值 return func
③作为函数的参数 f2(func)
④作为容器的元素lis=[func,123,f1,f2]
名称空间(命名空间)与作用域:
在Python中,万物皆对象。
命名空间是一个真实存在的对象,并不是一个虚拟的抽象的概念,在目前的Python实现中,命名空间是通过Python的字典(dict)来实现的。
每位开发者在写代码时,都要用到变量,通常在定义变量的同时给它赋一个值(这个值本质上是在一块内存区域中存储的),再使用变量。
在Python中,变量只是一个引用,指向的是这个被赋值的对象。由于变量是一个引用关系,也就存在一对一的映射,因此需要有一个地方保存这个对应关系。命名空间就是用来保存这种对应关系的。
总结一下,命名空间是一个特殊对象,它保存的是变量名(标识符)到对象(本质上是内存区域)的映射。
1)内置命名空间(Built-in),Python语言内置的命名空间,在写代码时,任何地方都可以访问。
例如,Python内置的数据类型(如bool,float,int,list,dict,set,str等类型)、内置函数(如sum,min,max,print等函数)和标准异常(如Exception、IOError、IndexError、NameError等异常)等等。
2)全局命名空间(Global),模块被加载时创建的命名空间,记录模块中导入的其它模块,定义的全局变量、函数和类
3)局部命名空间(Local),函数被调用时创建的命名空间,记录函数的参数、函数体中定义的所有变量。
查找顺序:从当前开始查找,如果当前是局部则是:局部》》全局》》内置
执行顺序:内置(python解释权启动的时候就生成了)》》全局(文件执行的时候生成)》》局部(函数被调用的时候)
作用域:全局名称空间和局部名称空间可能会存在同样的变量名,但这两个互不干扰。
闭包函数 装饰器:装饰器其实就是闭包函数的一个应用
def deco(func):
def wrapper(*args,**kwargs):
res=func()
return res
return wrapper
三层装饰器:给装饰器传参
可迭代对象:具有iter方法
迭代器对象:具有iter和next对象
生成器是自定义的迭代器,函数内部使用yield关键字 函数调用后会变成生成器
递归:一定要有结束语句!
匿名函数:lamda 参数:逻辑语句 匿名函数执行一次就失效了(没有函数名可用于重复调用)一般与max min 连用
*************************************************************************************************************************
模块
模块的形式:
①自定义模块
②内置模块,如time
③第三方库
④文件夹模块,python中叫包
time.py
要使用time模块里面的sleep()功能,有以下方式:
import time :
①打开time文件 ②将time文件放入python解释器 然后将time里的名字放入特定的time模块的名称空间③使用time.sleep()的时候会去time名称空间里面寻找对应的方法 time点出来
优点:time里面有的方法全拿到了
缺点:内存占用大
from time import sleep:
①打开time文件 ②将time文件放入python解释器 然后将time里名字放入特定的time模块的名称空间③把sleep单独拿出来放入“from time import time.py”的名称空间④直接使用sleep()就可以了
from time import *:导入全部
day1503开始
标签:函数,命名,模块,day15,func,time,空间,复习 From: https://www.cnblogs.com/yyyjw/p/17878161.html