本文已参与「新人创作礼」活动,一起开启掘金创作之路。
一.闭包
# 闭包
# 在函数概念中提出的概念
条件:
1.外部函数中定义了内部函数
2.外部函数是有返回值
3.还回的值是:内部函数名
4.内部函数引用了外部函数的变量
格式:
def 外部函数():
...
def 内部函数():
...
return 内部函数
def func(a, b):
c = 10
def inner_func():
s = a + b + c
print('相加之后的结果是:', s)
return inner_func
# 调用func
ifunc = func(6, 9)
ifunc1 = func(2, 8)
print(ifunc)
print(ifunc1)
ifunc()
ifunc1()
计数器
# 计数器
def generate_count():
container = [0]
def add_one():
container[0] = container[0] + 1
print('当前是第{}次访问'.format(container[0]))
return add_one
counter = generate_count()
counter()
counter()
counter()
二.装饰器
# 装饰器
"""
加入购物车, 付款, 修改收货地址
判断用户的登录状态
"""
def func(number):
a = 100
def inner_func():
nonlocal a
nonlocal number
number += 1
for i in range(number):
a += 1
print('修改后的a:', a)
return inner_func
f = func(5)
f()
三.获取路径
import os
path = os.path.dirname(__file__)
print(path)
path = os.path.abspath(__file__)
print(path)
path = os.getcwd()
print(path)
得到文件名
path = ''
result = os.path.split(path)
print(result)
\