【问题标题】: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
      
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-12-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-04
        • 1970-01-01
        • 2019-10-29
        相关资源
        最近更新 更多