我有一个Python程序,其中两个变量设置为该值'public'.在条件表达式中,我的比较var1 is var2失败了,但是如果我将其更改为var1 == var2它则返回True.
现在,如果我打开我的Python解释器并进行相同的"是"比较,它就会成功.
>>> s1 = 'public'
>>> s2 = 'public'
>>> s2 is s1
True
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
在Python中,如何在不调用函数的情况下将函数名称作为字符串获取?
def my_function():
pass
print get_function_name_as_string(my_function) # my_function is not in quotes
Run Code Online (Sandbox Code Playgroud)
应该输出"my_function".
这样的功能在Python中可用吗?如果没有,get_function_name_as_string在Python中如何实现任何想法?
我有枚举并使用变量,如myEnum.SomeNameA,myEnum.SomeNameB等.当我从函数返回其中一个变量时,我可以打印它们的名称(例如myEnum.SomeNameA)而不是它们返回的值吗?
是否可以获取传递给函数的变量的原始变量名?例如
foobar = "foo"
def func(var):
print var.origname
Run Code Online (Sandbox Code Playgroud)
以便:
func(foobar)
Run Code Online (Sandbox Code Playgroud)
返回:
>>foobar
编辑:
我所要做的就是做一个像下面这样的函数:
def log(soup):
f = open(varname+'.html', 'w')
print >>f, soup.prettify()
f.close()
Run Code Online (Sandbox Code Playgroud)
..并让函数从传递给它的变量的名称生成文件名.
我想如果不可能我只需要每次都将变量和变量的名称作为字符串传递.
如何获取DataFrame的名称并将其作为字符串打印?
例:
boston (分配给csv文件的var名称)
boston = read_csv('boston.csv')
print ('The winner is team A based on the %s table.) % boston
Run Code Online (Sandbox Code Playgroud) 在python中构建一个新的类对象时,我希望能够根据类的实例名创建一个默认值,而不需要传递额外的参数.我怎么能做到这一点?这是我正在尝试的基本伪代码:
class SomeObject():
defined_name = u""
def __init__(self, def_name=None):
if def_name == None:
def_name = u"%s" % (<INSTANCE NAME>)
self.defined_name = def_name
ThisObject = SomeObject()
print ThisObject.defined_name # Should print "ThisObject"
Run Code Online (Sandbox Code Playgroud) 如果我有任何类型的本地/全局变量,var如何获取其名称,即字符串"var"?即对于某些虚函数或运算符,nameof()下一个代码应该可以工作:
var = 123
assert nameof(var) == "var"
Run Code Online (Sandbox Code Playgroud)
有用于.__name__获取变量保存值的函数或类型对象的名称的属性,但是是否有类似的用于获取变量本身的名称的属性?
这是否可以在不将变量包装到某个神奇对象中的情况下实现,就像某些库为了获取变量名称所做的那样?如果没有魔术包装器就无法实现,那么用于这种情况的最常见/流行的包装库是什么?
我想做这样的事情:
fib = 1
foo = (arg):
print arg, argName # the name of the variable that was put in for arg
foo(fib)
Run Code Online (Sandbox Code Playgroud)
并得到这个返回:
1, fib
Run Code Online (Sandbox Code Playgroud) 如何用DataFrame两个或多个具有共同键的词典创建一个熊猫?也就是说,转换
d1 = {'a': 1}
d2 = {'a': 3}
...
Run Code Online (Sandbox Code Playgroud)
进入一个数据框,其中包含列['d1', 'd2', ...],行索引"a"和相应字典确定的值?