3.2.4 Python的字符串
字符串类型不仅是在Python中,在各种各样的编程语言里也很常见。在Python中可以用双引号和单引号迅速地创建一个字符串。不同于C/C++,Python并不区分对待“字符串”和“单个字符”,所以在Python中单引号和双引号的作用是一样的。在Python中常见的字符串处理方法有两种:一种是传统的、常见的ASCII编码;另一种是Unicode编码。实际上,无论是Unicode编码处理方法还是ASCII编码处理方法,在Python中都是由抽象类basestring继承而来的。先来介绍字符串的基本操作,即创建、删除、更改,示例如下:
输出结果:
在这个示例中,字符串的更改操作与列表的类似;一直使用的绘制分隔符的语句也用到了相应的“*”操作,如下所示。
输出结果:
不过,从上面的示例中可以看出,想要修改一个字符串中间的部分,是不可以直接像列表那样用赋值符号“=”直接改动的,我们可以用“+”符号连接未修改的部分和修改的内容来实现,同时使用了类似列表中切片操作的字符串切片,相关代码如下所示。
用户可以用del语句手动删除创建的字符串,但实际上没必要这样做,因为当程序结束时,Python解释器会自动释放创建的字符串,这也是Python比C++更优越的地方。
众所周知,Python和其他语言一样拥有合法标识符,即以字母或者下画线开头,由字母、下画线和数字组成,而且不是保留字和已有定义的,才可以作为变量名称使用。下面的代码用于判断一个字符串能否作为Python的合法标识符。
输出结果:
首先,导入了字母集合和下画线的组合及数字集合,分别命名为alphas和nums,这两个变量存放了所有字母的集合(大小写都有)和数字的集合(0~9),以方便下一步的判断。用于导入集合的代码如下所示。
while True语句使得只要用户不手动中止程序,程序就会一直运行。myInput=input('键入字符串')语句用于键入字符串。下面的循环语句用in操作判断首字母是否是下画线或字母:
elifTrue语句用于遍历除开头外剩余的字符串,allChar是由alphas和nums组成的,包含下画线、大小写字母及数字(0~9)。下面这段代码用于判断除开头外剩余的字符串是否是下画线、字母或数字。
Python与C/C++一样,拥有格式化操作符,如表3-7所示。
表3-7 Python的格式化操作符