博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
pythoning ——3、数据类型(字符串)
阅读量:6112 次
发布时间:2019-06-21

本文共 2110 字,大约阅读时间需要 7 分钟。

1、字符串的基本操作

  所有标准序列的操作(索引、分片、乘法、判断成员资格、长度等)对序列同样适用,上面已经介绍,这里便不一一赘述。字符串是不可变的,因此对字符串中的项或分片赋值,都是不合法的。

2、字符串的格式化

  字符串格式化使用百分号%来实现。(%百分号也可作为求余和模运算操作符)

  在%的左侧放置一个字符串(格式化字符串),在右侧则是放置与之对应的被格式化的值。该值可以是一个字符串、数字,也可以是多个值的元组或字典。如果使用列表或者其他序列代替元组,那么序列会被解释为一个值,只有元组和字典可以格式化一个以上的值。

>>> print("Hi,My name is %s,I'm %s years old now!"%("Jam",23))Hi,My name is Jam,I'm 23 years old now!

 

  格式化字符串时%s成为转换说明符,用以标记需要插入转换值的位置,s表示被格式化部分为字符串,如果不是则会被强制转换为字符串。如果格式化实数,可以用%f说明,同事提供所需的精度:一个句号加上希望保留的小数位数。

>>> from math import pi>>> print ("Pi with three decimals:%.3f"%pi)Pi with three decimals:3.142
字符串格式转化类型
转化类型 含义
d,i 带符号的十进制函数
o 不带符号的八进制
u 不带符号的十进制
x 不带符号的十六进制(小写)
X 不带符号的十六进制(大写)
e 科学计数法表示的浮点数(小写)
E 科学计数法表示的浮点数(大写)
f,F 十进制浮点数
g 如果指数大于-4或小于精度值则和e相同,其他与f相同
G 如果指数大于-4或小于精度值则和E相同,其他与F相同
c 单字符
r 字符串
s 字符串

  转换说明符可以包括字段宽度和精度。宽度指转换后的值所保留的最小字符个数,精度指包含的小树位数。这两个参数都是整数,可以同时存在,需以句号(.)分割。可以使用*作为字段宽度或精度,此时数值会从元组参数中读出

>>> "%10.2f"%pi'      3.14'>>> "%10.3f"%pi'     3.142' >>> "%.*s"%(5,'jamesasdfasdfasdfasdf')

'james'

 

3、字符串方法

字符串在python中应用的相当广泛,而对字符串的操作则更是只有你想不到,没有python做不到的,几乎到了发指的程度。

find

find可以在一个较长的字符串中查找子串,返回其最左端的索引,如果没有则会返回-1;另外这个方法还可使用其实点和结束点参数,以方便区域位置内是否有匹配字段:

>>> subject = '$$$get rich now!!!$$$'>>> subject.find('$$$')0>>> subject.find('$$$',1)18>>> subject.find('!!!')15>>> subject.find('$$$',1,18)-1

join

join方法是split方法的逆方法,可以用来连接序列中的元素,序列元素必须都是字符串:

>>> seq = [1,2,3,4,5]>>> sep = '+'>>> sep.join(seq)Traceback (most recent call last):  File "
", line 1, in
TypeError: sequence item 0: expected str instance, int found>>> seq = ['1','2','3','4','5']>>> sep.join(seq)'1+2+3+4+5'

lower、upper

大小写格式化,不多说,看代码

>>> "FukudA".lower()'fukuda'>>> "FukudA".upper()'FUKUDA'

replace

replace方法返回某字符串的所有匹配想均被替换后得到的字符串。

>>> "good job".replace('job','night')'good night'

split

同join反着来,用来将字符串分割成序列。返回值为列表。

>>> '1+2+3+4+5'.split("+")['1', '2', '3', '4', '5']

strip

strip方法返回去除两侧空格的字符串,也可指定需要去除的字符,将其列为参数即可:

>>> "  you jump,I jump!come on!  ".strip()'you jump,I jump!come on!'>>> "****!!!  you jump,I jump!come on!*!*!  ".strip(' *!')'you jump,I jump!come on'

转载于:https://www.cnblogs.com/fukuda/p/5509172.html

你可能感兴趣的文章
Git [remote rejected] xxxx->xxxx <no such ref>修复了推送分支的错误
查看>>
Porter/Duff,图片加遮罩setColorFilter
查看>>
黄聪:VMware安装Ubuntu10.10【图解】转
查看>>
Centos 6.x 升级openssh版本
查看>>
公式推♂倒题
查看>>
vue实现点击展开,点击收起
查看>>
如何使frame能居中显示
查看>>
第k小数
查看>>
构建之法阅读笔记三
查看>>
Python/PHP 远程文件/图片 下载
查看>>
【原创】一文彻底搞懂安卓WebView白名单校验
查看>>
写给对前途迷茫的朋友:五句话定会改变你的人生
查看>>
并行程序设计学习心得1——并行计算机存储
查看>>
JAVA入门到精通-第86讲-半双工/全双工
查看>>
bulk
查看>>
js document.activeElement 获得焦点的元素
查看>>
C++ 迭代器运算
查看>>
【支持iOS11】UITableView左滑删除自定义 - 实现多选项并使用自定义图片
查看>>
day6-if,while,for的快速掌握
查看>>
JavaWeb学习笔记(十四)--JSP语法
查看>>