【问题标题】:how can I access variable outside the function order and use it in another function如何访问函数顺序之外的变量并在另一个函数中使用它
【发布时间】:2020-06-23 22:31:16
【问题描述】:
**我想在函数外使用newdf *
如何在函数顺序之外访问 newdf 并在另一个函数中使用它
@app.route('/orders', methods=['GET'])
def order():
df = pd.read_sql('data_shopify', con=db.engine)
shop = session.get("shop")
newdf = df[df.shop == shop]
print(newdf)
return redirect('/dash')
我想用newdf的功能
def data()
return newdf
*我尝试过使用会话和全局变量,但它们不起作用*
【问题讨论】:
标签:
python
session
flask
global-variables
【解决方案1】:
通常不鼓励使用全局变量,但无论如何,如果您在想要修改/分配newdf 的值时将newdf 声明为全局变量,它对我来说效果很好。例如:
def order():
global newdf
newdf = 1
print(newdf)
def data():
return newdf
if __name__=='__main__':
order()
print(data())
请注意,您必须在修改它时将其声明为全局,而不是在您想要访问它时声明它,因为到那时它“为时已晚”。如果您愿意,可以在两个函数的开头将其声明为全局。
【解决方案2】:
在python函数中查看全局命令变量的值,如字符串,整数,不能修改
声明一个变量并从您需要声明的每个函数中修改它
列表或字典
像这样
li = ["hello"]
def first():
li[0] = "hello world"
print(li[0]) # hello world
def second():
print(li[0]) # hello world