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

splitjoin的逆运算,用来经字符串分割成序列

例子:

>>> 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-字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

Python初级004-字典

程序媛计划——python初级课时3~5

005-Python 变量类型

python--005--文件操作

Django day005

005 python语法