相关疑难解决方法(0)

Python中globals()的原因?

在Python中使用globals()函数的原因是什么?它只返回全局变量的字典,它们已经是全局的,所以它们可以在任何地方使用......我只是出于好奇,试图学习python.

def F():
    global x
    x = 1

def G():
    print(globals()["x"]) #will return value of global 'x', which is 1

def H():
    print(x) #will also return value of global 'x', which, also, is 1

F()
G()
H()
Run Code Online (Sandbox Code Playgroud)

我真的不明白这里的意思吗?只有我需要它的时候,如果我有本地和全局变量,两者都有相同的名称

def F():
    global x
    x = 1

def G():
    x = 5
    print(x) #5
    print(globals()["x"]) #1

F()
G()
Run Code Online (Sandbox Code Playgroud)

但是你应该永远不会遇到两个具有相同名称的变量,并且需要在同一范围内使用它们的问题.

python global global-variables

63
推荐指数
4
解决办法
8万
查看次数

如何在python中将字符串转换为函数?

例如,如果我有一个名为add like的函数

def add(x,y):
    return x+y
Run Code Online (Sandbox Code Playgroud)

我希望能够将字符串或输入转换为直接转换为该函数

w=raw_input('Please input the function you want to use')
Run Code Online (Sandbox Code Playgroud)

要么

w='add'
Run Code Online (Sandbox Code Playgroud)

有没有办法用w来引用函数add?

python string function string-evaluation

34
推荐指数
6
解决办法
6万
查看次数

使用字符串在Python中调用函数

几天前我在网上搜索,我发现了一篇关于python词典的有趣文章.它是关于使用字典中的键来调用函数.在那篇文章中,作者定义了一些函数,然后是一个字典,其键与函数名完全相同.然后他可以从用户那里获得一个输入参数并调用相同的方法(类似于实现大小写).之后我意识到了同样的事情,但不知何故有所不同.我想知道如何实现这一点.如果我有一个功能:

def fullName( name = "noName", family = "noFamily" ):
    return name += family
Run Code Online (Sandbox Code Playgroud)

现在,如果我有这样的字符串:

myString = "fullName( name = 'Joe', family = 'Brand' )"
Run Code Online (Sandbox Code Playgroud)

有没有办法执行这个查询并得到一个结果:JoeBrand
例如我记得的是我们可能会给exec()语句一个字符串,它为我们做了.但是我不确定这个特例,而且我也不知道Python的有效方法.而且我将非常感谢帮助我如何处理函数返回值,例如在我的情况下如何打印该函数返回的全名?

python string function

24
推荐指数
3
解决办法
5万
查看次数