Python初级005-字符串操作
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python初级005-字符串操作相关的知识,希望对你有一定的参考价值。
字符串操作
目录
1:字符串格式化精简版
-------字符串的基本操作
-------字符串格式化基本操作
2:字符串格式化完整版
--------基本的转换说明符
--------转换类型
-------字段宽度和精度
-------符号,对其和用0 填充
3:字符串方法
-------find
-------join
-------lower
-------replace
-------split
-------strip
-------translate
一:字符串格式化的精简版操作
-------基本的字符串操作
format=格式化
foemat函数有两个参数。1)位置参数,2)关键字参数
例子:位置参数---%右边是元组
>>> ‘{0} baidu.{1}‘.format(‘www‘,‘com‘)
‘www baidu.com‘
解析:format函数的位置参数调用的时候是,要用{}引起来,右边要替换成字符串,{0}中0表示的就是位置参数,将‘www‘,‘com‘传递给format的位置函数,进行格式化处理得出结果。
例子:关键字参数
>>> ‘{a} baidu.{b}‘.format(a=‘www‘,b=‘com‘)
‘www baidu.com‘
-------字符串格式化基本操作
字符串格式化会用字符串格式化操作符(%),在%的左边放置的是字符串,右边放置的是需要被格式换的值。
例子:
>>> format = ‘you %s.%s %s langue is %s.‘
>>> values = (‘know.‘,‘my‘,‘first‘,‘python‘)
>>> print (format % values)
you know..my first langue is python.
例子:格式化实数或浮点数,可以使用f说明转换说明符的类型
Pi=π=3.14159
>>> format = ‘Pi with three decimals: %.3f‘#第一次格式化
>>> from math import pi #调用math模块中的pi方法
>>> print (format % pi) #第二次格式化之后打印
Pi with three decimals: 3.142
二:字符串格式化完整版
--------基本的转换说明符
1)%字符 : 是字符串格式化重要的格式符,标记转换说明符的开始
2)转换标志(可择) : ‘-’表示左对齐
‘+’表示转换值之前要加上正负号
‘ ’空白符号表示整数之前保留的空格
0 表示转换后的值若位数不够则用0 填充
3)最小字段宽度(可选): 转换后的字符串至少应该具有该指定的宽度
4)点(.)后面跟精度值 : 如果换成是实数,精度值就表示小数点之后的位数,如果转换的是字符串,那么该数字就表示最大字段宽度,如果是*,那么表示精度会从元组中读出。
--------转换类型
格式符号 | 转换 |
%c | 字符 |
%s | 通过str() 字符串转换来格式化 |
%i | 有符号十进制整数 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%e | 索引符号科学计数法的浮点数(小写‘e‘) |
%E | 索引符号科学计数法的浮点数(大写“E”) |
%f F | 浮点实数--十进制 |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
%r | 字符串(使用repr转换任意python对象) |
--------基本转换
例子:-d 带符号十进制格式化,有符号就带,没有就不带
>>> ‘price if eggs: #%d‘ % 42 #有符号 #
‘price if eggs: #42‘
>>> ‘price if eggs: %d‘ % 42 #没有符号
‘price if eggs: 42‘
例子:十进制浮点数
>>> from math import pi
>>> ‘%f...‘ % pi
‘3.141593...‘
>>> ‘Pi: %f**‘ % pi
‘Pi: 3.141593**‘
-------字段宽度和精度
字符段宽度是指转换后的值所保留的最小字符个数,精度是结果中应该包含的小数位数
语法:格式化符号%左边的内容
%10.5d % pi
解释:10表示字段的宽度,.5 表示精度,这里必须要有‘.’点。
例子:
>>> from math import pi
>>> ‘%20.5f‘ % pi #字符宽为20,精度为5
‘ 3.14159‘ #3.14159表示的字段宽为7,空白处的字段宽为13
>>> ‘%10.5f‘ % pi
‘ 3.14159‘
>>> ‘%10.5s‘ % ‘information‘
‘ infor‘
注:可以用* 星号作为字段宽度或者是精度,两者都可以是*号。此时数值会从元组参数中读出。
-------符号,对其和用0 填充
在字段宽和精度值之前还可以放置一个‘标志’,标志可以是 0 ,+, - 和空格.
例子:在空白字段中,0用来表示数字将会用0进行填充
>>> ‘%010.2f‘ % pi
‘0000003.14‘
例子:减号用来左对齐数值
>>> ‘%-10.2f‘ % pi
‘3.14 ‘ #左对齐之后会将空格字段放置到后面
例子:“ ”空白表示正数钱加上空格 (正负数对齐)
>>> print (‘% 5d‘ % 10) + ‘\n‘ + (‘% 5d‘ % -10)
10
-10
说明:加上加号(+),它表示不管是正数还是负数都会带上符号的
>>> print (‘%+5d‘ % 10) + ‘\n‘ + (‘%+5d‘ % -10)
+10
-10
三:字符串方法
-------find
find方法可以在一个较长的字符串中查找到‘子串’。返回子串所在位置第一个元素的索引,即子串的最左边的索引
例子:
>>> ‘what is your name? my name is Genal‘.find(‘name‘)
13
>>> ‘what is your name? my name is Genal‘.find(‘is‘)
5
注:当一串字符串中有多个要查询的元素的时候,只会找第一个
Find方法还可以根据接收可选的起始点和结束点参数
>>> object = ‘what is your name ? my name is Genal‘
>>> object.find(‘is‘) #查询到第一个is在索引5处
5
>>> object.find(‘is‘,6) #查询的起点的索引位置是6,找到的is是索引28位
28
>>> object.find(‘is‘,6,18)#查询的起始点是索引6,结束点是18,没有找到,返回-1
-1
-------join
Join方法是split方法的逆运算,用来连接序列中的元素
>>> html = ‘+‘
>>> web = [‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘]
>>> html.join(web)
‘1+2+3+4+5+6+7‘
>>> dirs = ‘‘,‘user‘,‘bin‘,‘bush‘
>>> ‘/‘.join(dirs)
‘/user/bin/bush‘
>>> print ‘C:‘ + ‘\\‘.join(dirs)
C:\user\bin\bush
>>>
注:需要被连接序列元素必须都是字符串。
-------lower
lower方法是返回的字符串是小写字母
>>> why = ‘What is your name? My name is Genal.‘
>>> why.lower()
‘what is your name? my name is genal.‘
当需要在列表中找到某个元素时,列表中的元素有大写和小写,扎个时候寻找的时候就可以有lower方法了。
例子:
>>> if ‘Genal‘ in [‘genal‘,‘jack‘,‘mike‘]: print ‘Fount it‘
..... #没有找到就不做回应
>>>
>>> name = ‘Genal‘
>>> name_list = [‘genal‘,‘Mike‘,‘jack‘,‘Rouse‘]
>>> if name.lower() in name_list : print ‘Fount it‘
Fount it #找到了就做回复
>>>
-------replace
replase方法是返回某个字符串的所有匹配项都被替换掉之后得到的字符串
例子:查找并替换
>>> list = ‘What is your name? My name is Genal.‘
>>> list.replace(‘Genal‘,‘jack‘)
‘What is your name? My name is jack.‘
-------split
split是join的逆运算,用来经字符串分割成序列
例子:
>>> list = ‘1+2+3+4+5+6‘
>>> list.split(‘+‘)
[‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘]
-------strip
Strip方法用于去除元素内容两边的空格或者符号。(不包括元素内容的内部)
例子:去除空格
>>> list = ‘ My name is Genal ‘
>>> list
‘ My name is Genal ‘
>>> list.strip()
‘My name is Genal‘
例子:去除符号
>>> list = ‘*****My name is Genal******‘
>>> list.strip(‘*‘)
‘My name is Genal‘
-------translate
translate方法和replace方法一样,可以替换字符串中的某些部分,但是和前者不同的是translate方法只处理单个字符,他的优势在于可以同时进行字符串中的单个字符的多个替换。
例子:
>>> from string import maketrans
>>> table = maketrans(‘cs‘,‘kz‘)
>>> list = ‘This is an incredible test‘
>>> list.translate(‘table‘)
‘Thiz iz an inkreduble tezt’
本文出自 “末班车” 博客,请务必保留此出处http://blxueyuan.blog.51cto.com/9673381/1879095
以上是关于Python初级005-字符串操作的主要内容,如果未能解决你的问题,请参考以下文章