玩命加载中...
# 掌握Python中的字符串 10个小节,预计用时**45分钟**。掌握Python的字符串。 字符串和`list`有很多相似的操作。若你对python中的`list`不够熟悉的话,建议先从<a href='../python_list'>掌握Python中的list</a>开始。 请打开您的电脑,按照步骤一步步完成。 本教程基于**Python 2.7**。 原创者:**<a href='http://sofasofa.io/user_profile.php?id=1001059'>batmanX</a>** &nbsp;&nbsp;|&nbsp;&nbsp; 编辑校对:SofaSofa TeamC &nbsp;&nbsp;|&nbsp;&nbsp; 谢绝转载,违者侵权。 ---- ### 0. 环境设置 ```python #!/usr/bin/env python # -*- coding: utf-8 -*- print "欢迎加入SofaSofa数据科学社区!" ``` ### 1. 定义字符串 在python中字符串类型是`str`。我们一般用单引号`''`或者双引号`""`来定义、赋值字符串变量。单引号和双引号通常没有区别。 ```python #定义字符串 str_1 = 'SofaSofa' str_2 = "SofaSofa" str_3 = 'Python is good!' print str_1 print str_2 print str_3 #下面这行代码验证了单引号与双引号在这个例子中是没有区别的。 print str_1 == str_2 #定义一个空字符 str_4 = '' #注意:空字符不等同于空格字符 str_5 = '' str_6 = ' ' str_7 = ' ' print str_5 == str_6 print str_6 == str_7 ``` `type`函数返回变量的类型。这里字符串的变量类型为`str`。 ```python str_1 = 'sofasofa' print type(str_1) ``` 我们知道`len`函数可以返回list的长度,`len`函数也可以返回字符串的字符个数。 ```python str_1 = 'sofasofa' str_2 = 'Hello SofaSofa!' print len(str_1) print len(str_2) #对于中文字符来说,每个汉字(包括中文标点)的长度为3。试试下面的例子 print len("你好") print len("你好!") ``` ### 2. 字符与数值的转换 我们可以通过函数`int()`,`float()`将字符变量转换为数值变量。 ```python #对于疑似小数的字符串(含有小数点),我们用float函数将其转换为浮点型数值。 pi = '3.14' print type(pi) pi = float(pi) print type(pi), pi #对于疑似整数的字符串(不含有小数点),我们用int函数将其转换为整数型数值。 pi = '3' print type(pi) pi = int(pi) print type(pi), pi #转换为数值之后我们就可以进行正常的数值运算了。 pi = '3.14' pi = float(pi) print pi ** 2 ``` 我们也可以通过函数`str()`将数值变量转换为字符变量。 ```python num_1 = 2 num_2 = 3 result = str(num_1 + num_2) print type(result), result ``` ### 3. 读取字符串中的字符 读取字符串中的字符与读取list中的元素的操作是一样的。 ```python my_str = 'Hello SofaSofa!' # 读取my_str中的第一个字符 a = my_str[0] # 读取my_list中的第三个元素 b = my_str[2] ``` 也可以反向读取字符串中的字符。 ```python # 读取my_str中的最后一个字符 c = my_str[-1] print c # 读取my_str中的倒数第二个字符 d = my_str[-2] print d ``` 我们可以用`:`读取string中的多个字符。基本用法与`list`相同。 ```python my_str = 'Hello SofaSofa!' # 从左向右输出前7个字符 print my_str[:7] # 从右往左输出后4个元素 print my_str[-4:] ``` 上面是读取连续的字符,也可以读取非连续的字符。基本用法与`list`相同。 ```python my_str = 'Hello SofaSofa!' # 输出第2,4,6,8个字符 a = my_str[1:8:2] print a ``` 利用`:`和`-1`,我们可以将整个字符串取逆。 ```python my_str = 'Hello SofaSofa!' a = my_str[::-1] print a #试试看下面返回什么呢? a = my_str[::-2] print a ``` <ul class="pagination"> <li class="active"><a href="#">第1页</a></li> <li><a href="2.php">第2页</a></li> <li><a href="3.php">第3页</a></li> <li><a href="4.php">第4页</a></li> </ul> <ul class="pager"> <!--<li class="previous"><a href="#"><b>&larr; 返回前一页</b></a></li>--> <li class="next"><a href="2.php"><b>进入下一页 &rarr;</b></a></li> </ul>