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

    7.7 总结 我们已经介绍了内置的数值类型,也看了很多在创建新数值类型时所需的特殊方法。特殊的数值类型可以与Python其余部分无缝集成,是这个语言的一大特色。除非使用得当,否则并不意味着工作的简化。 7.7.1 设计要素和折中方案 当使用数值时,设计分为以下几步。 1.考虑使用内部版本的complex、float和int类型。 2.考虑类库的扩...
  • 空标题文档

    第8章 装饰器和mixin——横切方面 一个软件的设计通常会包括一些跨越了不同的类、函数和方法的方面。有关技术方面的例子,包括日志、设计和安全,这些方面必须有一致地实现。在面向对象编程中,重用功能的通用方法是继承一个类。但是,继承并不总是最合适的方案。在软件设计中,有一些方面和类层次结构是正交的。这些通常被称为“横切关注点”(cross-cutting ...
  • 空标题文档

    9.3 定义用于持久化的类 在开始进行持久化之前,需要先获得要保存的对象。关于持久化的设计有几个要点需要考虑,将以一个简单的类定义为起始。我们将看一个简单的博客和上面所发布的文章,以下是一个Post类的定义。 import datetimeclass Post:   def init ( self, date, title, rst_text, tag...
  • 空标题文档

    10.1 分析持久化对象用例 第9章“序列化和保存——JSON、YAML、Pickle、CSV和XML”中介绍的持久化机制主要针对基于压缩文件读写一个已序列化的对象。如果想要更新文件的任何一个部分,必须替换整个文件。这是使用数据的简洁表示法的结果,即很难在文件中定位一个对象,同时如果对象的大小改变了,替换对象也很困难。比起用更聪明、更复杂的算法来解决这些...
  • 空标题文档

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

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

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

    11.8 通过创建索引提高性能 提高一个关系数据库(例如SQLite)的途径之一是加快连接操作的执行。我们不希望SQLite对整表进行读取来查询匹配的行。通过在一个指定的列上创建索引,SQLite会对索引进行检测并只会从表中读取相关的行。 当我们定义了一个在查询中会使用的列时,就应该考虑为这个列创建索引。这也是在SQLAlchemy中的一种简单的处理方...
  • 空标题文档

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

    15.7 总结 我们介绍了使用unittest和doctest来创建自动化单元测试,也介绍了可以创建测试套件,测试的集合可以被打包起来重用,被放入套件中获得更大的范围,而无需依赖自动化测试查找进程。 我们还介绍了如何创建模仿对象,这样可以隔离软件单元对其进行测试,也介绍了几种安装和卸载的方式。这样就可以应对包含了复杂的初始化状态或存储结果的测试。 d...