
正确代码
def wrap(f): pass class AB(object): __setattr__ = wrap(object.__setattr__) 为什么函数放在下面就出现找不到错误:
class AB(object): __setattr__ = wrap(object.__setattr__) def wrap(f) pass 而 db = SQLAlchemy(app) 实例app放在下面定义不会出错?有没有关于解释这些的文档呢,关于函数,实例如何放置在合适的位置?
db = SQLAlchemy(app) class User(db.Model): pass app = Flask(__name__) 1 Septembers Jun 23, 2015 Python的 面向对象 是建立在 面向过程 的基础之上的 所以对执行顺序敏感 |
2 cc7756789 OP @Septembers 但为什么实例化可以在下面进行,不会出现找不到对象的情况? |
3 aec4d Jun 23, 2015 第二个例子你是用什么执行的?不会出错??? |
6 tongle Jun 23, 2015 和执行时的变量作用域有关系吧 |
7 caoyue Jun 23, 2015 问题就不对吧,第三段应该执行不了 |
8 cc7756789 OP @aec4d http://stackoverflow.com/questions/20744277/sqlalchemy-create-all-does-not-create-tables 我是参考了这个例子的,难道这个答案是错误的? |