python 可以处理未计算的表达式参数吗?

2023-12-14

我想将一条语句传递给 python 函数。该语句只应在我在函数中执行其他操作后执行。默认情况下,python 计算语句,然后将其结果作为参数传递。

有什么办法可以改变这种行为吗?

我发现的唯一方法是将语句包装在函数中,然后传递该函数。


大多数 Python 程序员都认为传递函数是解决此问题的自然、最安全且最可维护的方法:

In [ 2]: add_one = lambda a: a+1

In [ 3]: def my_func2(a, statement):
   ....:     print a
   ....:     a = statement(a)
   ....:     print a
   ....:     

In [ 4]: a
Out[ 4]: 9

In [ 5]: my_func2(a, add_one)
9
10

但有一个exec声明提供了一种不自然、不安全且可能令人困惑的替代方案:

In [ 6]: def my_func(a, statement):
   ....:     print a
   ....:     exec(statement)
   ....:     print a
   ....:     

In [ 7]: a = 9

In [ 8]: my_func(a, 'a += 1')
9
10

老实说,我不明白你为什么要这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 可以处理未计算的表达式参数吗? 的相关文章

  • 使用 python 制作本地服务器应用程序的最佳方法

    我想要简单轻松地集成 python 和 vba 人们 如果他们在阅读本文后亲自见到我 阅读本文可能会杀了我 但我正在使用 django 开发服务器来实现此目的 有没有什么简单又好的方法 仅举个例子 我想使用 python 模块 openpy
  • 将 pandas 数据框中的列减去其第一个值

    我需要将 pandas 数据帧的一列中的所有元素减去其第一个值 在这段代码中 pandas 抱怨 self inferred type 我猜这是循环引用 df Time df Time df Time 0 在这段代码中 pandas 抱怨为
  • 打印 scrapy 请求的“响应”

    我正在尝试学习 scrapy 在遵循教程的同时 我正在尝试进行细微的调整 我想简单地从请求中获取响应内容 然后我会将响应传递到教程代码中 但我无法发出请求并获取响应内容 建议就好 from scrapy http import Respon
  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • 替换字符串列表中的 \x00 的最佳方法?

    我有一个来自已解析 PE 文件的值列表 其中包括 x00每个部分末尾的空字节 我希望能够删除 x00字符串中的字节而不删除所有字节 x 文件中的 s 我试过做 replace and re sub 但并没有取得太大成功 使用Python 2
  • Dask DataFrame 的逐行处理

    我需要处理一个大文件并更改一些值 我想做这样的事情 for index row in dataFrame iterrows foo doSomeStuffWith row lol doOtherStuffWith row dataFrame
  • 类属性在功能上依赖于其他类属性

    我正在尝试使用静态类属性来定义另一个静态类属性 我认为可以通过以下代码来实现 f lambda s s 1 class A foo foo bar f A foo 然而 这导致NameError name A is not defined
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • NLTK、搭配问题:需要解包的值太多(预期为 2)

    我尝试使用 NLTK 检索搭配 但出现错误 我使用内置的古腾堡语料库 I wrote alice nltk corpus gutenberg fileids 7 al nltk corpus gutenberg words alice al
  • Python3 查找 2 个列表中有多少个差异才能相等

    假设我们有 2 个列表 always具有相同的长度和always包含字符串 list1 sot sot ts gg gg gg list2 gg gg gg gg gg sot 我们需要找到 其中有多少项list2应该改变 以便它等于lis
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • 我可以使用 dask 创建 multivariate_normal 矩阵吗?

    有点相关这个帖子 https stackoverflow com questions 52337612 random multivariate normal on a dask array 我正在尝试复制multivariate norma
  • 使用循环将对象添加到列表(python)

    我正在尝试使用 while 循环将对象添加到列表中 基本上这就是我想做的 class x pass choice raw input pick what you want to do while choice 0 if choice 1 E
  • urllib2.urlopen() 是否实际获取页面?

    当我使用 urllib2 urlopen 时 我在考虑它只是为了读取标题还是实际上带回整个网页 IE 是否真的通过 urlopen 调用或 read 调用获取 HTML 页面 handle urllib2 urlopen url html
  • FastText - 由于 C++ 扩展未能分配内存,无法加载 model.bin

    我正在尝试使用 FastText Python APIhttps pypi python org pypi fasttext https pypi python org pypi fasttext虽然 据我所知 此 API 无法加载较新的
  • 在pycharm中调试python代码

    这个问题类似于this https stackoverflow com questions 10240018 how to use pycharm to debug python script一 我正在尝试调试pyethapp https
  • 是否可以写一个负的python类型注释

    这可能听起来不合理 但现在我需要否定类型注释 我的意思是这样的 an int Not Iterable a string Iterable 这是因为我为一个函数编写了一个重载 而 mypy 不理解我 我的功能看起来像这样 overload
  • 使用 Doc2vec 后如何解释 Clusters 结果?

    我正在使用 doc2vec 将关注者的前 100 条推文转换为矢量表示形式 例如 v1 v100 之后 我使用向量表示来进行 K 均值聚类 model Doc2Vec documents t size 100 alpha 035 windo
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5

随机推荐

  • Typescript 重载箭头函数

    所以我们可以这样做 export function myMethod param number number export function myMethod param string string export function myMe
  • 从 Spyder 关闭远程内核

    我在集群上使用远程内核 并使用 Spyder 连接到该集群 为此 我在集群上启动我的内核python m spyder kernels console 然后 我将在 jupyter 运行时目录中创建的 json 文件复制传输到本地计算机 然
  • Android - NDK 共享库使用 nm / objdump 提取相关 JNI 挂钩

    我正在尝试从包含 JNI 粘合代码的共享库中提取相关符号 但 nm 似乎没有足够的帮助 方法签名不存在 所以我不知道要传递哪些参数 有任何想法吗 bash 3 2 arm linux androideabi nm D Desktop bac
  • 是否有一个 SQL 函数可以生成给定范围的序列号?

    我需要生成一个具有给定范围的连续整数数组 以便将其用于 SELECT tbl pk id FROM tbl WHERE tbl pk id NOT IN sequential array 如果您有给定的连续整数范围 即起点和终点 您应该能够
  • 使用 dplyr 对分组数据进行 cumsum

    我有一个数据框df 可以下载here 指的是看起来像这样的公司登记册 Provider ID Local Authority month year entry exit total 1 1 102642676 Warwickshire 10
  • 是否可以在一页中多次运行一个 Angular 2 应用程序?

    我正在从 asp net web 表单迁移到 Angular 4 我正在一步一步地进行 更换一个零件并将其投入生产 我在页面中多次加载相同的 Angular 应用程序时遇到问题 例如用代码
  • 删除奇怪的字体编码

    您好 我希望这是一个简单的问题 我正在通过 API 加载一些简单的数据 但是有些用户已经将其用户名设置为如下所示的精美字体 如何使用 PHP 将其转换为简单的标准编码 以便它显示为 Web Reposts 谢谢
  • 无法从 python os.path.abspath 获取有效的路径名

    我有以下包含文件绝对目录的字符串 D Sample Project testXcl data xlsx 将其传递到 os path abspath 时 我得到以下结果 D Sample Project testXcl data xlsx 发
  • Firebase 项目 URL 出现错误:添加 www 会导致“您的连接不是私有的”

    我有一个 firebase 项目 除非我使用以下命令输入我的项目的 url 否则该项目可以正确加载www 在前 这有效 https myproject firebaseapp com 这会返回一个错误 https www myproject
  • 根据条件创建新的 numpy 数组

    我有 2 个 numpy 数组 aa np random rand 5 5 bb np random rand 5 5 当aa和bb都超过0 5时 如何创建一个值为1的新数组 由于关注性能并使用两种方法 因此可以添加一些方法 一种方法是获取
  • 无法导入pygame

    我已经在我的 Mac 上安装了 pygames 使用 pygame org 站点上找到的以下软件包中的安装程序 pygame 1 9 1release python org 32bit py2 7 macosx10 3 dmg 我已经使用
  • 访问 asp.虚拟机外部的.net开发服务器

    伙计们 我已经用头撞桌子 而不是电脑 好几个小时了 我在并行虚拟机中运行 VS 2008 如果使用本地主机 我可以访问虚拟机中的开发服务器 如果我使用虚拟机的指定IP或尝试从外部访问它 则不起作用 所有防火墙均已关闭 并且我验证可以从外部访
  • 如何在uiimage中绘制文本?

    我想设置我的文字Sold Out到 UIimage 的中心 但它不在中心 func textToImage drawText text NSString inImage image UIImage atPoint point CGPoint
  • SQLite 尝试选择时出现异常,没有这样的列

    我有以下数据库助手类 public int studentExists String studid Cursor dataCount mDb rawQuery select count from usertable where KEY ST
  • 使用默认内容初始化tinyMCE

    我有一个简单的问题tinyMCE 我有一个文本区域 其中id mainbuffer 以及函数tinyMCE get id setContent data 仅在被调用时有效onclick function 来自链接 并且在加载页面时不起作用
  • ListView拖放,错误“IndexOutOfBoundsException:索引-1超出长度4的范围”

    我正在为 ListView 实现拖放系统 我从这段代码中得到了灵感 https gist github com jewelsea 7821196 这就是我所做的 package com example ratatouille23 View
  • PHP四舍五入,圆/天花板/地板?

    假设我有以下两个数字 a 77 5 b 74 5 我如何得到以下内容 a 80 b 70 我看过圆形 天花板和地板 但我不知道该怎么做 谢谢 PHP 支持负精度round功能 a round a 1 这与写作几乎相同 a round a 1
  • 如何在 python 中编写自定义编码来清理数据?

    我知道我以前在另一份工作中做过这样的事 但我不记得我做了什么 我有一个数据库 里面充满了 varchar 和 memo 字段 这些字段是从 Office 网页以及谁知道其他地方剪切和粘贴的 这开始给我带来编码错误 由于 Python 有一个
  • IntersectionObserver 和位置:绝对

    当观察到的元素有时 IntersectionObserver 似乎不起作用position absolute并且根不是 视口 我在这里错过了什么吗 尝试删除position absolute查看预期结果 let intersectionRo
  • python 可以处理未计算的表达式参数吗?

    我想将一条语句传递给 python 函数 该语句只应在我在函数中执行其他操作后执行 默认情况下 python 计算语句 然后将其结果作为参数传递 有什么办法可以改变这种行为吗 我发现的唯一方法是将语句包装在函数中 然后传递该函数 大多数 P