TypeError: super(type, obj): obj must be an instance or subtype of type


问题

今天学习《Python Web 开发实战》自定义转换器这一小节,书中有段代码如下:

class ListConverter(BaseConverter):

    def __init__(self, url_map, separator="+"):
        super(ListConverter, self).__init__(url_map)
        self.separator = urllib.parse.unquote(separator)

    def to_python(self, value):
        return value.split(self.separator)

    def to_url(self, values):
        return self.separator.join(super(ListConverter, self).to_url(value)
                                   for value in values)

倒没什么问题,是可以正常运行的。


Flask 配置方法


第一种:硬编码到代码中

app = Flask(__name__)

# 配置硬编码
app.config.update(
    DEBUG=True
)
...

app.config 是 flask.config.Config 类的实例,继承自 Python 内置数据结构 dict,因此还可以:

app.config["DEBUG"] = True


set() 去重原理


起步

众所周知,set() 是 Python 中的"天然去重因子"。对一串数据如:lyst = [1, 1, 2, 4, 4],我们常常 set 一下,也就是:set(lyst),达到去重目的。

那么,set() 是如何去重的呢?


pyenv install 不能用问题


起步

今天在 Centos7 上安装了 pyenv,但奈何使用命令 pyenv install xxx 时,终端总卡在下载阶段。我想是源访问过慢的问题,然而用 wget 直接下载 Python 压缩包却又一切正常。以我在 linux 上的那点点浅薄知识,还是选择放弃刨根问底吧,不然说不定今天就啥也甭干,光研究配置去了。

以下是我曲线救国的法子。