.Net程序员之Python基础教程学习----字符串的使用[SecondDay]

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

在The FirstDay 里面学习了列表的元组的使用,今天开始学习字符串的使用。字符串的使用主要要掌握,字符串的格式化(C语言中我们应该都知道,Python和C语言差别不大),字符串的基本操作(Join,Split,Replace等和.net里面的也有很多相似点)

一.字符串的基本操作

1.字符串格式化认识: 字符串的格式化用%隔开与C语言一样.赋值也是用%(val1,val2)来传递,其实就是用元组来传递格式化数据.

Note: values元素的个数以及格式必须与格式化字符串的一一对应. 否则会报错.

>>> format ='Hello. %s %s'>>> values =('World','Frank')>>>PRint format %values

Hello. World Frank

2.字符串格式化转换类型: 字符串格式化分为很多种,基本使用类型如下:

转换类型

含义

d

带符号的十进制

o

不带符号的八进制

u

不带符号的十进制

x(小写)

不带符号的16进制

X(大写)

带符号的16进制

f

浮点数

c

单个字符

s

字符串

3. 字符串的转换:

%[格式化宽度][转义类型]:设置格式化后的长度.多出的忽略

%.保留小数位][数字类型]:设置小数点后保留位数

%[填充字符][格式化宽度][转移类型]:此方法情况比较多,建议大家自己测试一下。不同类型不同情况结果不一致.我这里就不统一列出情况了.

>>>'The float is %.2f'%(1.0/3)#保留2位有效小数点'The float is 0.33'>>>'Your Name is %10s'%'Frank'#设置宽度为10'Your Name is Frank'>>>'%+10d'%1#设置宽度并且前面天上+号'+1'>>>'%010d'%1#设置宽度前面用0补全'0000000001'

4. 字符串模板: 除开字符串格式化,Python还提供了另外一种格式化方法,叫做字符串模板,主要通过Template的substitute方法试下,支持字典的操作.

Note: 字符串模板可以直接通过字典进行替换,替换的原理是通过Mapping(映射)来实现的. 整体上来说调用substitute. Temlate里面的$字段,在字典的Key里面必须存在,否则就会报错提示Mapping不存在;不过可以通过safe_substitute来避免报错问题. 请看下面代码:

>>>fromstringimportTemplate>>> dicMsg = Template{'Name1':'Frank','Name2':'Loch'}>>> s = Template('$Name1 And $Name2 Are Ecoworks')>>>s.substitute(dicMsg)'Frank And Loch Are Ecoworks'>>> dicMsg ={'Name1':'Frank'}>>>s.safe_substitute(dicMsg)'Frank And $Name2 Are Ecoworks

>>> dicMsg ={'Name1':'Frank','Name2':'Loch','Name3':'Hardy'}

>>> s.substitute(dicMsg)

'Frank And Loch Are Ecoworks'

二. 字符串常用方法.

与.net和java类似,Pyhon对String一样提供了很多操作方法。比如upper,find,replace 等

1.Find : 找出字符串第一个匹配到的下标. 如果不存在返回-1

>>>'Frank Zhang'.find('Zhang')6

>>>'Frank Zhang'.find('a')2

>>>'Frank Zhang'.find('12')-1

2.Join : 通过一个特定字符将列表链接起来,切记,列表必须的字符串列表,推理是连接的时候是通过list遍历然后字符串想加的,如果是整数,那么在执行想加会报错的.

>>> list1=[1,2,3]>>>'-'.join(list1)

Traceback (most recent call last):

File"<pyshell#32>", line 1,in<module>'-'.join(list1)

TypeError: sequence item 0: expected string, int found>>> list2=['1','2','3']>>>'-'.join(list2)>>> '--'.join(['1','2','3'])

'1--2--3'

3.Split 和Splitline: 字符串拆分,通过特定的字符将字符串拆分为列表.

>>>'1-2-3-4-5'.split('3-4')

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

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

['1-2','4-5']>>>'123\n456'.splitlines()

['123','456']>>>'123\n456'.split('\n')

['123','456']

4.字符大小写转换: Python提供了很多有用的字符串大小写转换,包括全部转换,单词首个字母转换大写。

>>>'Frank'.upper()#转换为大写'FRANK'>>>'Frank'.lower()'frank'>>>'FRANK'.islower()

False>>>'frank'.islower()

True>>>'my name is frank'.title()#每个单词第一个字母大写'My Name Is Frank'>>>'AaDdEe'.swapcase()#每个字母大小写相互转换'aAdDeE'>>>'this is python'.capitalize()'This is python

5.strip: 踢出字符串前后的空格符号,与.net的Trim()方法差不多.

>>>'Frank'.strip()'Frank'>>>'Frank'.rstrip()'Frank'>>>'Frank'.lstrip()'Frank'

三.总结:

整体来说Python的字符串操作还是挺简单的。也就一些基本方法的调用。格式化字符串于C语言区别不大.String的字符串操作与.Net的操作也不算太大.

该去吃午饭了.下午和同事去滑冰场滑冰,第二次滑冰,今天把'转弯'和'刹车'学会,PS 周二到周六班次上班还是有好处的。周一去滑冰场简直就是我们的专场。没其他人,适合初学者练习。哈哈。期待美好的一下午.

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航