小编lis*_*ine的帖子

在构造函数中运行可能失败的代码的不良做法?

我的问题是一个设计问题.在Python中,如果"构造函数"中的代码失败,则对象最终不会被定义.从而:

someInstance = MyClass("test123") #lets say that constructor throws an exception
someInstance.doSomething() # will fail, name someInstance not defined.
Run Code Online (Sandbox Code Playgroud)

我确实有一种情况,如果我从构造函数中删除容易出错的代码,会发生很多代码复制.基本上我的构造函数填充了一些属性(通过IO,很多可能出错),可以使用各种getter访问.如果我从构造函数中删除代码,我将有10个带有复制粘贴代码的getter:

  1. 是属性真的设置?
  2. 执行一些IO操作来填充属性
  3. 返回有问题的变量的内容

我不喜欢这样,因为我的所有getter都会包含很多代码.而不是我在中心位置,构造函数中执行我的IO操作,并填充我的所有属性.

这是一个正确的方法吗?

python oop constructor exception-handling

15
推荐指数
3
解决办法
9340
查看次数

用于非Django项目的Django式抽象数据库API

我喜欢Django附带的抽象数据库API,我想知道我是否可以使用它(或类似的东西)为我的非Django Python项目建模,访问和管理我的(postgres)数据库.

python database django orm django-models

6
推荐指数
2
解决办法
2138
查看次数

手动设置响应状态代码

我有一个try catch块来处理我的应用程序错误.我想要一种简单的方法来设置对状态代码403或禁止的响应,然后将用户重定向到登录页面或自定义错误页面.

设置状态代码和重定向后,我遇到了一些问题.任何人都有一个设置状态代码,然后重定向的例子?

redirect http

2
推荐指数
1
解决办法
5323
查看次数