的Python:在Python

串联可变我有3个variable的Python:在Python

print(obj.col1_expense.text) #test1 

print(obj.col2_expense.text) #test2

print(obj.col3_expense.text) #test3

如何打印它的动态? 我现在想这样

for x in range(1, 4): 

print("obj.col"+str(x)+"_expense".text)

但它给错误。

AttributeError: 'str' object has no attribute 'text' 

回答:

你可以使用[Python]: getattr(object, name[, default]):

for x in range(1, 4): 

print(getattr(obj, "col{}_expense".format(x)).text)

,或者确保如果搞乱了索引,你不会得到AttributeError,你可以更换print对此(不容易阅读)形式:

print(getattr(getattr(obj, "col{}_expense".format(x), None), "text", None)) 

回答:

试试这个:

for x in range(1, 4): 

var = "obj.col"+str(x)+"_expense.text"

print(var)

回答:

我希望这将帮助你:

for x in range(1,4): 

col_text = 'col' + str(x) + '_expense'

print(getattr(obj,col_text).text)

回答:

我不知道,但如果你想创建的变量和相应的值。这将取决于你想使用变量的地方。

import pandas as pd 

var = []

for x in range(1, 4):

var.append("obj.col%s_expense.text" %(x))

print(var)

print(var[0])

print(var[1])

以上是 的Python:在Python 的全部内容, 来源链接: utcz.com/qa/264929.html

回到顶部