首页 > 解决方案 > 如何访问函数顺序之外的变量并在另一个函数中使用它

问题描述

**我想在函数外使用 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

*我尝试过使用会话和全局变量,但它们不起作用*

标签: pythonsessionflaskglobal-variables

解决方案


通常不鼓励使用全局变量,但无论如何,如果您newdf在想要修改/分配newdf. 例如:

def order():
    global newdf
    newdf = 1
    print(newdf)

def data():
    return newdf

if __name__=='__main__':
    order()
    print(data())

请注意,您必须在修改它时将其声明为全局,而不是在您想要访问它时声明它,因为到那时它“为时已晚”。如果您愿意,可以在两个函数的开头将其声明为全局。


推荐阅读