第 3 章 Python
来源:互联网 发布:transmit mac 编辑:程序博客网 时间:2024/05/12 08:42
第 3 章 Python
目录
- 字符串格式化
- 模板字符串
- Anonymous Functions
- *args and **kwargs
- * and ** in Function Calls
- * and ** in Function Signatures
- Decorators
- NLTK
- 用python收发邮件
- Dive into Python
- Building Skills in Python
- 类
- 错误和异常
- 检测和处理异常
- 触发异常
- 断言
- 标准异常
- Dbus
- Buses
- Objects and interfaces
- Some examples
- PyGtk
- 操作windows的注册表
图 3.1. python cheatcheet
字符串格式化
字符串格式化使用字符串格式化操作符%来实现。
在%的左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值。可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者字典。一般情况下使用元组:
>>>format = "Hello, %s,%s enough for ya?">>>values = ('world','Hot')>>>print format % valuesHello, world,Hot enough for ya?
注意
如果使用列表或者其他序列代替元组,那么序列就会被解释为一个值。只有元组和字典可以格式化一个以上的值。
格式化字符串的%s部分称为转换说明符(conversion specifier),它们标记了需要插入转换值的位置。s表示值会被格式化成字符串--如果不是字符串,则会用str将其转换为字符串。这个方法对大多数值都有效。
注意
如果要在格式化字符串里面包括百分号,那么必须使用%%,这样Python就不会将百分号误认为是转换说明符了。
如果要格式化实数(浮点数),可以使用f说明符类型,同时提供所需要的精度:一个句点再加上希望保留的小数位数。因为格式化说明符总是以表示类型的字符结束,所以精度应该放在类型字符前面:
>>>format = "Pi with three decimals:%.3f">>>from math import pi>>>print format % piPi with three decimals:3.142
模板字符串
string模块提供另外一种格式化值的方法:模板字符串。它的工作方式类似于很多UNIX Shell 里的变量替换。如下所示,substitute这个模板方法会用传递进来的关键字参数foo替换字符串中的$foo:
>>>from string import Template>>>s = Template('$x,glorious $x!')>>>s.substitute(x='slurm')'slurm,glorious slurm!'
如果替换字段是单词的一部分,那么参数名就必须用括号括起来,从而准确指明结尾:
>>>s = Template("It;s ${x}trastic!")>>>s.substitute(x='slurm')"It's slurmtastic!"可以使用$$插入美元符号:>>>s = Template("Make $$ selling $x!")>>>s.subitute(x='slurm')'Make $ selling slurm!'除了关键字参数之外,还可以使用字典变量提供值/名称对。>>>s = Template('A $thing must never $action.')>>>d = {}>>>d['thing'] = 'gentleman'>>>d['action'] = 'show his socks'>>>s.substitute(d)'A gentleman must never show his socks.'方法safe_substitute不会因缺少值或者不正确使用$字符页出错。
格式化操作符的右操作数可以是任何东西,如果是元组或者映射类型(如字典),那么字符串格式化将会有所不同。在此先了解一下元组。
如果右操作数是元组的话,则其中的每一个元素都会被单独格式化,每个值都需要一个对应的转换说明符。
注意
如果需要转换的元组作为转换表达式的一部分存在,那么必须将它用圆括号括起来,以避免出错。
>>>'%s plus %s equals %s' % (1,1,2)'1 plus 1 equals 2'>>>'%s plus %s equals %s' % 1,1,2 #Lacks parentheses!……TypeError: not enough arguments for format string
基本的转换说明符(与此对应的是完整的转换说明符,也就是包括映射键的说明符)包括以下部分。注意,这些项的顺序是至关重要的。
%字符:标记转换说明符的开始。
转换标志(可选):-表示左对齐;+表示在转换值之前要加上正负号;“ ”(空白字符)表示正数之前保留空格;0表示转换值若位数不够则用0填充。
最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。
点(.)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将会从元组中读出。
转换类型:参见下表:
表 3.1. 字符串格式化转换类型
转换类型 含义 d,i带符号的十进制整数o不带符号的八进制u还带符号的十进制x不带符号的十六进制(小写)X不带符号的十六进制(大写)e科学计数法表示的浮点数(小写)E科学计数法表示的浮点数(大写)f,F十进制浮点数g如果指数大于-4或者小于精度值则和e相同,其他情况与f相同G如果指数大于-4或者小于精度值则和E相同,其他情况与F相同C单字符(接受整数或者单字符字符串)r字符串(使用repr转换任意Python对象)s字符串(使用str转换任意Python对象)
- 第 3 章 Python
- python学习第3章
- Python核心编程---读书笔记:第1章~第3章
- 《Python核心编程》第3章 习题
- 【Python基础教程】第3章 字符串
- 第3章 python实战例子 第一节
- python核心编程 第3章
- 【书山有路】Python基础教程 第3章
- 第3章 Python笔记 使用字符串
- python 第3天
- 《Python核心编程》第3章 Python基础 练习
- python入门 第3章 Python变量和数据类型
- 《Python核心编程》(第二版) 第3章 Python基础
- python入门课程 第3章 Python变量和数据类型
- python 核心编程学习笔记(第3章) 对应Let's-python视频第4集
- python 第6章抽象
- 第0章 Python概述
- 【Python基础教程】第5章
- 数据库连接方式
- Ubuntu10.04 下架设dhcp服务器
- 第一个事件窗体
- android中MediaPlayer和SoundPool的声音管理
- ant build 出错Android build.xml renderscript doesn't support includepath
- 第 3 章 Python
- 店员每天电脑开机,或者有空余时间要经常检查部分(电脑部分)
- 2012年度工作总结
- expect正则捕获返回结果
- Discuz x2.5 后台邮件设置方法
- 收银员早班或者是晚班下班后,必须操作部分
- 收银必须要会操作部分
- 输出php传递给模板文件的普通变量及对象
- 用PDB库调试Python程序