python函数三

PyTorch GPU版本安装避坑指南:解决RuntimeError: No CUDA GPUs are available报错 本文详细解析了PyTorch GPU版本安装过程中常见的`RuntimeError: No CUDA GPUs are available`报错问题,从硬件驱动检查、CUDA Toolkit与cuDNN安装到PyTorch GPU版本的正确配置,提供了全面的避坑指南和实战验证方法,帮助开发者高效搭建深度学习开发环境。 阅读详情

高阶函数

满足2个条件任意一个都是高阶函数

  • 接受函数作为参数
  • 将函数作为返回值的函数也是高阶函数

当我们使用一个函数作为参数时,实际上就是将指定的代码传给目标函数

 l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_l = []
def fn1(i): # 定义一个函数用来检测序列中的数是否是偶数
    if i % 2 == 0:
        return True
    return False
def fn2(i): # 检测序列是否大于5
    if i > 5:
        return True
    return False
def fn3(i): # 检测3的倍数
    if i % 3 == 0:
        return True
    return False

def fn(func, lis):
    for n in lis:
        if func(n):
            new_l.append(n)
    return new_l
r1 = fn(fn1, l)
print(r1) 
# [2, 4, 6, 8, 10]
# r2 = fn(fn2, l)
# print(r2) 
# [6, 7, 8, 9, 10]  
# r3 = fn(fn3, l)
# print(r3)
# [3, 6, 9]   

匿名函数

lambda表达式,用来创建一些简单的函数,它是函数创建的另一种方式,其实现了python中的最小函数
语法:lambda 参数列表 :返回值

  • 匿名函数最大的好处是只会调用一次,用完之后会从内存中消失
  • 匿名函数一般都是作为参数使用,其他地方不用
    你会发现直接使用lambda返回的是内存地址,且该内存地址没有函数名,但fn函数有(函数名就是fn),所以lambda称为匿名函数
def fn(x):
    return x*x
r = fn(3)
print(r)
print(fn)
# 相当于
print(lambda x:x*x)
print((lambda x:x*x)(3))
# <function fn at 0x000001F100215048>
# 9
# <function <lambda> at 0x00000208573755E8>
# 9
fn = lambda a, b:a+b
print(fn(1,1))
# 2

匿名函数一般作为参数使用,但上述方法是直接使用,我们引入
filter(funcation, sequence)

  1. 可以从序列中过滤出符合条件的元素,保存到另一个序列中
  2. 参数:
  • 函数(function),根据该函数来过滤序列(可迭代结构),可有可无
  • 序列(sequence),需要过滤的序列(可迭代结构)
  1. 返回值:
  • 过滤后的新序列
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
new_l = []
def fn1(i): # 定义一个函数用来检测序列中的数是否是偶数
    if i % 2 == 0:
        return True
    return False
r = filter(fn1,l)
print(r) # 其返回的扔是filter对象
print(list(r)) # 加list即可返回新序列
# <filter object at 0x00000140872FD6C8>
# [2, 4, 6, 8, 10]

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
r = filter(None,l)
print(r)
print(list(r))
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
r = filter(lambda x:x*x,range(10))
print(r)
print(list(r))
# <filter object at 0x0000023C57D474C8>
# [1, 2, 3, 4, 5, 6, 7, 8, 9]

map()

  • map()函数可以对可迭代对象中所有元素做指定的操作,然后将其添加到一个新的对象中返回
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
r = map(lambda i:i+1,l)
print(r)
print(tuple(r)) # 也可用元组返回新的序列
# (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)

sort()

  • sort()函数可以对列表当中的元素进行排序
    sort之前有讲过,这里介绍另一种方法,在参数值加入函数
lis = [1, 5, 4, 2, 6, '8', '6']
r = lis.sort(key = int)
print(r)
print(lis)
# None
# [1, 2, 4, 5, 6, '6', '8']

sorted()

  • 会返回一个新的列表
lis = [1, 5, 4, 2, 6, '8', '6']
r = sorted(lis, key = int)
print(r)
# [1, 2, 4, 5, 6, '6', '8']

闭包

  1. 通过闭包可以创建一些只有当前函数才能访问的对象,还可以将一些私有的对象藏到闭包中
  • 当我们不希望别人修改我们的数据时,将数据放入函数内部,不要放到全局变量中
  1. 形成闭包的条件
  • 函数嵌套
  • 将内部函数作为返回值返回
  • 内部函数必须使用到外部函数的变量
r = []
def avg():
    r = []
    def count(n):
        r.append(n)
        return sum(r)/len(r)

    return count # 这里返回的是count函数对象
a = avg() # 我们用a接受avg函数,实际上接受的是avg的返回值,其返回的是count对象
print(a(10)) # a(10)实际上是count(10)
print(r) # 我们打印r可以看到,我们在内部函数修改了列表r,全局变量中的r没有改变
# 10.0
# []

装饰器的引入

当我想修改一个函数时,我们直接修改函数体即可,但当我们向修改多个函数,就会产生一些问题

  • 修改数量很多
  • 不方便后期的维护
  • 会违反开闭原则(ocp),程序设计,要求对程序的扩展,但要关闭对程序的修改
    不修改原函数对函数进行修改
def add(a, b):
    return a+b
def expand(a, b):
    print('函数执行前')
    r = add(a, b) 
    print('函数执行后')   
    return r
r = expand(1, 1)    
print(r)
# 函数执行前
# 函数执行后
# 2

如果我想要在更改其他函数,该expand就不好用了,也要修改,那我还不如一个一个函数改,下面我们使用装饰器

装饰器的使用

def add(a, b):
    return a+b


def decorator(old):
    def new_func(*args, **kwargs):
        print('我来自装饰器')
        r = old(*args, **kwargs)
        return r
    return new_func
r = decorator(add)
print(r(1, 1))

@decorator
def baybay():
    print('拜拜~')
baybay()
# 我来自装饰器
# 2
# 我来自装饰器
# 拜拜~

decorator(old)类似于这样的函数就是一个装饰器,通过装饰器可以不在修改原函数的情况下,对函数进行扩展
在开发中都是通过装饰器来扩展函数功能

3060台式机 Ubuntu 双系统部署 LingBot-Map 完整指南 摘要: 本文详细介绍了在配备RTX 3060显卡的台式机上部署Ubuntu双系统并安装LingBot-Map 3D重建模型的完整流程。LingBot-Map作为蚂蚁灵波科技开源的Transformer架构模型,在流式3D场景重建中展现出高效性能(20 FPS)和卓越精度(ATE仅6.42米)。指南涵盖关键准备步骤、UEFI分区原理、Ubuntu安装流程(推荐150GB空间及手动分区方案),以及后续驱动配置说明,特别强调RTX 3060需12GB显存支持,并提供了数据备份、Secure Boot处理等实用建议 阅读详情

相关推荐

门信号表达式_毫米波FMCW体制雷达的信号处理中的FFT等效为相干积累的解释

民用的77G或24G毫米波雷达目前普遍采用发射波形为一连串线性调频连续波(即所谓chirp信号,啁啾信号,线性调频波如果能够下变频到人耳可接收的频段,听起来很类似“啁啾”“啁啾”的鸟叫声)。一串前后相继的chirp信号与一段长时间的“空闲”组成一帧信号(比如汽车雷达整机厂普遍采用一帧为50ms)。用频谱仪观察chirp信号串,横坐标为时间,纵坐标为频率,如下图所示(此处引用TI产品手册...

weixin_39725756的博客 1949

匿名函数

用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。 lambda函数的语法只包含一个语句,如下: lambda [arg1 [,arg2,.....argn]]:expression 如下实例: sum = lambda arg1, arg2: arg1 + arg2 #调用sum函数 print ("Value of total...

weixin_30767835的博客 235

Android息屏后台任务保活实战:从定时器失效到厂商白名单破解

本文深入探讨了Android应用在息屏后定时任务失效的根源,即系统为省电而触发的休眠机制。文章提供了从传统方案失效分析到实战破解的完整路径,核心在于引导用户将应用加入电池优化白名单并开启自启动权限,从而合法绕过限制。同时,结合WorkManager、AlarmManager等可靠定时方案,实现稳定的后台任务执行。

weixin_28475533的博客 424

python key lambda_使用“key”和lambda表达式的python max函数

lambda是一个匿名函数,它等价于:def func(p):return p.totalScore现在max变成:max(players, key=func)但是由于def语句是复合语句,因此不能在需要表达式的地方使用它们,这就是为什么有时使用lambda语句的原因。注意lambda相当于您在def的返回语句中放入的内容。因此,不能在lambda中使用语句,只允许使用表达式。做什么max?max...

weixin_39633452的博客 1186

f_fs.c 初始化流程(进行中)

前言 之所以选择f_fs.c作为这系列的开始,因为usb在/driver/usb下面的内容实在太多太多,如果讲各种各样点会太分散了。所以决定切入点以实际使用为主,就是f_fs了,目前我了解这是做bulk裸传输使用的,具体的通信协议自己确定。 初始化部分 开始点从这个路径下说起, /drivers/usb/gadget/function/f_fs.c 然后f_fs.c第一个使用的是include/composite.h中的宏定义function #define DECLARE_USB_FUNCTION(_n

weixin_36406973的博客 1967

在线考试系统源码+数据库+word+ppt(高分毕业设计)

本系统通过Spring Cloud实现微服务拆分,将授权、考试、监控等功能解耦,既保证了系统的扩展性,也便于后期维护。基于OAuth2.0的单点登录,解决多服务统一认证问题;考试与练习模式分离,满足不同场景需求;集成Druid与Hystrix,保障系统监控与稳定性。

weixin_44355158的博客 738

python六剑客:map()、lambda()、filter()、reduce()、推导类表、切片

一:map():映射 map()有两个参数,一个函数,一个序列,序列中每一个元素都会做为参数传给前边的函数,然后生成新的列表, 第二个参数必须用一个序列:元祖,列表,字符串 >>> map(str,[1,2,3,4])['1', '2', '3', '4'] 也可以自己定义函数 搭配lambda函数 >>> map(lambda x:...

weixin_30571465的博客 249

PCIE Lane Margining Linux 环境配置

Copy all the provided files in folder PYC38 or PYC310 to the created pcie_lmt folder. Index of /ftp/python/3.8.10/Copy below commands to a file and rename it as "scan_pcie.py", the commands are from "685662 PCIe-LMT-Gen4_Gen5-r0p77.pdf" in the lane margi

mysongshine的博客 1439

python--- map函数和lambda函数

1...lambda 函数相当于一个匿名函数,顾名思义就是不用取名字的函数,相当于现实中的匿名信。 举例: lambda x,y: x+y m = lambda x,y,z: (x-y)*z print (m(3,1,2))  运行结果:4 2...map函数  map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 li...

weixin_42528089的博客 1615

《UDS协议从入门到精通(UDS速查手册)》(完结撒花版)

专栏总目录,文中介绍了UDS协议相关的基础知识和一些术语,给出了详细介绍6大类26种服务的跳转目录。

车载系统攻城狮 9万+

使用Spring Cloud实现银行核心系统的案例示例

以下是一个基于Spring Cloud的银行核心业务系统实现方案,涵盖架构设计、关键模块实现与生产级部署方案。该系统设计满足金融级高可用、强一致性和监管合规要求。

银行信息系统应用架构详解 1175

学python的第七天---基础进阶

一、数组翻转 写法一:myself a[:size]=a[:size][::-1] 写法二:函数 写法三: 二、复制数组 写法一: 写法二: 写法三: 三、最小公倍数 写法一: 写法二: 写法三: gcd 写法四: 其他:两数相加 其他:打印数字 四、排序 五、走方格 写法一: 写法二: global为全局变量哦! 写法三: 六、数组去重 写法一: 写法二: 写法三: 七、三元组排序

qq_51408826的博客 1399

YOLO26 正式发布源代码!极致速度优化方案, 面向工业级落地的目标检测模型!

YOLO26 作为 Ultralytics 公司于 2025 年 9 月发布的最新一代目标检测模型,在架构设计和技术实现上展现了显著的创新。本文深入分析了 YOLO26 的核心架构改进和技术原理,重点探讨了其在边界框回归、推理流程、损失函数设计和优化算法方面的突破性进展。

魔改工程师的博客 1247

python 三引号_2.python之print()函数

如果你已经按照上一篇的课程搞定了python环境,那么便可以直接进入本节课的学习。本节课要讲述的内容是print()函数。在课程开始之前,要重点说明一件事,代码输入时必须将输入法切换成英文状态。因为print()函数中的括号是英文括号,未切换程序将会报错。1、print()函数的作用print()函数在python中用于打印,把括号内的内容打印在控制台或者终端里面,是python中很常见的操作。有...

weixin_39956350的博客 392

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

python学习002——python三大基础函数

python学习002_python三大基础函数python中的过滤器filter()函数,map函数,reduce函数

qq_54000767的博客 771

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

python计算三个数的和_python函数的应用很广,用python函数求三个数的和和平均值...

python函数在实际中是需要经常应用到的,对代码进行封装成功能模块,而python函数应用有哪些呢?下面羽忆教程为你介绍用python函数打印图形和数算。python函数应用下面小编会用两个简单python函数打印横线以及python函数求和以及平均值的例子为你展示python函数应用,提升你对python函数的理解。python函数自定义打印横线一般打印横线只需要一个print输出就可以解决,...

weixin_39602891的博客 3422

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python 实验三 函数

编写一个函数func(str),计算并返回字符串str中的数字、字母及其他类型字符的个数在func函数中利用元组定义数字、字母、空格、其它,并初始化为0。之后利用for循环对字符遍历,依次if判断是哪种字符类型内置函数: 结果 验证哥德巴赫猜想:任意一个大于2的偶数都可以表示成2个素数之和。编写一个函数isGDBH(n)将传入的6~100之间的偶数表示为2个素数之和,结果保存在列表中返回。例如,函数传入参数10,则返回[“10=3+7”, “10=5+5”]输入一个数,验证输入的数是否在6~100之间,调用

张时贰的博客 5640

python实验三 函数

3. 拓展 :科赫曲线正向、反向绘制,加入绘制速度、绘制颜色等额外 功能 提示 :递归函数需注意终止条件,避免栈溢。draw_koch_curve(order=3, speed=3) # 绘制3阶科赫曲线,速度3。1. 基础 :编写函数 cal_factorial(n)计算阶乘(循环实现)。raise ValueError("n必须为非负整数")2. 进阶 :用递归实现斐波那契数列(考虑添加缓存优化)。实验 3 函数与代码复用(2 学时) 目的:理解。

weixin_74937211的博客 1635

python3三大常用函数之zip、map、reduce介绍

在python编码过程中,实际上是写机器学习代码过程中,我发现有三个高频函数被使用,也就是这篇博客要介绍的zip、map以及reduce三大函数。 其中map、zip是python的内置函数,也就是全局函数,在python3中reduce函数不再是内置函数,它被放在了functools模块中了。 对于内置函数我们可以在python窗口界面中通过help(func)命令方式获取其使用方法。 一、zi...

Yoryky的专栏 1136

Python函数三

Python函数三一、高阶函数二、闭包三、装饰器的引入四、装饰器 一、高阶函数 接收函数作为参数,或者将函数作为返回值返回的函数就是高阶函数 二、闭包 将函数作为返回值也是高阶函数我们也称为闭包 闭包的好处 通过闭包可以创建一些只有当前函数能访问的变量 可以将一些私有数据藏到闭包中 形成闭包的条件 函数嵌套 将内部函数作为返回值返回 内部函数必须要使用到外部函数的变量 三、装饰器的引入 我们可以直接通过修改函数中的代码来完成需求,但是会产生以下一些问题 如果修改的函数多,修改起来会比

wangkei_cn的博客 114

python复习三之函数

知识点汇总: 1-函数的概念: 1-就是一段代码 2-一段操作流程 优点: 1- 代码量少-简洁 2- 维护起来方便—在函数的定义进行修改 2-函数的定义: 1-def 函数名(): 函数内容 2- 函数的定义是不会执行函数内容的代码的! 3-案例: def func(): print(‘step1’) print(‘step2’) 4- type(func) ----<class ‘fu...

zy50721235的博客 2858

【Python】实验三 Python函数

一、实验目的: 1、熟练函数的定义及表示 2、掌握pip安装第三方python库 3、灵活运用第三方库解决实际应用。 二、实验要求: 1、要求有任务独立在计算独立完成实验任务 2、每题前面要有注释说明班级、学号姓名、以及题目说明 3、所有编写程序要求编程界面友好,互动性好。 4、课程结束前在学习通提交课内完成任务的代码,课后补充完成本实验报告, 三、实验内容: 编写程序:读取指定EXCEL grade.xlsx 中的成绩,并生成统计图表: 说明 1)定义getScores(filepath),返回成

m0_51011320的博客 753

python中print函数 以及单引号、双引号、三引号

直接面对——引号,就是为了保证打印出来的东东符合预期 如:print("小菜菜") 结果是: ================1=============================================2=============================================3============================================...

weixin_34233856的博客 2484

Python(三)之函数

申明:资料来源于网络及书本,通过理解、实践、整理成学习笔记。 文章目录函数定义函数参数变量作用域lambda表达式递归函数 函数定义 定义一个函数只要以"def"开头即可,Python内置了很多有用的函数,我们可以直接调用。 def function_name(arg): function body return value 函数参数 变量作用域 lambda表达式 递归函数 ...

贺加贝的博客 3191

python实验三 函数的应用

【代码】python实验三 函数的应用。

木子一个Lee的博客 1754

python笔记三:函数

一.变量的作用域 1.用globals和locals显示出全局限量和局部变量 print(locals()) print(globals()) 2.可以用global声明全局变量 def func(): global b b=100 print(b) func() #不调用func,直接print(b)会报错,不调用func就没有执行声明全局变量b print(...

qq_41518266的博客 313
上一篇: python函数二
下一篇: python面向对象一
shell-x
博客等级 码龄7年 16粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值