|
|
51CTO旗下网站
|
|
移动端

2.2.2 字符串(1)

《自学Python:编程基础、科学计算及数据分析》第2章Python 基础,在本章中,我们将学习Python 语言的基本使用,掌握Python 的基本使用方法,为后续的学习打下基础。本节为大家介绍字符串。

作者:李金来源:机械工业出版社|2018-05-03 16:06

2.2.2 字符串(1)

字符串(String)是由零个或多个字符组成的有限序列,在编程语言中表示文本。

1.字符串的生成

Python用一对引号来生成字符串,单引号或者双引号都可以:

  1. In [1]: "hello world"   
  2. Out[1]: 'hello world'   
  3. In [2]: 'hello world'   
  4. Out[2]: 'hello world' 

一对双引号可以生成一个包含单引号的文本:

  1. In [3]: print "I'm good."   
  2. I'm good  

2.字符串的基本操作

字符串支持两种运算:加法和数乘。

加法操作是将两个字符串按照顺序连接,如:

  1. In [4]: "hello" + "world"   
  2. Out[4]: 'helloworld' 

数乘是将字符串与一个整数相乘,得到重复的字符串:

  1. In [5]: "abc" * 3   
  2. Out[5]: 'abcabcabc' 

字符串的长度可以通过 len()函数得到:

  1. In [6]: len('hello world')   
  2. Out[6]: 11  

3.字符串的方法

Python是一种面向对象的语言,字符串是一种常见的对象。

在计算机科学中,对象(Object)指在内存中装载的一个实例,有唯一的标识符。对象通常具有属性(Attribute)和方法(Method)。其中,方法是面向对象编程的一个重要特性,Python使用以下形式来调用方法:

  1. object.method() 

字符串有一些常用的方法。

(1).split()方法

默认情况下,.split()方法将字符串按照空白字符分割,并返回一个字符串列表:

  1. In [7]: line = "1 2 3 4 5" 
  2. In [8]: line.split()  
  3. Out[8]: ['1', '2', '3', '4', '5'] 

也可以使用自定义的符号对字符串进行分割:

  1. In [9]: line = "1,2,3,4,5"   
  2. In [10]: line.split(',')   
  3. Out[10]: ['1', '2', '3', '4', '5'] 

还可以指定分割的最大次数:

  1. In [11]: line.split(',', 2)# 昀多分割两次   
  2. Out[11]: ['1', '2', '3,4,5'] 

字符串分割了两次,得到了 3个字符串。

字符串还支持.rsplit()方法,从字符串的结尾开始进行分割。.rsplit()方法的参数与.split()方法相同,在不指定分割的最大次数时,它的表现与.split()方法相同:

  1. In [12]: line.rsplit(',')   
  2. Out[12]: ['1', '2', '3', '4', '5'] 

指定了最大次数时,从字符串右端开始分割:

  1. In [13]: line.rsplit(',', 2)  # 昀多分割2次   
  2. Out[13]: ['1,2,3', '4', '5'] 

(2).join()方法

连接是一个与分割相反的操作,.join()方法的作用是以当前字符串为连接符将字符串序列中的元素连成一个完整的字符串。

例如,以空格为分隔符将numbers连接起来:

  1. In [14]: numbers = ['1', '2', '3', '4', '5']  
  2. In [15]: s = ' ' 
  3. In [16]: s.join(numbers)  
  4. Out[16]: '1 2 3 4 5' 

换一种连接符:

  1. In [17]: ':'.join(numbers)   
  2. Out[17]: '1:2:3:4:5' 

(3).replace()方法

.replace()方法将字符中的指定部分替换成新的内容,并得到新的字符串。

例如,将 s中的“world”替换为“python”:

  1. In [18]: s = 'hello world' 
  2. In [19]: s.replace('world', 'python')  
  3. Out[19]: 'hello python' 

调用.replace()方法不会改变原始字符串的值:

  1. In [20]: s  
  2. Out[20]: 'hello world' 

.replace()方法会将字符串中所有可替换的部分都替换掉:

  1. In [21]: s = '1 2 3 4 5'   
  2. In [22]: s.replace(' ', ':') #所有的空格换成冒号   
  3. Out[22]: '1:2:3:4:5' 

可以在.replace()方法中使用一个额外参数指定替换的次数。

例如,只替换一个空格:

  1. In [23]: s.replace(' ', ':', 1)   
  2. Out[23]: '1:2 3 4 5' 

(4).upper()和.lower()方法

.upper()方法返回一个字母全部大写的新字符串:

  1. In [24]: "hello world".upper()   
  2. Out[24]: 'HELLO WORLD' 

.lower()方法返回一个字母全部小写的新字符串:

  1. In [25]: s = "HELLO WORLD"   
  2. In [26]: s.lower()   
  3. Out[26]: 'hello world' 

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络系统开发实例精粹(JSP版)

《网络系统开发实例精粹》以实际的软件开发项目实例介绍贯穿始末,逐层深入的介绍了应用JSP开发Web应用程序的详细过程。全书以深透软件工程...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊