python函数

95 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

 一.闭包

#  闭包
#  在函数概念中提出的概念
条件:
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)

\