Python:为变量重新赋值(使用函数)[重复]

2023-12-20

可能的重复:
Python:如何通过引用传递变量? https://stackoverflow.com/questions/986006/python-how-do-i-pass-a-variable-by-reference

如何为作为函数参数传递的变量重新赋值?

例如,我想做的是:

foo = True

def convert(foo):
    if foo == True:
        foo = 'on'
    elif foo == False:
        foo = 'off'
    return foo

where foo现在是一个字符串。上述方法的问题在于,为了改变foo从布尔类型到字符串类型必须传递以下内容:

foo = convert(foo)

而我想做类似的事情:

convert(foo)

or,

foo.convert()

有任何想法吗?


foo = convert(foo)

是实现这一目标的最干净、最明确的方法。这是大多数人推荐的方式,如果您确定您甚至需要将字符串分配给bool多变的。

foo.convert()

是您可以对需要定义的类的实例执行的操作。你可以做到,但不值得这么麻烦。只需重新分配变量即可。

convert(foo) # actually, just convert()

也可以工作,但你必须使用global中的关键字convert功能。不建议这样做,尤其是当它很容易避免时。

In [1]: foo = True

In [2]: def convert():
   ...:    global foo
   ...:    foo = 'on' if foo else 'off'
   ...:     

In [3]: convert()

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

Python:为变量重新赋值(使用函数)[重复] 的相关文章

  • 不明白这个 haskell 代码中的内容

    我有一些 Haskell 代码 我正在尝试完成它 但我不明白其中发生了什么 type Bag a a gt Int emptyB Bag a emptyB e gt 0 countB Eq a gt Bag a gt a gt Int co
  • DataFrame 在函数内部修改

    我面临一个我以前从未观察到的函数内数据帧修改的问题 有没有一种方法可以处理这个问题 以便初始数据帧不被修改 def test df df tt np nan return df dff pd DataFrame data 现在 当我打印时d
  • Python:记录垃圾收集器

    我有一个 python 应用程序 有一些性能问题 我想将垃圾收集器的事件 特别是何时调用 添加到我的日志中 是否可以 thanks http docs python org library gc html gc set debug http
  • Python 中的安全解除引用

    Groovy 有一个很好的安全取消引用运算符 这有助于避免 NullPointerExceptions variable method The method仅当以下情况时才会被调用variable is not null 有没有办法在 Py
  • 如何在 Swift 中使用函数数组

    我已经阅读了我可以在这里找到的所有关于函数数组的帖子 太棒了 你能做到 我估计 但没有一篇文章实际上展示了如何使用它们 至少不是我想要做的 这就是我想要的 它们都可以采用相同的参数 但这不是必需的 这篇文章很接近 将允许我循环执行每个函数
  • Python sqlite3游标没有属性commit

    当我运行这段代码时 path Scripts wallpapers single png conn sqlite3 connect Users Heaven Library Application Support Dock desktopp
  • conda 无法从 yml 创建环境

    我尝试运行下面的代码来从 YAML 文件创建虚拟 Python 环境 我在 Ubuntu 服务器上的命令行中运行代码 虚拟环境名为 py36 当我运行下面的代码时 我收到下面的消息 环境也没有被创建 这个问题是因为我有几个必须使用 pip
  • 如何从谷歌云存储桶读取音频文件并在datalab笔记本中使用ipd播放

    我想在数据实验室笔记本中播放我从谷歌云存储桶中读取的声音文件 这个怎么做 import numpy as np import IPython display as ipd import librosa import soundfile as
  • 如何删除 Tkinter 网格布局中的整行

    我正在尝试使用 Tkinter 进行测试应用程序 我使用网格布局管理器创建了一个表 如下所示 有两个按钮 Add row and 删除行 Add row按预期工作 我如何删除选定的行 我的想法是为每一行提供一个检查按钮 如下所示 并且可以删
  • 使用 Scipy imsave 将 Numpy 数组保存到图像时保留未更改的数据

    使用 Scipy 保存二维 Numpy 数组 单个值 时toimage or imsave像素值与 Numpy 数组中的像素值不完全匹配 相反 在某些区域 主要是边缘 图像算法似乎使用某种插值 是否有一个选项可以停止插值并保留准确的数据 例
  • 在Python中创建一个新表

    我正在尝试从数控机床中提取数据 事件每毫秒发生一次 我需要过滤掉一些用管道 分隔的变量分隔符 PuTTy exe 程序生成的日志文件 我尝试阅读熊猫 但列不在同一位置 df pd read table data log sep 日志文件的一
  • Django 的 URL 覆盖率测试为 0%,为什么?

    使用姜戈鼻子 我对 URL 进行了测试 但 URL 覆盖率仍然为 0 为什么 python manage py 测试配置文件 这是我的报道 Name Stmts Miss Cover Missing profiles 0 0 100 pro
  • 在 Flask (WSGI) 中使用全局单例,我是否需要担心竞争条件? [复制]

    这个问题在这里已经有答案了 Flask 的 hello world 演示是 from flask import Flask app Flask name app route def hello return Hello World if n
  • 杂乱的扭曲连接在不干净的时尚中消失了。没有代理。已经尝试过标题

    我正在尝试抓取这个网站 https www5 apply2jobs com jupitermed ProfExt index cfm fuseaction mExternal searchJobs https www5 apply2jobs
  • 对文本变量进行数学求和? (例如 5865/100 )

    我有一个变量是 whatever 5865 100 这是一个文本变量 我希望它计算 5865 100 以便我可以将其添加到其他数字并进行计算 Number format 不起作用 因为它只返回 5 865 而我希望它返回 58 65 我可以
  • 参数验证,Python 中的最佳实践[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 让我们举一个 API 的例子 def get abs directory self path if os path isdir path ret
  • 为什么“return self”返回 None ? [复制]

    这个问题在这里已经有答案了 我正在尝试获取链的顶部节点getTopParent 当我打印出来时self name 它确实打印出了父实例的名称 然而 当我回来时self 它返回 None 为什么是这样 class A def init sel
  • SQLAlchemy:避免声明式样式类定义中的重复

    我正在使用 SQLAlchemy 并且我的对象模型中的许多类具有相同的两个属性 id 和 整数和主键 以及名称 字符串 我试图避免在每个类中声明它们 如下所示 class C1 declarative base id Column Inte
  • Fortran 中的函数和子例程有什么区别?

    我的印象是 Fortran 中子例程和函数之间的主要区别在于函数返回值 而子例程更改作为参数传递的部分或全部值 但后来我了解到您也可以修改作为参数传递给函数的变量 我很困惑 找不到很好的参考来了解它们之间的差异 那么 这两种结构之间有什么区
  • Python 枚举子集迭代

    我想迭代以下枚举的子集 class Items enum Enum item1 0 item2 1 item3 2 item4 3 item5 4 item6 5 item7 6 item8 7 说我想 for item in Items

随机推荐

  • Android中的缩放、旋转和平移操作后如何获取相对于Parent的View位置?

    我正在开发一项功能 其中包括图像缩放 旋转和平移操作 所有这些操作对我来说都运行良好 现在 我需要检查相对于父级的视图位置 我开发了以下代码来获取缩放和翻译后的视图位置 private fun findViewPosition view V
  • 如何在react.js中递归渲染子组件

    我想从其自己的组件中递归添加一个反应组件 我看到了这个例子这是通过子 TreeNodes 进行映射并以相同的方式添加子节点 不幸的是它对我来说根本不起作用 这个想法是有一个简单的评论组件 并且回复将重用相同的组件 var Comment R
  • 是否可以在 MatLab 中使用 .NET 应用程序?

    我对 C 感觉很熟悉 我将设计一个控制台应用程序 该应用程序将从 Web 服务中获取一些数据 我想让一组科学家使用 MatLab 中的数据 实现此目的的一种方法是将其存储在 HDD 上的文件中 然后将其内容加载到 MatLab 中 但这让我
  • getJSON 回调未触发

    我正在通过参与一个包括 SubSonic 和 jQuery 的测试项目来学习 asp net mvc 我遇到的问题是 每次我想要返回的不仅仅是简单字符串 例如 Json 对象 时 我都会遇到困难 因为回调似乎不会触发 或者返回失败 我获取数
  • 德语最好的 MySQL 排序规则是什么

    我正在用德语建立一个网站 所以我将使用像 等等 那么您有什么建议呢 这个答案已经过时了 如需完整的表情符号支持 请参阅这个答案 https stackoverflow com a 48325386 2898712 至于字符集 如果可以的话
  • Tibco - 最大流量限制属性

    我有一个启用了最大流量限制的进程 该值设置为 10 它是一个异步进程 用于每天获取数千条消息 我们注意到 在高峰期 随着EMS服务器队列中消息的增加 tibco进程的性能下降 Tibco 的速度缓慢与 EMS 消息流入的增加之间是否存在任何
  • std::vector 的比较运算符无法找到 T 的比较运算符

    以下非常简单的代码将无法编译 include
  • 使用flutter_bloc库有什么缺点

    BLoC 模式的实现有很多版本 其中之一是 Felix Angelov 的 flutter bloc 在一个社交媒体上 我看到了这样的声明 flutter bloc 对于该项目来说不是一个好的选择 应该选择另一个 BLoC 或另一个状态管理
  • 使用纯 sed 进行复杂的列转置

    我尝试了几个小时才找到pure sed questions tagged sed解决方案this https stackoverflow com q 17384781 2468910问题 显然 不幸的是我没有成功 一个非常棘手的问题 示例
  • 如何在 Excel 中对齐两列中的匹配值,并在其他列中引入关联值

    我想知道如何将一列中的值与另一列中的匹配值对齐 如下所示如何在 Excel 中对齐同一行上的重复项 https stackoverflow com questions 12836396 how to align duplicates on
  • 什么时候应该在 LLVM IR 中向结构添加填充?什么时候不应该?

    当向结构添加填充时 Clang 在不同情况下有不同的行为 规则是什么 对于下面的 C 代码 struct CT1 char c1 c double d1 char c2 struct CT2 char c1 double d1 char c
  • SWT 如何打印scrolledComposite 的内容?

    有谁知道如何打印滚动复合材料的内容 每当我打印到 GC 上时 它只会复制滚动复合材料的当前可视区域 我想要的是能够复制滚动复合的全部内容 例如 下面的代码在一个小窗口内创建了一个巨大的按钮 当我打印下面的 gc 时 它只会输出滚动复合的小可
  • 将新行追加到现有 csv 文件中[重复]

    这个问题在这里已经有答案了 我想将新行添加到系统中现有的 csv 文件中 下面是 MWE 首先 创建一个数据表并将其写入文件 date lt 2017 08 01 investPercent lt 20 expenses lt 20000
  • Java列表参数化?

    我对 Java 很陌生 我写了一个名为 DLPFile 的类 它基本上是其他对象的容器 如字符串 整数 浮点数等 将我的文件放入列表中 然后将其保存在我的会话 来自 Map 类 变量中时很容易 DLPFile file new DLPFil
  • 如何将 .jar 文件安装到 Eclipse 中?

    我已经编写了一个 Eclipse 插件项目并成功导出了 jar 文件 但是当我将 jar 文件复制到 Plugins 文件夹中 也尝试了 dropins 文件夹 并重新启动 Eclipse 后 我仍然无法在 Eclipse Installa
  • sqlalchemy:类型错误:创建实例的不可散列类型,sqlalchemy

    我在尝试更新代码时遇到错误 https github com thrisp flask security https github com thrisp flask security从Python 2 7到3 3 给出以下最基本的实例 te
  • ASCII 转换

    我想将 ASCII 值转换为其相应的字符 所以我编写了这个简单的代码 public class Test public static void main String args int i 0 char ch c for i 0 i lt
  • 如何使用 Symfony2 表单清除字段值

    我正在编写自己的验证码类 当表单未验证时 出于显而易见的原因 我不想用之前的答案预先填充验证码输入 我只想在渲染之前清除输入 我发现了data选项仅适用于默认值 默认值会被用户输入的内容覆盖 我尝试了以下代码 form gt get cap
  • 具有边界约束的 scipy.optimize.leastsq

    我正在寻找 scipy numpy 中的优化例程 它可以解决非线性最小二乘型问题 例如 将参数函数拟合到大型数据集 但包括边界和约束 例如参数的最小值和最大值 优化 目前我正在使用 mpfit 的 python 版本 翻译自 idl 这显然
  • Python:为变量重新赋值(使用函数)[重复]

    这个问题在这里已经有答案了 可能的重复 Python 如何通过引用传递变量 https stackoverflow com questions 986006 python how do i pass a variable by refere