检查变量名-Python中是否存在子字符串
我有一个函数,它以给定的变量作为参数。 此变量是一个numpy数组。伪代码中的示例:检查变量名-Python中是否存在子字符串,python,numpy,Python,Numpy,我有一个函数,它以给定的变量作为参数。 此变量是一个numpy数组。伪代码中的示例: def foo(var): if 'test' in the name of var: do something return 我尝试过不同的选择,比如 if 'test' in var: 或 但是这些只是检查数组的值,而不是变量名。 我希望能有一些技巧,比如: if 'test' in var.name() 关于如何解决这个问题有什么想法吗?首先,安装varname库 pip in
def foo(var):
if 'test' in the name of var:
do something
return
我尝试过不同的选择,比如
if 'test' in var:
或
但是这些只是检查数组的值,而不是变量名。
我希望能有一些技巧,比如:
if 'test' in var.name()
关于如何解决这个问题有什么想法吗?首先,安装varname库
pip install python-varname
然后将其用作以下示例:
from varname import nameof
def foo(var):
if 'test' in nameof(var):
###do something
通常,如果您想这样做,您可以创建一个字典并将变量存储在一个名称下。这样你也可以检查它 例如:
dict_variables = {}
dict_variables["var_1"] = ["a", "b", "test"]
def foo(var_name):
var_value = dict_variables.get(var_name)
if 'var_' in var_name:
print(var_value)
foo("var_1")
#out: ['a', 'b', 'test']
例如,对路径和数据帧变量有用。您认为为什么需要这样做?您不容易做到这一点。为什么不将函数签名更改为
def foo(var,test=False):
?通常,如果您想这样做,您可以创建一个字典并将变量存储在一个名称下。这样你也可以检查它。相关:可能也有帮助:听起来像是大规模的过度杀戮。该名称按字面意思硬编码为var
。这就是语言的工作方式,您将如何检查名称是否包含某个字符串?如果“var”中的“test”:
虽然我认为这个库很整洁,但我不知道为什么它甚至有点用处。我想不出任何一个用例,在这种用例中,知道某个东西被分配到的名称会导致健壮的代码。
dict_variables = {}
dict_variables["var_1"] = ["a", "b", "test"]
def foo(var_name):
var_value = dict_variables.get(var_name)
if 'var_' in var_name:
print(var_value)
foo("var_1")
#out: ['a', 'b', 'test']