Python 学习笔记-字符串

今天学习Python对字符串的一些基础处理,感觉对于工作中的自动化脚本发送CLI命令会很有帮助。

首先最重要的是%,标称"转换说明符(conversion specifier)”,用于字符串格式化。

左侧放置一个字符串(格式化字符串),而右侧放置希望被格式化的值(待格式化的值)


1

2

3

4

5

left = "Hello,%s good "     # %s 表示期望被格式化的类型

right = "she‘s"print left % right           # %用来隔开格式化字符串和待格式化值

 

Hello,she‘s good

注意,如果不在%后加s, 程序报错说

TypeError: float argument required, not str

如果right不是字符串,则会用str将其转化为字符串。


1

2

3

4

print "Price of eggs: $%d" %42

print "Price of eggs in HEX: $%x" %42

Price of eggs: $42

Price of eggs in HEX: $2a

除此之外,字符串模块string 还提供了很多有用的方法,例如Template中的subsutitute方法用以替换字符串。


1

2

3

4

5

6

7

from string import Templates

s=Template("$x loves some one")

print (s.substitute(x=‘she‘))

print s 

she loves some one

<string.Template object at 0x105bc1350>

第一次打印的是被替换后的字符串,第二次打印的是模板。

常用的字符串操作方法还有以下几种:

  • find ,等同于 in

1

2

3

4

5

6

7

8

s="the best movie"print s.find(‘movie‘)

print ‘movie‘ in s 

print s.find(‘movie‘,10)  #提供起始点,从index 10开始找

print s.find(‘movie‘,1,5) #提供起始点和结束点,从index 1找到index 59

True

-1

-1

  • join & split, 连接和分割字符串

1

2

3

4

5

6

7

8

9

10

from macpath import join

s=[‘ ‘,‘root‘,‘home‘]

print ‘//‘.join(s)

s1= ‘C:‘ ‘\\‘.join(s)

print s1 

print s1.split(‘\\‘

 //root//home

C: \root\home

[‘C: ‘‘root‘‘home‘]

这里需要注意的是\\, 如果只写作\, 由于非原始字符串会把   \  认作是转义符号,所以程序理解的是\r这个特殊的ASCII符号,既回车。


1

2

3

4

5

s1 = ‘C:\root\home‘

print s1

C:

oot\home

所以我们使用\\, 用转义符号\去转义\, 即是告诉程序 \ 是字符串的一部分。

还有一种方法就是使用原始字符串,它对于反斜线不会特殊对待:


1

2

3

s=[‘ ‘,r‘root‘,‘home‘]

print ‘C:‘+‘/‘.join(s)

C: /root/home

  • strip,去除字符串两侧的字符 (默认为空格)
  • translate, 同replace,但可以同时进行多个替换,效率更高。

例如,要同时将字符串中的c替换成k, s替换成z.


1

2

3

4

5

6

7

8

9

10

from string import maketrans

table = maketrans(‘cs‘,‘kz‘)  #建立一张替换规则表

print len(table) 

print ‘this is a magnificent day!‘.translate(table,‘!‘

#第二个参数用来指定要删除的字符

256

thiz iz a magnifikent day

除以上外,还有lower, replace, capitalize等不常用方法。

欢迎大家访问我的个人网站 萌萌的IT人

时间: 2024-12-28 10:17:53

Python 学习笔记-字符串的相关文章

python学习笔记字符串(二)

字符串类型(string) 字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"123"等等. 请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符.如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,K这6个字符. 1.创建字符串 b =   'asdasd' 2.字符串操作 a.重复输出字符串 pri

Python学习笔记:字符串(str)基本内容

1.创建字符串. 创建字符串就跟创建变量一样很简单.使用引号将字符串内容包含起来就好,可以用单引号,双引号,三引号. >>> S = 'abc' >>> S 'abc' >>> S = "abc" >>> S 'abc' >>> S = """abc""" >>> S 'abc' 使用单引号的时候,内容可以包含双引号,反

python学习笔记---字符串

字符串 常用的操作方法 .count() .find() .join() .encode() .decode() .endswith() .startswitch('A') .isdigit() .strip() .replace('xx','') .split(',')#以xx来分割字符串,返回的是一个list .splitlines()#以换行符来分割字符串,返回的是一个list #name='li,xixi,ll,yy'# print(name.count('l'))#统计某个字符串出现的

Python 学习笔记 -- 字符串格式化输出

1 #如何格式化输出字符串 2 print("{0}是一只{1}".format("我","猫")) 3 print("{a}是一只{b}".format(a="我",b="猫")) 4 print("{0:.1f}{1}".format(3.1415,"GB")) 5 6 #使用%格式化输出 7 print("%c %c %c"

python学习笔记——字符串方法

center:用来在两边填充字符,让字符串居中'the middle is sssssss'.center(20)' The middle is lx ' strip:删除开头结尾空白字符' The middle is lx '.strip()'The middle is lx'names=['lx','dt','xx'] >> name='lx '>> if name in names: print('this is true')...>> if name.strip

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

python学习笔记2:字符串

python学习笔记2:字符串 总结:字符串是不可变变量,不能通过下标修改其值 字符串的方法都不会改变字符串原来的值,而是新生成一个字符串 一.3种写法--单引号,双引号,三引号 二.下标和切片 下标:字符串里每个字符所在的位置,也叫索引.strname[n] ,表示strname这个字符串的下标为n对应的字符的值. 切片:取字符串一个下标区间的值. strname[n:m],表示strname这个字符串,下标n到m这个区间内的值,注意n:m取值,顾前不顾后. 三.字符串遍历 in 和not i

《python基础教程(第二版)》学习笔记 字符串(第3章)

<python基础教程(第二版)>学习笔记 字符串(第3章)所有的基本的序列操作(索引,分片,乘法,判断成员资格,求长度,求最大最小值)对字符串也适用.字符串是不可以改变的:%左侧是格式字符串,右侧是需要格式化的值print '%s=%d' % ('x',100) ==> x=100%% 格式字符串中出现 %模板字符串:from string import Templates=Template('$x is 100');  s.substitute(x='ABC');  ==> '

Python学习笔记--未经排版

Python 学习笔记 Python中如何做到Print() 不换行 答:Print("输出内容",end='不换行的分隔内容'),其中end=后面为2个单引号 注:在Python 2.x中,Print "输出内容", 即在输出内容后加一逗号 Python中 is 和 == 的区别 答:Python中的对象包含三要素:id.type.value 其中id用来唯一标识一个对象,type标识对象的类型,value是对象的值 is判断的是a对象是否就是b对象,是通过id来