Python字符串类型在使用的时候会有许多知识需要大家学习,下面我们来看看如何进行细致的学习,这样对今后更好的使用有很大帮助。希望大家有所收获。#t#
中的序列是由非负整数索引的对象的有序集合(真拗口,其实意思就是下标从0开始),它包括字符串、Unicode字符串、列表、元组、xrange对象以及缓冲区对象。后两种类型我们先不介绍,后边用到时再说明。
Python字符串类型
Python拥有两种字符串类型:标准字符串(str)是单字节字符序列,Unicode字符串(unicode)是双字节字符序列。
在Python中定义一个标准字符串(str)可以使用单引号、双引号甚至三引号,这使得Python输入文本比C#更方便。比如当str的内容中包含双引号时,就可以用单引号定义,反之亦然。当字符中有换行符等特殊字符时,可以直接使用三引号定义。这样就方便了很多,不用去记那些乱七八糟的转义字符。当然Python也支持转义字符,且含义和C#基本一样。不过既然有简单的东西用,谁还去自找麻烦呢?
下边是一个例子,来说明以上几点:
- str1 = 'I am "Python"\n'
- str2 = "I am 'Python'\r"
- str3 = """
- I'm "Python",
- <a href="http://Csharp.com">you are C#</a>
- """ #你可以把html代码之类的东西直接弄进来而不需要做特殊处理7 print str1,str2,str3
在Python中定义一个Unicode字符串,需要在引号前面加上一个字符u,例如
- # -*- coding: utf-8 -*-
- print u'我是派森'
这点没有C#方便,因为C#字符串默认就是Unicode的,我想Python如果要改进,应该把两种字符串合二为一,这样可以为初学者减少很多麻烦(你看网上有多少帖子是在问Python怎么支持中文?根源都在这里)。同时注意,当使用utf-8编码时,非unicode字符中一个汉字的长度是3,而使用gb2312时是2,见下边代码:
- # -*- coding: utf-8 -*-
- unicode = u'我'
- str = '我'
- print len(unicode),len(str)
- #输出 1 3 6 7 # -*- coding: gb2312 -*-
- unicode = u'我'
- str = '我'
- print len(unicode),len(str)#输出 1 2
另外,Python字符串类型没有C#中的字符类型,再短的文本也是字符串,这点稍微注意一下就可以,因为现在使用C#的也很少用char了吧?
***,关于字符串的操作方法,基本上C#有的Python都有,可以看看Python字符串类型手册之类的资料,我就不多说了。唯一提一点就是在Python中提取一个字符串的子串时,记得用“切片”语句(后边讲列表和元组时还会介绍),而不要再去找SubString了,见下边的例子:
- # -*- coding: utf-8 -*-
- str1 = u'我是派森'
- print str1[2:4]
- #输出 '派森'
以上就是对Python字符串类型的详细介绍。