文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>python(4): string的操作

python(4): string的操作

时间:2007-03-30  来源:marlboro027

对于一个字符串,最基本的操作就是连接、截取。在python中,’+‘是字符串连接符,截取则要用到python一个强 大功能slice,也就所谓的切片,很形象。在’+‘连接字符串的时候,需要注意一点,“+”不能用来连接一个字符串和一个数字,因为“+”也同时是数字 在加法运算符,如果你写出4+'times',那么电脑是应该把4变成字符串呢,还是应该把’times‘变成数字呢?这就成问题了,所以这是不允许的。 同时就跟乘法是加法的一种形式一样,字符串也可以用”*“来做多重连接的运算。
切片有多种形式,各有各的用处:
  1. str[0:5]
  2. str[:]
  3. str[4:]
  4. str[:-3]
  5. str[2]
  6. str[1:9:2]
第一种形式其实就是切片的基本形式,截取第一位到第四位的字符。注意:在切片中,不包括后一个数字代表的字符。剩下的都是切片的最种形式,第二种表示“截 取”这个字符串的全部字符,可以这样理解,":"前的“空”代表字符串开头,“:”后的”空“代表字符串的尾。这样的话第三种的意思是从第五个字符到结 尾。这里需要注意的是片的标号是左边从0开始算的,右边从-1开始算的,为什么右为不也从零开始呢?因为数学上没有”-0“的概念,只要这样将就了。第四 种表示从头开始到倒数第三个字符之前,不包括倒数第三个字符。第五种表示,截取一个字符就是第三个字符,标号为2。最特殊的就是第六种,这是一种新加的功 能,它的标号有三个,前两个很清楚是什么意思,最后一个表示步长。意思是取出字符串的第二到第8位,以2的步长取出字符。比如str= '0123456789',str[1:9:2]的结果是’1357‘,str[1:9:-1]的结果是'87654321'。这也是一个技巧可以用 str[::-1]创造一个与原字符串顺序相反的字符串。

前面说到,是不允许用”+“连接字符串和数字的,如果有这种需求,也不是没有办法,就是要给电脑明确要把数字转成字符串,还是要把字符串转成数字。
  • 字符串转成数字:   int()
  • 数字转成字符串:   str()
  • 字符串转成浮点数: float()
其实,前面也说过int()和str()函数,int()函数把参数转成十进制的整数,str()把参数转成ASCII编码的字符串。

对于字符串还有一个比较特殊的运算:in,可以用来判断一个字符串是否包含在另一个串中。也可结合for循环,用来遍历字符串的第一个字各个符。比如:
  1. str='hello world'
  2. if 'el' in str:
  3.     print 'yes'
  4. else:
  5.     print 'no'
  6. for char in str:
  7.     print char,
这 个小程序会输出,’yes'和‘hello world'。第2行用于判断字符串是否在str中,结果显然是ture,所以输出'yes'。第六行中char是一个变量名,意思是遍历str的每个字 符,并且每次循环都把一个字符赋给变量char并输出。第7行的最后‘,’要注意,print在输出时,会在每次输出后加上‘\n’,如果这样的话,输出 的'hello world'就会是坚着的,加上’,‘可以避免出现这种情况。

重要提示,’‘字符在string类型中好像很特殊。比如一个字符串为L=“test”。 那么:
L.count('') ===> 5
'' in L ===> True
L.index('') ===> 0
L.find('') ===> 0
只能理解为字符串L实际上是 ''+'t'+''+'e'+''+'s'+''+'t'+''。这样的话第一个''可以用L[0,0],第二个''可以用L[1:1]...表示

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载