首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

你如何获得变量的名称,因为它在声明中是物理输入的?

要获取变量的名称,可以使用Python的inspect模块。inspect模块提供了许多方法来获取有关Python对象的信息,例如变量名称、函数名称、类名称等。

以下是一个示例代码,演示如何使用inspect模块获取变量名称:

代码语言:python
代码运行次数:0
复制
import inspect

def get_variable_name(variable):
    callers_local_vars = inspect.currentframe().f_back.f_locals.items()
    return [var_name for var_name, var_val in callers_local_vars if var_val is variable]

x = 10
variable_name = get_variable_name(x)
print(variable_name)

在这个示例中,我们定义了一个名为get_variable_name的函数,它接受一个变量作为参数,并返回该变量的名称。我们使用inspect.currentframe().f_back.f_locals.items()方法获取调用该函数的代码块中所有局部变量的名称和值。然后,我们遍历这些变量,并检查它们是否与传递的变量相同。如果找到相同的变量,我们将返回该变量的名称。

在这个示例中,我们定义了一个名为x的变量,并将其值设置为10。然后,我们调用get_variable_name函数,并将x作为参数传递。最后,我们打印出变量名称。输出应该是['x']

需要注意的是,这种方法只能在局部作用域中查找变量名称。如果变量在全局作用域中定义,则无法使用此方法获取变量名称。

相关搜索:鉴于Object是一个任何类型的数组,你如何测试它在Java中是空的?是否有可能在一个方法中获得变量的声明名称?Groovy你如何在Python中获得两个变量的逻辑xor?如何在react js中获得合适的输入变量的值?如何在MATLAB的变量中获得对话框的用户输入?如何在python中声明具有唯一名称的变量?如何在FastApi-SwaggerUI中输入名称中带有连字符的变量?如何在MySQL的触发器中声明变量?因为我在为代码执行几行代码时出错如何解析变量是在内部类中访问的,需要声明为finalSSRS错误-变量名称@PhoneNo已声明。变量名在查询批处理或存储过程中必须是唯一的这个表达式是什么?它在python中是如何定义的,因为我不能将它与列表一起使用Terraform:当传入的变量是映射列表列表时,如何迭代资源组中的名称或其他变量?在Android中,如何获得一个全局变量的引用,该变量是另一个全局变量的子类?如何获得关于输入和改变输入(而不是可训练变量)的梯度,以最小化TF2中的损失?如何将数据插入到对表中的多行使用相同输入名称变量的数据库中?如何在python 2.7中根据用户输入创建未知数量的变量(即基于玩家数量的玩家名称)?Swift 4.x/5.x中是否有全局变量的多个副本?如果是这样的话,你如何阻止它?如何使用google sheets中的单元格值更新默认的文本输入框表单。我得到的是变量名,而不是值如何使用google sheets中的单元格值更新默认的文本输入框表单。我得到的是变量名而不是值
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

第1天--文本与变量

零、今日目标 我们在开发程序的时候都会处理大量的数据,这些数据有些是硬编码(直接写在程序中),有些是通过输入(输入可能来自键盘、互联网等)得到的。...那么这些通过输入得到的输入我们如果像使用它的话就必须将其存储在内存中,C# 为我们提供了一种叫做变量的存储结构,方便我们在内存中存取数据。...; 何为隐式类型变量,以及如何使用隐式类型变量。...何为变量 变量,从字面上来说就是变化的量,是分配给计算机内存的标签,通过它我们可以很轻松的操作内存中存储的数据,它在自身的生存周期内是可以改变其存储的数据。 2....取值时我们只需调用变量的名称即可,如下代码: int age=1; Console.WriteLine(age); 运行上述代码获得如下输出: 赋值又分为声明变量的同时赋值和是声明变量后赋值两种,代码如下

70200

golang学习笔记3:常量与变量

与各种类型的数字型变量相比,你无需担心常量之间的类型转换问题,因为它们都是非常理想的数字。...不过需要注意的是,当常量赋值给一个精度过小的数字型变量时,可能会因为无法正确表达常量所代表的数值而导致溢出,这会在编译期间就引发错误。...需要注意的是,Go 和许多编程语言不同,它在声明变量时将变量的类型放在变量的名称之后。Go 为什么要选择这么做呢?...尽管变量的标识符必须是唯一的,但你可以在某个代码块的内层代码块中使用相同名称的变量,则此时外部的同名变量将会暂时隐藏(结束内部代码块的执行后隐藏的外部同名变量又会出现,而内部同名变量则被释放),你任何的操作都只会影响内部代码块的局部变量...runtime 包在运行时获取所在的操作系统类型,以及如何通过 os 包中的函数 os.Getenv() 来获取环境变量中的值,并保存到 string 类型的局部变量 path 中。

54510
  • C++的extern关键字知识点

    4)、extern用在变量声明中常常有这样一个作用,你在*.c文件中声明了一个全局的变量,这个全局的变量如果要被引用,就放在*.h中并用extern来声明。...但是在运行过程中,因为少了或者多了输入参数,往往会照成系统错误,这种情况应该如何解决?   ..."123456"这个字符串,但是你却不能在test2.obj里面找到,这是因为g_str是整个工程的全局变量,在内存中只存在一份,test2.obj这个编译单元不需要再有一份了,不然会在连接时报告重复定义这个错误..."123456",同时你也可以在test2.obj中找到它们,它们之所以可以连接成功而没有报重复定义的错误是因为虽然它们有相同的内容,但是存储的物理地址并不一样,就像是两个不同变量赋了相同的值一样,而这两个变量分别作用于它们各自的编译单元...,就会发现两个编译单元中的g_str地址并不相同,因为你在一处修改了它,所以编译器被强行的恢复内存的原貌,在内存中存在了两份拷贝给两个模块中的变量使用。

    1K40

    金九银十: 50 个JS 必须懂的面试题为你助力

    var x = []; var y = [1, 2, 3, 4, 5]; 问题9:JS 中的命名函数是什么以及如何定义: 命名函数在定义后立即声明名称,可以使用function关键字定义: function...一个匿名函数可以分配给一个变量,它也可以作为参数传递给另一个函数。 问题11:JS中的参数对象是什么&如何获得传递给函数的参数类型 JS 变量arguments表示传递给函数的参数。...变量的作用域是程序中定义它的区域,JS变量只有两个作用域: 全局变量 - 全局变量具有全局作用域,这意味着它在JS代码中的任何位置都可见。...undeclared的变量是程序中不存在且未声明的变量。 如果程序尝试读取未声明变量的值,则会遇到运行时错误。...咱们应该小心使用这种清空数组的方法,因为如果你从另一个变量引用了这个数组,那么原始的引用数组将保持不变。

    6.6K31

    Threejs进阶之十五:在Thereejs 使用自定义shader

    实现上述效果;后面代码中会进行详细分析; 这里我们先介绍下基础知识 什么是 Shader Shader(着色器)是一种在图形处理单元(GPU)上执行的程序,它定义了如何根据输入数据(例如顶点位置,纹理坐标等...片元也可以理解为 “像素片段”,因为它们不能完全匹配显示设备上的物理像素,而是在设备上渲染为多个物理像素。...uniforms属性 Uniform变量是着色器中一个全局的变量,其值可以由Three.js中的JavaScript代码设置。...用于在顶点着色器和片元着色器之间传递数据,它在着色器中被声明为一个uniform变量,可以包含标量、向量、矩阵等类型。在构造函数中,可以通过设置uniforms属性来传入需要在着色器中使用的数据。...needsUpdate 指示uniform是否需要在下一帧中更新。 可以在自定义的着色器代码中通过直接使用uniform变量的名称来引用它们。

    1.8K40

    50 个JS 必须懂的面试题为你助力金九银十

    var x = []; var y = [1, 2, 3, 4, 5]; 问题9:JS 中的命名函数是什么以及如何定义: 命名函数在定义后立即声明名称,可以使用function关键字定义: function...一个匿名函数可以分配给一个变量,它也可以作为参数传递给另一个函数。 问题11:JS中的参数对象是什么&如何获得传递给函数的参数类型 JS 变量arguments表示传递给函数的参数。...变量的作用域是程序中定义它的区域,JS变量只有两个作用域: 全局变量 - 全局变量具有全局作用域,这意味着它在JS代码中的任何位置都可见。...undeclared的变量是程序中不存在且未声明的变量。 如果程序尝试读取未声明变量的值,则会遇到运行时错误。...咱们应该小心使用这种清空数组的方法,因为如果你从另一个变量引用了这个数组,那么原始的引用数组将保持不变。

    4.8K30

    理解 JavaScript 中的 undefined

    如果你还不熟悉 JavaScript 中变量和属性的区别(包括内部的 VariableObject),那么最好先去阅读一下我的上一篇文章。 什么是 undefined?...但是 foo 不是一个未声明的变量吗? 技术上不是的。虽然我们有时会发现 “undeclared variable” 是一个错误诊断时有用的术语,但实际上,在变量被声明之前不是变量。...如果你的代码写得够好的话,其实很少需要这样做。我们已经看到,在典型的用法中,只有一种方法可以获得不可解析的引用:使用既不是属性也不是变量的仅在语法上正确的引用。...结论是,下面的代码片段在浏览器中运行时很可能会抛出 ReferenceError: console.log(new Date()); 如何对可能不存在的变量进行编码?...&& console.log(new Date()); 实际上,只需要检查全局上下文中是否存在变量(函数中存在其他执行上下文,而且你可以控制自己的函数中存在哪些变量)。

    1K20

    Arch Linux 软件包制作入门 | Linux 中国

    在获得 PKGBUILD 文件后,你只需在包含 PKGBUILD 的目录中运行 `makepkg',就可以得到一个可安装的软件包了。...image.png 在本教程中,你将会看到我刚刚制作的软件包,它在运行时打印出 “Hello World!”。 image.png 准备 为了继续学习本教程,你需要创建几个文件。...要设置包的名称,请在 PKGBUILD 中输入以下内容: pkgname="hello-world" 要设置一个不同的软件包名称,用你的软件包的名称替换 hello-world。...arch 这个变量设置软件包所兼容的 硬件架构。如果你不明白什么是架构,那也没关系,因为在大多数情况下,这个变量几乎是无用的。...如何获得这个值的信息可以在 Arch 维基关于 PKGBUILD 的文章 中找到。

    2.7K50

    SAE J1939 – 简短介绍

    应用层 应用层相关的文档SAE J1939/71描述了实际数据(参数或具有数值范围的网络变量,分辨率,物理单元和传输类型)。每个报文都具有独特的编码(参数组号:PGN)。...由于网络管理可视为能够达到硬件(第1层)的独立单元,它在图表的右侧作为独立的功能块。 设备名称,报文结构,地址声明(J1939/81) 设备地址 电子控制单元(ECU)的软件是控制器应用(CA)。...地址声明 在CA使用地址前,它必须在网络中对该地址进行声明;这个过程叫做”地址声明” (ACL)。 在此,使用独一无二的设备名称来解决地址分配冲突:数值越小,优先级越高。...图表:地址声明过程 如果网络上的另一个CA已经使用了相同的地址,这就产生了地址冲突。设备名称中具有更高优先级的CA就获得该地址。...这取决于CA接下来如何工作的”地址能力” : 如果CA具有”非自配置”的地址能力,就必须发送带有“源地址”0(254)”的“不能声明地址”PGN。

    2.4K10

    C++ 解引用与函数基础:内存地址、调用方法及声明

    但是,你也可以使用指针来获取变量的值,这可以通过使用 * 运算符(解引用运算符)来实现:string food = "Pizza"; // 变量声明string* ptr = &food; // 指针声明...;需要注意的是,符号 * 在这里可能会让人感到困惑,因为它在我们的代码中有两种不同的作用:在声明中使用时(string* ptr),它创建一个指针变量。...在非声明中使用时,它作为解引用运算符。修改指针值你可以改变指针的值。...在 C++ 中,函数参数默认是输入参数。要声明输出参数或输入输出参数,需要使用引用或指针。函数返回值函数可以返回一个值给调用者。...函数的作用域函数的作用域是指函数内的变量和函数名在程序中可见的范围。函数内的变量和函数名只在该函数内可见,在其他函数中不可见。

    14300

    如何编写 Python 程序

    如何编写 Python 程序 从今以后,保存和运行 Python 程序的标准步骤如下: 对于 PyCharm 用户 打开 PyCharm。 以给定的文件名创建新文件。 输入案例中给出的代码。...对于其他编辑器用户 打开你选择的编辑器。 输入案例中给出的代码。 以给定的文件名将其保存成文件。 在解释器中通过命令 python program.py 来运行程序。...它是如何工作的 下面是这一程序的工作原理。首先,我们使用赋值运算符(=)将字面常量数值 5 赋值给变量 i。...这一行被称之为声明语句(Statement)因为其工作正是声明一些在这一情况下应当完成的事情:我们将变量名 i 与值 5 相连接。...逻辑行与物理行 所谓物理行(Physical Line)是你在编写程序时 你所看到 的内容。所谓逻辑行(Logical Line)是 Python 所看到 的单个语句。

    2.2K20

    python 基础笔记(

    如果它与我们所期望的不一样,我们就得调试我们的程序,即消除程序中的 瑕疵 (错误)。 它如何工作 接下来你将看到我们如何把 设计 一步一步地转换为 代码 。...我们使用了os和time模块,所以我们输入它们。然后,我们在source列表中指定需要备份的文件和目录。目标目录是我们想要存储备份文件的地方,它由target_dir变量指定。...zip归档的名称是目前的日期和时间,我们使用time.strftime()函数获得。它还包括.zip扩展名,将被保存在target_dir目录中。...正常情况下,你应该回到设计环节或者调试程序。 版本二 第一个版本的脚本可以工作。然而,我们可以对它做些优化以便让它在我们的日常工作中变得更好。这称为软件的维护环节。...另外一个优势是文件名的长度也可以变短。还有一个优势是采用各自独立的文件夹可以帮助你方便地检验你是否在每一天创建了备份,因为只有在你创建了备份,才会出现那天的目录。

    62310

    Python学习笔记:命名空间和作用域

    每当指定其中一个内置函数时,Python将搜索直到它在内置作用域的命名空间中找到函数的名称。...注意,虽然我们在上面的例子中已经看到可以引用更高级别作用域中的名称,但应该避免使用这种对象引用方法。因为变量可以在任何更高级别的作用域中找到,所以在较小作用域内可能存在关于引用哪个变量的模糊性。...建议只有传递给函数输入的变量才能在函数中使用,并假设只有函数返回的变量才能在主程序中使用。 本地作用域和外围作用域 本地作用域是程序“当前”级别的命名空间,这是在函数、类或导入的模块而不是主模块中。...重新定义作用域的语句 下面介绍如何手动将变量赋值给不同的命名空间,能够将已定义变量的作用域移到其本地命名空间之外可能很重要。例如,在上节的最后一个代码块中,我们无法访问在最小作用域内赋值为5的x变量。...在作用域之间传递变量的正确方法是通过输入元组将对象传递给函数,并通过函数return调用返回值。但是,在某些情况下执行此操作可能很棘手。

    90440

    Java_面向对象_04

    接下来,重点分析一下他们四个的特点 抽象 面向对象强调的是按照人类的思维方式中去模拟现实世界的物理存在,将客观的事物,抽象成各种对象的组合,管理抽象的一个有效办法就是层次分类,允许程序将一个复杂的系统分解成多个简单的部件进行处理...,如何分解?...封装 封装是面向对象技术中屏蔽信息的一种机制, 它在程序中将对象的状态和行为封装成为一个完整的,结构高度集中的整体,对外有明确的功能,接口单一通过,可在各种环境下独立运行的单元,目的是只通过一个公用接口和消息的其他对象进行通讯...继承有单继承和多继承两种,单继承的类层次是树状结构,多继承是网状结构,因为他有多个父类,在java中,除了object类外,其它类都有父类,在java中只支持单继承,继承要通过接口实现。...对一些类的对象具有相同的属性值,可利用static来声明,没有被static 修饰的变量是实例变量| 访问类变量: 类名.类变量名 访问成员变量 对象名.成员变量名 成员方法

    41830

    使用 Swift 创建简单的二维码扫描应用

    应用名称的话,输入 “CDBarcodes + 你的名字”,或者其他你喜欢的名字。...AVCaptureSession 会管理从摄像头获取的数据——将输入的数据转为可以使用的输出 AVCaptureDevice 表示物理设备和其他属性。...之后我们将创建一个输入对象(input object),然后将其加入到 AVCaptureSession 中。 ? 如果你的设备没有摄像头,那就无法扫描条码。我们添加了一个处理失败场景的方法。...数据服务 在 DataService.swift 中,我们将引入 Alamofire 和 SwiftyJSON。 接下来,声明一些变量来存储我们从 Discogs 获得的原始数据。...我们分别把得到的名称和年份原始数据赋值给ALBUM_FROM_DISCOGS 和 YEAR_FROM_DISCOGS,之后会使用这些变量来创建专辑对象。

    1.9K20

    如何用python制作3d游戏_【教程】12个步骤让你快速学会制作3D游戏

    (保存场景),在文件夹中以[项目名称]- Assets的形式保存场景。Assets是一个你为了存储场景和脚本而事先创建好的文件夹。...声明变量类型为float(浮点数)并命名为speed,结果如下: publicfloat speed; 分号是每行代码结束的标志,如果你没有在每一行的末尾写分号的话程序就会报错,所以一定不要忘记哦!...我将在稍后介绍如何在Unity编辑器中调整速度变量。 保存CSharp文件,并切换回界面。...我们需要做两个声明:一个是记录你得分用的变量,另一个是在场景视图里显示得分的GUI text(图形用户界面文本)。...在的周围布置这些hazards,然后试着开始游戏! 【版权声明】 原文作者未做权利声明,视为共享知识产权进入公共领域,自动获得授权。

    3.6K10

    存储类别、链接和内存管理(一)--面试中你遇到过static关键字吗?

    相信学完本期内容你就会回答了~ 一、存储类别 首先我们来了解下存储类别。 从硬件方面看,每个变量存储的值都占用一定的物理内存空间,C语言中把这样一块内存称为对象。...但是*pc不是可修改的左值,因为*pc指定了储存‘h’字符的数据对象。 可以用存储期描述对象,所谓存储期是指对象在内存中保留了多长时间。 标识符用于访问对象,使用作用域和链接描述标识符。...一 些程序员把“内部链接的文件作用域”简称为“文件作用域”,把“外部链接的文件作用域”简称为“全局作用域”或“程序作用域”。 那么如何知道文件作用域是内部链接还是外部链接呢?...具有线程 存储期的对象,从被声明时到线程结束一直存在。以关键字_Thread_local声 明一个对象时,每个线程都获得该变量的私有备份。 块作用域的变量通常都具有自动存储期。...为了创建这样的变量,要把变量声明在块中,且在声明前面加上关键字static。 总的来说:static关键字的作用就是限制作用域和存储期。

    37420

    Cocos2d-x初学者教程

    在上面的屏幕截图中,安装程序包提示输入“ source / Users / rwenderlich / bash_profile”命令,因为我使用的是Bash,但例如如果我一直使用Zsh,它会提示我运行...) 您输入的命令只是重新处理您的shell配置,并使其可以访问新变量。...MoveTo操作需要射弹的目标位置,但是您不能直接使用输入位置,因为该点仅代表相对于玩家的射击方向。 您想让子弹一直移动到该点,直到子弹到达屏幕外的最终目的地。 这是说明问题的图片: ?...1.第一行已被注释掉,但是它在那里向您展示了如何访问作为第二个参数传递给addEventListenerWithSceneGraphPriority(eventListener, _player)的_player...很方便,是吗? 您仅需一行代码即可播放声音效果。 生成并运行,并享受您的时髦音乐! 然后去哪儿? 这是上面教程中完成的示例游戏。 希望您喜欢Cocos2d-x,并从中获得灵感来制作自己的游戏!

    6.6K21

    React基础篇 - 02.JSX 简介

    JSX 简介 请观察下面的变量声明: const element = Hello, world!; 这种看起来可能有些奇怪的标签语法既不是字符串也不是HTML。...在下一个章节里面我们会详细介绍元素是如何被渲染出来的,接下来呢,我们先来看看 JSX 的基本使用方法。... ); 警告: 因为 JSX 的特性更接近 JavaScript 而不是 HTML , 所以 React DOM 使用 camelCase 小驼峰命名 来定义属性的名称,...你可以将其视为你想要在屏幕上看到的东西。React 通过读取这些对象来构建 DOM 并保持数据内容一致。 我们将在下一个章节当中介绍更多有关 React 元素 是如何渲染成 DOM 的内容。...我们不需要一定使用 JSX,但它有以下优点: JSX 执行更快,因为它在编译为 JavaScript 代码后进行了优化。 它是类型安全的,在编译过程中就能发现错误,并且防注入攻击。

    89950
    领券