python基础7

匿名函数
一般应用于函数的简化或者为了一个功能。
lambda 形式参数 : 表达式
如果函数没有参数,形式参数可以省略。匿名函数执行完后会被立即释放。
函数也是一种数据,函数的类型是FunctionType
系统自带的是BulitFunctionType
form types import FunctionType
f = 函数名
f 具有和函数和abs一样的功能。
偏函数:根据场景重置参数参数的默认值。
闭包
函数内部声明了另外一个函数

def out():
	name= 'xaioming'
	print('外部函数')
	def inner():
		print('外部函数')
		inner()
	out()

nolocal:内部函数想要修改外部函数中局部变量,需要对变量进行nolocal修饰。

def outter(a):
	num =100
	def chang_num():
		nolocal num
		num =300
	change_num()
	print(num) #300
outter(10) 

locals:获得函数中所有局部变量。
globals:获取所有的全局变量
name__系统设置的全局变量 记录的是当前模块名 如果当前模块是被主动运行的模块值是__main

if __name__ == '__main__':
	print('程序入口')

装饰器
外层函数的返回值是内层函数

def out(接受被装饰的数据):
	def inner():
		装饰
	return inner
@out  @语法糖
def intter():
	print(...)
eg:
def get_time(func):    func接受的是被装饰的功能
	def inner(*args):    通过inner函数()将参数传递给func
		import time
		start_time = time.time()
		res = func(*args)  执行要装饰的东西
		end_time = time.time()
		return(res)   返回未装饰的结果
	return inner 返回装饰好的结果
@get_time
def nine_table(row):  参数传递
	for i in range(1,row):
		for j in range(1,i + 1):
			print(f'{i}*{j}={i*j}',end='\t')
		print()
nine_table(5)
对指定功能@装饰器时的外部函数时:这个时候外部函数执行了 并且把被修饰的函数赋值给func = nine_table 外部函数执行完 将内部函数返回 解释器还是使用nine_table = inner {nine_table的值变化了}再执行nine_table的时候 执行inner了 修饰的全部内容全部加在inner里。

添加装饰器及其流程
添加的时候是从离其本质最近的那个开始依次添加。
执行的时候,从离其本质最远的那个开始执行。
偏函数
根据场景 重置函数的参数的默认值
1、自定义函数
2、借助funtools模块下的功能

from funtools import partial
cus_int = partial(int,base=10)
res = cus_int('01230332')
print(res)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值