当前位置: 首页 > 面试题库 >

Flask Server的面向对象的Python?

段干麒
2023-03-14
问题内容

我正在使用Flask将一些数据处理代码公开为Web服务。我想要一些Flask函数可以访问的类变量

让我向你介绍我遇到的问题:

from flask import Flask
app = Flask(__name__)

class MyServer:
  def __init__(self):
    globalData = json.load(filename)

  @app.route('/getSomeData')
  def getSomeData():
    return random.choice(globalData) #select some random data to return

if __name__ == "__main__":
  app.run(host='0.0.0.0')

当我getSomeData()Flask外面跑步时,它可以正常工作。但是,当我与Flask一起运行时,我得到了500 internal server error。这里没有魔术,而且Flask不知道应该初始化一个MyServer对象。如何将MyServer的实例提供给app.run()命令?

我可以认输,然后globalData放入数据库。但是,还有其他方法吗?


问题答案:

你可以MyServer在端点范围之外创建一个实例,并访问其属性。这为我工作:

class MyServer:
    def __init__(self):
        self.globalData = "hello"

from flask import Flask
app = Flask(__name__)

my_server = MyServer()

@app.route("/getSomeData")
def getSomeData():
    return my_server.globalData

if __name__ == "__main__":
    app.run(host="0.0.0.0")


 类似资料:
  • 我们已经讨论了类/对象可以拥有像函数一样的方法,这些方法与函数的区别只是一个额外的self变量。现在我们来学习一个例子。 使用对象的方法 例11.2 使用对象的方法 #!/usr/bin/python # Filename: method.py classPerson:     defsayHi(self):         print'Hello, how are you?' p = Perso

  • 面向对象是一种符合人类思维习惯的编程思想。现实生活中存在各种形态不同的事物,这些事物之间存在着各种各样的联系。在程序中使用对象来映射现实中的事物,使用对象的关系来描述事物之间的联系,这种思想就是面向对象。 提到面向对象,自然会想到面向过程,面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一一实现,使用的时候依次调用就可以了。面向对象则是把构成问题的事务按照一定规则划分为多个独立的对象,

  • 本文向大家介绍javascript中的面向对象,包括了javascript中的面向对象的使用技巧和注意事项,需要的朋友参考一下 相信大家对javascript中的面向对象写法都不陌生,那还记得有几种创建对象的写法吗?相信大家除了自己常写的都有点模糊了,那接下来就由我来帮大家回忆回忆吧! 1. 构造函数模式 通过创建自定义的构造函数,来定义自定义对象类型的属性和方法。 2. 工厂模式 该模式抽象了创

  • 面向对象的编程 Scala的博大很大程度上在于它的对象系统。Scala中所有的值都是对象,就这一意义而言Scala是门纯粹的语言;基本类型和组合类型没有区别。Scala也提供了mixin的特性允许更多正交地、细粒度地构造一些在编译时受益于静态类型检测的可被灵活组装的模块。 mixin系统的背后动机之一是消除传统的依赖注入。这种“组件风格(component style)”编程的高潮是是the ca

  • 1、面向对象的两个基本概念 编程语言中,一般有两种编程思维,面向过程和面向对象。 面向过程,看重的是解决问题的过程。 这好比我们解决日常生活问题差不多,分析解决问题的步骤,然后一步一步的解决。 而面向对象是一种抽象,抽象是指用分类的眼光去看世界的一种方法。 Python 就是一门面向对象的语言, 如果你学过 Java ,就知道 Java 的编程思想就是:万事万物皆对象。Python 也不例外,在解

  • 本章节我们来了解 Ruby 面向对象方面知识,了解类与实例的基本概念 1. 什么是面向对象 面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的