IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python 函数——装饰器,闭包,推导式 -> 正文阅读

[Python知识库]python 函数——装饰器,闭包,推导式

闭包

闭包的定义需要满足以下三个条件:

~在一个外函数中定义了一个内函数

~内函数里运用了外函数的临时变量

~并且外函数的返回值是内函数的引用

def test(number):
    print('--1--')

    def test_in(number_in):
        print('--2--')
        return number + number_in

    print('--3--')
    return test_in


t1 = test(1)
t2 = t1(1)
print(t2)

装饰器

装饰器@)是一种语法糖,主要用于函数或类的基础上添加一些可重用的额外功能。从应用开发角度来看的话,我们使用装饰器来对我们的应用代码进行功能性扩展和包装,以提高代码 的可重用性可维护性

例子:

import time
def yunxing_time(fun):
    start = time.time()
    fun()
    end = time.time()
    print(f'时间差{end-start-2}')
def test1():
    print("功能:计算百以内数字和")
    time.sleep(2)
def test2():
    print("功能:计算百以内偶数和")
    time.sleep(2)
fun = eval(input('输入要计算的函数'))
yunxing_time(fun)

例子2:

def print_hw(f):  # f = test
    print("hello world")
    return f

@print_hw  # test = print_hw(test) # test = f
def test():
    sum_li = sum([1,2,3])
    print(sum_li)
    return sum_li
# test = print_hw(test) #
test()

推导式

介绍:

python中有一种特有的语法,就是推导式(又称为解析式)。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。

例子:

li = [6,2,6,7,-15,8,-17,-10,-15,-4]
li1 = []
for i in li:
    if i < 0:
        i = i**2
        li1.append(i)
print(li1)#[225, 289, 100, 225, 16]

li1 = [i**2 for i in li if i<0]

for i in '123':
    for j in 'abc':
        print(i+j)

li = [i+j for i in '123' for j in 'abc']
print(li)

li = ['age','name']
dic = {i:li.index(i) for i in li}
print(dic)

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-04 10:59:51  更:2022-02-04 11:01:08 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:43:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码