- Python從入門(mén)到項(xiàng)目實(shí)踐(超值版)
- 聚慕課教育研發(fā)中心
- 1212字
- 2020-01-20 14:50:12
3.3 字符串類(lèi)型
僅有數(shù)字類(lèi)型在日常生活中顯然是不夠的,為了更方便地對(duì)文本數(shù)據(jù)和對(duì)象進(jìn)行處理,Python中引入了我們?cè)谄渌Z(yǔ)言也熟悉的數(shù)據(jù)類(lèi)型——String。
3.3.1 字符串的定義

在創(chuàng)建字符串時(shí),需要用引號(hào)來(lái)進(jìn)行聲明。Python提供了單引號(hào)、雙引號(hào)、三引號(hào)三種方式來(lái)定義字符串。實(shí)例如下。
【例3-20】單引號(hào)定義字符串。

另外,Python還允許引號(hào)間的嵌套,例如,單引號(hào)可被嵌套進(jìn)雙引號(hào)。同時(shí)這種多引號(hào)的表達(dá)方式還可以解決某些書(shū)寫(xiě)的兼容問(wèn)題。
【例3-21】雙引號(hào)定義字符串。

在此實(shí)例中英語(yǔ)書(shū)寫(xiě)語(yǔ)句中的'被雙括號(hào)兼容但是卻被單引號(hào)錯(cuò)誤識(shí)別。因此在實(shí)際使用中,即使引號(hào)間沒(méi)有區(qū)別,還是需要根據(jù)實(shí)際使用情況進(jìn)行選擇。
另外,三引號(hào)的使用方法也較為特殊,三引號(hào)允許換行,輸出自動(dòng)多行拼接。但是單引號(hào)和雙引號(hào)就不允許換行,實(shí)例如下。
【例3-22】三引號(hào)定義字符串。

在字符串的定義過(guò)程中,也可能遇到如下情況:

可以看到,字符串被從中間換行了。這就是接下來(lái)要介紹的“轉(zhuǎn)義字符”。
在上述實(shí)例中,\n為轉(zhuǎn)義字符,代表?yè)Q行。Python的常見(jiàn)轉(zhuǎn)義字符及其含義如表3-9所示。
表3-9 轉(zhuǎn)義字符

轉(zhuǎn)義字符在書(shū)寫(xiě)格式上提供了很大的便利性,但是如果并不想讓轉(zhuǎn)義字符對(duì)應(yīng)的字符起作用,而是單純的正常顯示,可以在字符串前加上r或者將轉(zhuǎn)義字符的\用\\替換。實(shí)例如下。
【例3-23】屏蔽字符。

3.3.2 字符串格式化

不同于數(shù)字類(lèi)型的操作,字符串的操作更加多樣化,和其他語(yǔ)言一樣,字符串的基本操作——格式化輸出,依舊是重點(diǎn)。格式化輸出是計(jì)算機(jī)語(yǔ)言必不可少的部分。
格式符存在的目的是為真實(shí)值進(jìn)行占位,方便控制顯示輸出的格式。格式符主要有以下類(lèi)別,如表3-10所示。
表3-10 格式化操作符

對(duì)Python的輸出可以進(jìn)一步進(jìn)行控制,采用如下方式。

其格式含義如下。

其中的格式參數(shù)內(nèi)容如下。
- name:命名可以選擇,用于指定key。
- flags:對(duì)齊方式,表示右對(duì)齊,-表示左對(duì)齊,0表示用0填充,若為空格則表示正數(shù)左側(cè)填充空格。
- width:顯示寬度。
- precision:小數(shù)點(diǎn)后精度。
- typecode:格式化操作符。
具體實(shí)例如下。
【例3-24】格式化輸出數(shù)值。

Python中內(nèi)置的%操作符可用于格式化字符串操作,控制字符串的輸出。Python中還有其他的格式化字符串的方式,但%操作符是最基礎(chǔ)最方便的。
其他的還有在后面將會(huì)講到的format()方法。
3.3.3 字符串內(nèi)置的函數(shù)

Python為字符串操作提供了全面而多樣的內(nèi)置函數(shù),涉及字符串的替換、刪除、復(fù)制、拼接、比較和查找等各個(gè)方面。下面來(lái)了解部分常用的函數(shù)。
(1)字符串的搜索和替換。
包括以下內(nèi)置的函數(shù),如表3-11所示。
表3-11 字符串的搜索和替換的內(nèi)置函數(shù)

使用范例如下。
【例3-25】字符串替換函數(shù)。

需要注意的是,字符串的位置查找返回的下標(biāo)中,字符串第一個(gè)字符的下標(biāo)被定義為0。
(2)字符串去空格。
字符串去空格的函數(shù)如表3-12所示。
表3-12 字符串去空格的函數(shù)

因?yàn)榉椒ê?jiǎn)單,故不再列舉實(shí)例。
(3)字符串判斷。
字符串判斷的函數(shù)如表3-13所示。
表3-13 字符串判斷的函數(shù)

(4)字符串的分割截取。
【例3-26】字符串分割截取。

(5)字符串的拼接。
Pyhton提供了str.join()方法來(lái)進(jìn)行字符串的拼接操作。實(shí)例如下。
【例3-27】字符串拼接。

- Oracle WebLogic Server 12c:First Look
- Python數(shù)據(jù)分析(第2版)
- PLC編程及應(yīng)用實(shí)戰(zhàn)
- PhpStorm Cookbook
- 零基礎(chǔ)學(xué)Python網(wǎng)絡(luò)爬蟲(chóng)案例實(shí)戰(zhàn)全流程詳解(高級(jí)進(jìn)階篇)
- C語(yǔ)言課程設(shè)計(jì)
- 編程菜鳥(niǎo)學(xué)Python數(shù)據(jù)分析
- Spring+Spring MVC+MyBatis從零開(kāi)始學(xué)
- Java EE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)教程(Spring+Spring MVC+MyBatis)
- 編程改變生活:用Python提升你的能力(進(jìn)階篇·微課視頻版)
- Exploring SE for Android
- WordPress Search Engine Optimization(Second Edition)
- C語(yǔ)言程序設(shè)計(jì)
- TensorFlow.NET實(shí)戰(zhàn)
- 陪孩子像搭積木一樣學(xué)編程:Python真好玩+Scratch趣味編程(全2冊(cè))