python中将函数赋值给变量时需要注意的一些问题

F5高可用HA配置详情 F5 HA详细配置 阅读详情

变量赋值是我们在日常开发中经常会遇到的一个问题,本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:

见过两种函数赋值给变量的形式,一种是

a=f

另一种是

a=f()

这两种形式是有区别的,分别总结一下。

1.a=f型属于将变量指向函数。

用代码验证一下:

>>> f = abs
>>> f(-10)
10

说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。现在调用f()和调用abs()是一样的了。

再举一个工厂函数的例子:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def maker(N):
  def action(X): 
    return X**N 
  return action

这个嵌套函数的外层返回值为内层函数的函数名,注意没有括号,这里有无括号是有很大区别的。此时调用外部函数:

f=maker(2)

那么如上所述,f便指向了action函数,且限制条件为N=2,可以理解为f为N等于2时的action函数。我们来调用它:

>>> f(3)
9

证明f和action函数是一样的。

2.a=f()型属于将f()的返回值赋值给a的过程

这里的a仅仅接收f()的返回值,如果f()没有返回值,那么a即被赋值为None。这里值得注意的一点是,在a=f()的执行过程中,f()会运行一次,这也是我刚刚搞明白的,如:

>>> def add(x,y):
    z=x y
    print(z)
>>>a=add(3,4)
7

这里虽然只有一个赋值语句执行了,但是却输出了结果7,说明赋值过程函数add执行了,然而a的值为None,且只能通过print语句才可以显示。不只是赋值过程函数会执行,写在return语句中也会如此。

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
>>>def log(func):
   def wrapper(*args, **kw):
     print('call %s():' % func.__name__)
     return func(*args, **kw)
   return wrapper
>>>@log
>>>def now():
    print('2015-3-25')

刚开始我以为return func(*args,**kw)这个语句是返回了now()函数(即func函数)的返回值,后来发现now函数没有返回值,即为None,所以其实是这个语句在赋值过程,

func(*args,**kw)执行了,即函数now的print语句执行了。

下面的习题中,一个变形是要求在函数调用的前后打印出'begin call'和'end call',下面一位网友的程序是这么写的:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def wrapper(*args,**kw):
   print(t 'begin call')
   result=func(*args,**kw)
   print(t 'end call')
   return result

开始不太理解为什么使用result=func(*args,**kw)这句,后来理解后才明白其实赋值本身并没有意义,只是这句话同时使得func函数运行了,所以写成

def wrapper(*args,**kw):
   print(t 'begin call')
   func(*args,**kw)
   print(t 'end call')

结果也是一样的。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助

RK3588部署YOLOv11与RKNN全流程教程 本文详细介绍了在RK3588开发板上部署YOLOv11目标检测模型的全流程。主要内容包括:PC端CUDA/cuDNN环境配置、Anaconda虚拟环境搭建、RKNN Toolkit2安装;YOLOv11模型从PyTorch到ONNX再到RKNN的格式转换;以及RK3588开发板的系统配置、RKNPU驱动安装和最终推理实现。教程提供了完整的代码示例,帮助开发者快速在边缘设备上实现高效的AI推理应用,涵盖从环境准备到实时检测的全套解决方案。 阅读详情

相关推荐

群晖NAS从入门到精通的所有帖子汇总,只要这一篇就够了

本站陆陆续续的转载、原创帖子也有十几二十篇了,从不同的角度对群晖NAS的各种骚操作都有深入的讲解,虽然很多文章都不是讲的很深入,但是针对小白入门已经是足够了,希望对小白来说是一个入门,群晖NAS的大佬们勿喷,哪里写的不对的,请随时留言西安SEO优化站长一定在第一时间纠正修改。

西安SEO优化网站资源 8万+

函数的调用

一.间接调用函数 1.调用函数有直接使用函数名加参数列表的的形式调用,测量这种方式,还可以使用将函数名赋值给一个变量,再通过变量名加形参列表的方式进行间接的调用函数。

jcf52的博客 3万+

WINCC8.1工业组态软件安装与授权配置指南

SCADA系统作为工业自动化控制的核心平台,通过实时数据采集与监控实现生产流程可视化。WINCC作为西门子旗舰级组态软件,其8.1版本凭借稳定的运行时环境在汽车制造、流程工业等领域广泛应用。本文从工业控制系统软件安装规范切入,重点解析WINCC8.1与Automation License Manager的协同工作原理,详细说明包括系统环境检查、安装包校验、授权文件配置等关键技术环节。针对工程实施中常见的内存配置不足、授权管理器报错等典型问题,提供经过现场验证的解决方案,特别适用于需要进行产线监控系统升级维护

cqwf95925的博客 1660

#python#将函数赋值给变量时的一些问题

见过两种函数赋值给变量的形式,一种是 a=f 另一种是 a=f() 这两种形式是有区别的,分别总结一下。 1.a=f型属于将变量指向函数。 用代码验证一下: >>> f = abs >>> f(-10) 10 说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。这是廖雪峰老师python教程上...

weixin_30566111的博客 346

实用电路精讲系列---仪表放大器

摘要 仪表放大器通过三级运放架构实现高共模抑制比(CMRR>100dB)和精密差分放大,其核心是第一级同相运放提供高输入阻抗和可调增益(G=1+2R/RG),第二级差分运放消除共模干扰。具有低失调(≤50μV)、低温漂(≤0.6μV/℃)特性,广泛应用于智能断路器电流监测、ECG心电信号放大等场景。典型电路采用LTC1049运放,通过匹配电阻网络实现199倍差分增益,结合输出缓冲确保信号稳定性。设计时需注意输入共模电压范围限制和增益电阻精度,优选集成IC(如AD620、INA128)以规避分立元件匹配

weixin_40590799的博客 2079

从零开始:用ZEMAX设计双高斯照相物镜的完整流程(附55mm焦距实例)

本文详细介绍了使用ZEMAX设计双高斯照相物镜的完整流程,特别针对55mm焦距实例进行了深入解析。从初始结构选择、参数设置到优化策略和像质分析,逐步指导读者掌握这一经典光学设计方法。通过具体实例展示了如何实现卓越的像差校正,适用于35mm相机标准镜头等应用场景。

onion的博客 708

python基础1:变量赋值的4种方法及类型转换

*注意:**不能多个变量赋多个值,即*a,*b,c =1,2,3,4,5,6,7,8,9会报错。六、浮点数转整数—只取整数,即使小数第一位是大于5,整数也不进一位。四、字符串内容为小数,转整数—要先转成float,再转int。一、字符串转换为整数:字符串一定得是数字。法二:连续赋值,多个变量赋值为同一个值。法四:*号,一个变量赋多个值。五、整数/布尔值转换为字符串。二、字符串转换为浮点数。三、字符串转换为布尔值。法三:多个变量多个值。int(“字符串”)

sophiasofia的博客 1781

网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理

本文记录了网络设备心跳线带宽高导致虚拟化平台不稳定的问题处理一例。

forestqq的博客 2229

python在函数中为函数外的变量赋值-------golbal

#Filename:golbal.py #在函数中为函数外的变量赋值 x=50 def func(): global x print('x is',x) x=2 print('changed global x to',x) func() print('value of x is',x)  

逆水行舟,不进则退 1万+

整车无线布置的综述

车载无线功能日益丰富,涵盖5G、GNSS、V2X等多种技术,布置需兼顾性能与美观。车顶是理想位置,鲨鱼鳍、后视镜等集成方案可优化空间。需考虑射频电缆损耗、GNSS天线视角、V2X全向覆盖等关键因素。整车测试需适应高频段需求,通过链路预算和互补天线设计优化信号。不同车型需定制方案,并注意抗干扰和多频段兼容性。(149字)

Godspeed_zwh的博客 1861

PCIe扫盲(三)

需要特别注意的是,PCIe的Spec中明确规定只有Root有权限发起配置请求(Originate Configuration Requests),也就是说PCIe系统里面的其他设备是不允许去配置其他设备的配置空间的,即peer-to-peer的配置请求是不允许的。当配置请求进行BDF路由的时候,正是依靠这些信息来确定要找的设备的。前面的文章还介绍过,Root和Switch的每一个端口中都包含一个P2P桥,并且知道桥的配置空间头(Configuration Space Header)是Type1型的。

Liuqz2009的专栏 2408

JS中闭包直接调用外层函数和把函数赋值给变量再调用有区别吗?

摘要 针对一个问题:**JS中闭包直接调用外层函数和把函数赋值给变量再调用有区别吗?**或者说简单点,直接调用函数和把函数赋值后调用一样吗?看如下程序: 注释:fun1()()的意思是执行子函数,返回孙函数,但注意,如果想这样执行,函数结构必须是这样,fun1的函数体里要return 子函数(这种多级括号操作不仅在js中,在很多高级语言都可以实现。) function fun1(){ var a...

月下独酌 2981

Jenkins离线安装保姆级教程:从下载.war包到SVN+Maven项目一键部署(附避坑脚本)

本文详细介绍了Jenkins离线安装的全流程,包括.war包下载、SVN+Maven项目配置及自动化部署。特别针对内网环境提供解决方案,涵盖插件管理、开发工具链配置、构建触发器和SSH部署等关键步骤,帮助企业在网络隔离环境下实现高效持续集成。

weixin_30096975的博客 375

python 函数赋值给变量_python中将函数赋值给变量时需要注意的一些问题

python中将函数赋值给变量时需要注意的一些问题变量赋值是我们在日常开发中经常会遇到的一个问题,本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是a=f另一种是a=f()这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:>>&g...

weixin_39581739的博客 176

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

python函数变量直接赋值_python中将函数赋值给变量时需要注意的一些问题

前言本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是a=f另一种是a=f()这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:>>> f = abs>>> f(-10)10说明变量f现在已经指向了abs函...

weixin_39548490的博客 231

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python将函数返回值赋值给变量_python中将函数赋值给变量时需要注意的一些问题...

前言本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是另一种是这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用变量f()完全相同。这是廖雪峰老师python教程上的例子,现...

weixin_29832179的博客 2206

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

python怎么把输入函数赋值给变量_python中将函数赋值给变量时需要注意的一些问题...

变量赋值是我们在日常开发中经常会遇到的一个问题,本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是a=f另一种是a=f()这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:>>> f = abs>>> f(...

weixin_39683526的博客 734

python 调用函数后赋值给变量_python中将函数赋值给变量时需要注意的一些问题...

变量赋值是我们在日常开发中经常会遇到的一个问题,本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是a=f另一种是a=f()这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:>>> f = abs>>> f(...

weixin_39956182的博客 561

python 函数内部变量源码_python中将函数赋值给变量时需要注意的一些问题

变量赋值是我们在日常开发中经常会遇到的一个问题,本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是a=f另一种是a=f()这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:>>> f = abs>>> f(...

weixin_39927059的博客 81

python定义变量名的时候、需要注意问题_python中将函数赋值给变量时需要注意的一些问题...

前言本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是a=f另一种是a=f()这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:>>> f = abs>>> f(-10)10说明变量f现在已经指向了abs函数本身。直接调用abs()函数和调用...

weixin_39870238的博客 312

python中给变量赋值时、既确定了变量的值_python中将函数赋值给变量时需要注意的一些问题...

前言本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种是a=f另一种是a=f()这两种形式是有区别的,分别总结一下。1.a=f型属于将变量指向函数。用代码验证一下:>>> f = abs>>> f(-10)10说明变量f现在已经指向了abs函...

weixin_39960145的博客 111

python中函数可以赋值给一个变量_python中函数赋值给变量时的问题注意详解

变量赋值是我们在日常开发中经常会遇到的一个问题,下面这篇文章主要给大家介绍了关于python中将函数赋值给变量时需要注意的一些问题,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。前言本文主要给大家介绍的是关于python将函数赋值给变量时需要注意的一些问题,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍:见过两种函数赋值给变量的形式,一种...

weixin_32258691的博客 3061
上一篇: python3中使用subprocess模块执行外部命令
下一篇: Python回调函数用法实例
Python热爱者
博客等级 码龄7年 3059粉丝 1330原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值