数智图书馆-无锡数智政务 本次搜索耗时 2.156 秒,为您找到 1443 个相关结果.
  • 空标题文档

    关于特殊方法名 Python有多层的实现,但我们只关心其中两层。 从表面上看,我们有Python的源代码。源代码是传统面向对象与过程式函数调用的混合体。面向对象符号的后缀中通常包括object.method()或object.attribute这样的结构。而前缀中包括了function(object)的调用,是典型的过程式设计。此外还包含了插入符,例如...
  • 空标题文档

    4.1 抽象基类 抽象基类的核心定义在一个名为abc的模块中。模块中包括了创建抽象基类需要的修饰符和元类型。其他的类也依赖于这些定义。 在Python 3.2版本中,集合的抽象基类定义在collections中。但是,在Python 3.3版本中,抽象基类被分离到了一个独立的模块collections.abc中。 我们还会介绍numbers模块,因为...
  • 空标题文档

    10.4 搜索、扫描和查询 别怕,这些只是同义词。我们会交换地使用这些词。 对于数据库搜索的设计,我们有两种选择。我们可以返回一系列的键或者是一系列的对象。由于我们的设计强调要将键保存在每个对象中,从数据库获取一系列的对象能够满足我们的需求,所以我们会主要关注这种设计。 搜索天生就是低效的操作,我们会倾向于将更多的注意力放在索引上。在后面的章节中,我...
  • 空标题文档

    11.3 从Python对象到SQLite BLOB列的映射 我们可以将 SQL 列映射为类的定义,这样一来就能够基于数据库中的数据来构造适当的Python对象。SQLite中包含了一个二进制大对象(Binary Large Object,BLOB)数值类型。我们可以使用pickle来处理Python对象,然后将它们存入BLOB列中。可以使用字符串来表示...
  • 空标题文档

    11.5 使用索引提高性能 要优化一种关系数据库,比如优化SQLite性能的方法之一是提高连接操作的速度。最好的做法是包含足够多的索引信息,这样对于慢的搜索操作在查找匹配的行时就不会完成。没有索引的话,在行查找时整表都必须被读完。而创建了索引,只有相关的行才会被读取。 当我们在查询中定义一个需要用到的列时,就可以考虑为这个列创建一个索引。这意味着向表定...
  • 空标题文档

    11.6 添加ORM层 有许多有关Python的ORM项目,从https://wiki.python.org/moin/HigherLevelDatabase Programming 可以找到一个列表。 我们会选择其中的一个作为例子,这时我们选择 SQLAlchemy,因为它提供给我们许多功能而且它的使用相对广泛。正如其他事物一样,没有最好的选择...
  • 空标题文档

    11.7 通过指定标签字符串查询文章对象 在关系数据库中有一个很重要的优势是可以得到对象之间的关系。使用SQLAlchemy的查询能力,可以得到Tag与Post之间的关系,并查询出所有使用同样Tag字符串的Post。 查询是会话的一个功能。这意味着已经在会话中的对象不需要从数据库中再次取出,从而节约了时间。没有包含在会话中的对象会被缓存在会话中,这样一...
  • 空标题文档

    12.1 类、状态和表示 在一些情况下,我们需要创建为远程客户端提供数据的服务器。在一些其他情况下,我们可能希望使用来自远程计算的数据,也可能会遇到一种混合的情况,就是我们的应用程序是远程计算机的一个用户,也是移动应用程序的服务器。有许多的情况我们的应用程序会使用保存的远程计算机的对象。 我们需要一个能将对象在不同进程间传输的方法,可以将一个大问题分解...
  • 空标题文档

    第13章 配置文件和持久化 配置文件是对象持久化的一种形式。它包括了一个序列化的、在应用程序或服务器中对默认状态可编辑的表示。我们将对第9章“序列化和保存——JSON、YAML、Pickle、CSV和XML”中有关对象的序列化内容进行扩展,创建配置文件。 另外,如果有纯文本的可编辑的配置文件,也必须将应用定义为可配置的。进一步说,我们必须为应用程序定义...
  • 空标题文档

    16.6 大规模程序设计 让我们在21点模拟程序中添加一个功能:分析结果。我们有许多方式来实现这个新添加的功能。我们的考虑包括两个维度,这带来了大量的组合。考虑其中一个维度是如何设计新功能。 添加一个函数。 使用命令模式。 另一个维度是如何包装新的功能。 编写一个新的顶层脚本文本。我们会基于文件的名称,比如simulate.py和analyze...