第3.11节 format字符串格式化的格式控制 一.    引言 上节介绍了四种format进行字符串格式化的方法,但都只介绍了真实值与格式符的位置映射关系,而没有介绍诸如宽度.对齐方式.精度控制等控制每个真实值显示格式的内容.本节就介绍怎么进行字符串格式化的格式控制,这种格式控制的要素在format格式化中称为"格式说明符". 在前面章节介绍了"格式符"(也称为"替…
一.    引言 前面两节介绍的字符串格式化方法,都有其本身对应的缺陷,老猿不建议大家使用,之所以详细介绍主要是考虑历史代码的兼容性,方便大家理解前人留下的代码.老猿推荐大家新编码时使用format方法,因为该方法比前面2种方法更强大,也更容易理解.format方法是在Python2.6以后的版本才支持. format格式字符串中使用大括号将格式符(也称为"转换说明符"."替换字段")括起来,对应的真实值通过format方法传递进来.format格式字符串有多种使用…
一. 引言 在<第14.8节 Python中使用BeautifulSoup加载HTML报文>中介绍使用BeautifulSoup的安装.导入和创建对象的过程,本节介绍导入后利用BeautifulSoup对象访问相关标签数据. 本节案例中介绍处理的c:\temp\s1.html文件内容如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <style type="text/css&qu…
在前面章节老猿介绍了包下模块及子包的加载的各种方式,并说明包的加载首先是自动加载包下的__init__.py文件.在<第10.6节 Python包的概念>中介绍了__init__.py文件的作用主要用于包内模块的加载,那么使用__init__.py来加载包的模块有什么好处呢? 我们先来看例子,下面例子还是以<第10.7节 Python包的和子包定义步骤>中规划的包为基础来介绍的,本节唯一的变化是包goodspricequery的__init__.py增加了两行增加注释的内容,如下:…
一. 引言 在<第11.16节 Python正则元字符"()"(小括号)与组(group)匹配模式>介绍了组匹配模式,在一个正则表达式内可以定义多个组,每个组都有一个顺序分配的序号,并且在代表匹配结果的匹配对象中能通过组序号去访问每个组的匹配结果.除了这种组序号访问方式之外,re模块还支持在匹配模式串中给组命名,并通过组名去访问组相关匹配数据,这就是正则表达式处理的命名组功能. 二. 语法 组命名的语法是在组匹配模式基础上扩展的,是在组的括号起始部分增加"?P&l…
旧的时间字符串-->simpledataformat1.parse(该字符串) 获得date类型 -->simpledataformat2.format(date) simpledateformat1的pattern的格式和旧的字符串相同,simpledateformat2的pattern格式和希望的相同. 比如 旧的字符串格式为 yyyy-MM-dd,希望转换为yyyy年MM月dd日 String old="2019-12-13"; DateFormat format1…
在<第11.9节 Pytho正则表达式的贪婪模式和非贪婪模式>老猿简单介绍了贪婪模式和非贪婪模式,并说明'', '+',和 '?' 修饰符都是 贪婪的:它们在字符串进行尽可能多的匹配.有时候并不需要这种行为,只希望匹配到一个就可以,如 希望找到'<a> b <c>'中满足"<.>"匹配条件的结果为"<a>",这就是非贪婪模式.在修饰符'', '+',和 '?' 之后添加 '?' 将使匹配模式以 非贪婪进行匹…
一.    引言 在前面章节已经引入介绍了类变量和实例变量,类体中定义的变量为类变量,默认属于类本身,实例变量是实例方法中定义的self对象的变量,对于每个实例都是独有数据,而类变量是该类所有实例共享的属性和方法. 二.    实例变量的定义方式 1.    Python变量的本质是被赋值,实例变量是在实例方法内第一次通过self方式赋值来定义,该实例方法不一定是构造方法,只要是实例方法中通过self给一个未定义的变量赋值都是定义一个实例变量.不过由于构造方法在实例创建是即执行,因此在实例定义时…
本文中所有案例中的fp都是使用open函数打开文件返回的一个文件对象,为了节省篇幅,大部分没有提供文件打开的代码. 一. 文件是否关闭的属性 属性名:closed 功用:判断文件是否关闭 示例: >>> fp = open(r"c:\temp\test.txt","r") >>> fp.closed False 二. 文件关闭close 调用语法:close() 功能:将缓存内容刷新到存储,并关闭文件 示例:fp.close()…
一. 引言 按照<第7.10节 Python类中的实例变量定义与使用>.<第7.14节Python类中的实例方法解析>中的介绍,当定义了一个类,并且创建了该类的实例后,可以给该实例动态增加任何属性和方法.但实际上,Python中的类可以控制哪些属性可以增加,这个就类似于一个可以动态增加属性的白名单.这个白名单就定义在类的特殊实例变量__slots__中. 二. slots __slots__这个特殊变量在object类中是没有定义的,因此如果使用必须在自定义类中单独定义,并且必须是…