开始Python -- String处理(1)

原创 2007年10月10日 17:52:00

1、基本String操作

l         String支持大部分Sequence操作,但String是不可变的,所以所有Sequence赋值操作是不支持的:

>>> website = 'http://www.python.org'

>>> website[-3:] = 'com'

Traceback (most recent call last):

  File "<interactive input>", line 1, in ?

TypeError: object doesn't support slice assignment

 

2String格式化:简短形式

l         String的格式化操作符是“%”,左边是要格式化的String,右边是要格式化的值,可以是单值或Tuple或后面讲述的Dictionary(多值):

>>> format = "Hello, %s. %s enough for ya?"

>>> values = ('world', 'Hot')

>>> print format % values

Hello, world. Hot enough for ya?

l         格式化String中的%后的字符指定转换类型,见下面的表格:

转换类型

说明

d,i

有符号十进制整数

o

无符号八进制数

u

无符号整数

x

无符号十六进制数(小写)

X

无符号十六进制数(大写)

e

指数型浮点数(小写)

E

指数型浮点数(大写)

f,F

浮点数

g

根据精度显示普通浮点数还是指数型浮点数(小写)

G

根据精度显示普通浮点数还是指数型浮点数(大写)

c

字符(接受整数或单个字符的String

r

String(使用repr()转换)

s

String(使用str()转换)

l         在格式化String中使用%时,可以用%%替代

 

3、模版String

l         string模块提供了另一种格式化值的方法:模版String

>>> from string import Template

>>> s = Template('$x, glorious $x!')

>>> s.substitute(x='slurm')

'slurm, glorious slurm!'

l         如果替换的域是单词的一部分,需要用“{}”来区分:

>>> s = Template("It's ${x}tastic!")

>>> s.substitute(x='slurm')

"It's slurmtastic!"

l         在格式化String使用$,可以用$$替代

l         替代多key参数的方法就是使用key/value对的Dictionary

>>> 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.'

l         Template提供了safe_substitute()方法,在缺少格式化值,或用法错误时,会忽略而不进行转换,不会抛异常

 

4String格式化:长形式

1) 宽度和精度

l         宽度:为格式化值保留的最小字符长度

l         精度:对数字,是精度位数;对String,是最大的字符长度

l         宽度和精度是两个整数,用“.”分割:

>>> from math import pi

>>> '%10f' % pi # Field width 10

' 3.141593'

>>> '%10.2f' % pi # Field width 10, precision 2

' 3.14'

>>> '%.2f' % pi # Precision 2

'3.14'

>>> '%.5s' % 'Guido van Rossum'

'Guido'

l         可以使用“*”来替代宽度或精度,以便从Tuple中读取:

>>> '%*.*f' % (10, 2, pi)

'      3.14'

2) 符号、对齐和前导零

l         0”表示前导零:

>>> '%010.2f' % pi

'0000003.14'

l         -”表示左对齐(缺省是右对齐)

>>> '%-10.2f' % pi

'3.14 '

l         空格表示保留符号位:

>>> print ('% 5d' % 10) + '/n' + ('% 5d' % -10)

 10

-10

l         “+”表示显示符号位:

>>> print ('%+5d' % 10) + '/n' + ('%+5d' % -10)

+10

-10

 

 

python 类型转换+数值操作+异常处理

类型转换int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转...
  • u012316444
  • u012316444
  • 2016年06月30日 10:35
  • 2239

Python Pandas数据处理入门(Kaggle Titanic竞赛数据)

Kaggle数据竞赛是学习ML的一种有效途径。
  • u011933487
  • u011933487
  • 2014年09月01日 16:59
  • 19766

用python和numpy读写将字符串或文件中的数据

用python和numpy处理数据次数比较多,写了几个小函数,可以方便地读写数据: # -*- coding: utf-8 -*- #~ #-----------------------------...
  • rumswell
  • rumswell
  • 2013年01月09日 18:02
  • 18148

Python出现TypeError: file() argument 1 must be encoded string without NULL bytes, not str问题解决

window系统下,在使用Python的open函数打开一个文件时,出现了TypeError: file() argument 1 must be encoded string without NUL...
  • u013457382
  • u013457382
  • 2016年03月20日 21:06
  • 3804

python中的string相关用法(1)

python中的string相关用法(1)今天自学python中的额时候,发现了很多技巧性的方法,于是幡然醒悟,觉得脑子并不够用,是时候做个笔记了。 注:以下的内容多数来自周伟那本python教材,...
  • Leo_cumt
  • Leo_cumt
  • 2016年10月23日 22:51
  • 130

Python 字符串 String 内建函数大全(1)

关于 Python 的字符串处理相关的方法还是非常多的,由于我正在学习 Python,于是就把 Python 中这些混杂的用于 string 的函数总结出来,在自己忘记的时候便于查找,希望对于有类似需...
  • luoyhang003
  • luoyhang003
  • 2016年03月02日 11:14
  • 2912

Python标准库(1)——string

1 字符串部分 1.1 string 包含常量及文字处理类 1.1.1 函数 capwords()函数将字符串中的每一个单词的首字母大写 >>> print string.capwords('my...
  • lxgwm2008
  • lxgwm2008
  • 2015年05月21日 18:08
  • 629

《Python科学计算》.(张若愚) OCR 不清晰页面处理版 part1 2

  • 2013年12月08日 23:49
  • 41.81MB
  • 下载

Python二进制处理 --实现SHA-1算法

  • 2011年12月13日 19:43
  • 3KB
  • 下载

api-ms-win-crt-string-l1-1-0.dll

  • 2016年10月23日 16:49
  • 9KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开始Python -- String处理(1)
举报原因:
原因补充:

(最多只允许输入30个字)