第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

首頁 慕課教程 Python 入門語法教程 Python 入門語法教程 11 Python 數(shù)據(jù)類型詳細(xì)篇:字符串

Python 數(shù)據(jù)類型詳細(xì)篇:字符串

這節(jié)課我們來學(xué)習(xí)下 Python 基本數(shù)據(jù)類型中的字符串類型,字符串類型在實(shí)際的開發(fā)中是一個(gè)經(jīng)常會(huì)用到的數(shù)據(jù)類型,比較重要。下面我們一起來看一下:

1. 簡(jiǎn)介

字符串類型的數(shù)據(jù)表示一段文本,使用單引號(hào)或者雙引號(hào)創(chuàng)建:

  • 單引號(hào)字符串 ‘hello’
  • 雙引號(hào)字符串 “world”

在 python 中使用字符串的例子如下:

>>> x = 'hello'
>>> x
'hello'
>>> y = "world"
>>> y
'world'
  • 在第 1 行,創(chuàng)建了使用單引號(hào)字符串 hello,并將值賦給變量 x
  • 在第 2 行,顯示變量 x 的值為 ‘hello’
  • 在第 3 行,創(chuàng)建了使用雙引號(hào)字符串 world,并將值賦給變量 y
  • 在第 4 行,顯示變量 y 的值為 ‘world’

使用單引號(hào)或者雙引號(hào)創(chuàng)建的字符串只能在一行,而使用三引號(hào)允許一個(gè)跨多行的字符串。

使用 3 個(gè)單引號(hào)創(chuàng)建的多行字符串示例如下:

s = '''line 1
line 2
line 3'''
print(s)

使用 3 個(gè)雙引號(hào)創(chuàng)建的多行字符串示例如下:

s = """line 1
line 2
line 3"""
print(s)

以上程序的輸出如下:

line 1
line 2
line 3

2. 常見運(yùn)算操作

本節(jié)介紹對(duì)字符的最常見的幾種運(yùn)算操作,包括:

2.1 運(yùn)算符 +

使用運(yùn)算符 + 連接兩個(gè)字符串,示例如下:

>>> 'Hello' + 'World'
>>> 'HelloWorld'
>>> 'Hello' + ' ' + 'World'
>>> 'Hello World'
  • 在第 1 行,使用運(yùn)算符 + 連接兩個(gè)字符串
  • 在第 3 行,使用運(yùn)算符 + 連接多個(gè)字符串

2.2 運(yùn)算符 *

使用運(yùn)算符 * 重復(fù)輸出字符串,示例如下:

>>> 'hello' * 2
'hellohello'
>>> 'hello' * 3
'hellohellohello'
  • 在第 1 行,使用運(yùn)算符 * 將字符串重復(fù)兩次
  • 在第 3 行,使用運(yùn)算符 + 將字符串重復(fù)三次

2.3 函數(shù) len

使用函數(shù) len 獲取字符串的長(zhǎng)度,示例如下:

>>> len('abc')
3
>>> len('imooc')
5

2.4 索引 []

通過索引 [] 獲取字符串中指定位置的字符,示例如下:

>>> s = 'imooc'
>>> s[0]
'i'
>>> s[1]
'm'
>>> s[2]
'o'
>>> s[3]
'o'
>>> s[4]
'c'
  • 在 Python 中,單個(gè)字符也被當(dāng)作字符串來處理,即該字符串只包含一個(gè)字符
  • 在第 2 行,獲取字符串 s 的第 0 個(gè)字符 ‘i’
  • 在第 4 行,獲取字符串 s 的第 1 個(gè)字符 ‘m’

2.5 索引 [:]

在 Python 中,使用語法 string[start:end],獲取字符串 string 中在 [start, end) 范圍的子字符串。注意范圍 [start, end) 包含 start,不包含 end。舉例如下:

>>> s = 'imooc'
>>> s[1]
'm'
>>> s[2]
'o'
>>> s[3]
'o'
>>> s[1:4]
'moo'
  • 在第 2 行,獲取字符串 s 的第 1 個(gè)字符 ‘m’
  • 在第 4 行,獲取字符串 s 的第 2 個(gè)字符 ‘o’
  • 在第 6 行,獲取字符串 s 的第 3 個(gè)字符 ‘o’
  • 在第 8 行,獲取字符串 s 中從 1 開始、到 4 結(jié)束的字符串 ‘mooc’,使用 s[1:4] 表示該范圍,注意該范圍包括字符串的第 1 個(gè)字符、不包括第 4 個(gè)字符。

2.6 關(guān)鍵字 in

通過關(guān)鍵字 in 檢查字符串中是否包含指定字符串,示例如下:

>>> 'mooc' in 'imooc'
True
>>> 'mook' not in 'imooc'
True
  • 在第 1 行,檢測(cè)字符串 ‘mooc’ 在 字符串 ‘imooc’ 中
  • 在第 3 行,檢測(cè)字符串 ‘mook’ 不在 字符串 ‘imooc’ 中

3. 常用字符串方法

3.1 capitalize() 方法

capitalize() 方法把字符串的第一個(gè)字符大寫,示例如下:

>>> text = 'abc'
>>> text.capitalize()
'Abc'

3.2 count() 方法

count() 方法統(tǒng)計(jì)字符串出現(xiàn)的次數(shù),示例如下:

>>> text = 'abc abc'
>>> text.count('abc')
2

3.3 startswith(target) 方法

startswith(target) 方法檢查字符串是否是以字符串 target 開頭,示例如下:

>>> text = 'abc'
>>> text.startswith('ab')
True
>>> text.startswith('bb')
False

3.4 endswith(target) 方法

endswith(target) 方法檢查字符串是否是以字符串 target 結(jié)尾,示例如下:

>>> text = 'abc'
>>> text.endsswith('bc')
True
>>> text.endsswith('cc')
False

3.5 lower() 方法

lower() 方法將字符串中所有大寫字符轉(zhuǎn)換為小寫,示例如下:

>>> text = 'ABC'
>>> text.lower()
'abc'

3.6 upper() 方法

upper() 方法將字符串中所有小寫字符轉(zhuǎn)換為大寫,示例如下:

>>> text = 'abc'
>>> text.upper()
'ABC'

3.7 islower() 方法

如果字符串中所有字符是小寫則為真,否則為假,示例如下:

>>> text = 'abc'
>>> text.islower()
True

3.8 isupper() 方法

如果字符串中所有字符是大寫則為真,否則為假,示例如下:

>>> text = 'ABC'
>>> text.isupper()
True

3.9 find(target) 方法

檢查是否包含指定字符串 target,如果包含字符串 target 則返回開始的索引值,否則返回 -1,示例如下:

>>> text = 'imooc'
>>> text.find('oo')
2
>>> text.find('oop')
-1
  • 在第 2 行,查找字符串 ‘imooc’ 是否包含字符串 ‘oo’
  • 在第 3 行,字符串 ‘oo’ 在字符串 ‘imooc’ 中的起始位置是 2,因此返回 2
  • 在第 2 行,查找字符串 ‘imooc’ 是否包含字符串 ‘oop’
  • 在第 5 行,字符串 ‘imooc’ 中不包含字符串 ‘oop’,因此返回 -1

3.10 split() 方法

使用空格將字符串分割為多個(gè)單詞,返回一個(gè)列表,示例如下:

>>> text = 'hello world'
>>> text.split()
['hello', 'world']

缺省情況下,使用空格將字符串分割為多個(gè)單詞,可以在 split() 方法中指定分隔符,示例如下:

>>> text = 'hello:world'
>>> text.split(':')
['hello', 'world']

4. 轉(zhuǎn)義字符

在 Python 中使用反斜杠 \ 加字母的組合來表示一些特殊字符,例如:\n 表示換行,\ 之后的字符 n 的含義已經(jīng)不再是原來 ASCII 字符的含義了,所以被稱為轉(zhuǎn)義字符。

常用的轉(zhuǎn)義字符如下所示:

轉(zhuǎn)義字符 描述
\t 制表
\n 換行
\’
\" "
\\ \
  • 使用 \t 的示例
>>> print('a\tb\tc')
a       b       c
>>> print('aa\tbb\tcc')
aa      bb      cc

\t 表示跳到下一個(gè)制表符位置,可以使得輸出縱向?qū)R。

  • 使用 \n 的示例
>>> print('a\nb')
a
b
  • 使用 \’ 的示例
>>> print('\'')
'

在單引號(hào)字符串中使用 \’ 表示單引號(hào)

  • 使用 \" 的示例
>>> print("\"")
"

在雙引號(hào)字符串中使用 \" 表示雙引號(hào)

  • 使用 \\ 的示例
>>> print('\\')
\

在字符串中使用 ‘\’ 表示轉(zhuǎn)義字符 \

5. 字符串格式化

5.1 什么是字符串格式化

通過使用字符串 + 連接運(yùn)算可以將多個(gè)字符串拼接起來,例如:

>>> name = 'tom'
>>> city = 'nanjing'
>>> 'My name is ' + name + ', I live in ' + city + '.'
'My name is tom, I live in beijing.'

在第 3 行,使用字符串 + 將以下 5 個(gè)字符串拼接起來:

  • 'My name is ’
  • name
  • ', I live in ’
  • city
  • ‘.’

最終得到字符串 ‘My name is tom, I live in beijing’,像這樣將多個(gè)字符串拼接起來的表達(dá)式非常不直觀,Python 提供了字符串格式化用于簡(jiǎn)化拼接多個(gè)字符串。

5.2 format 方法

使用字符串提供的 format 方法完成上述的拼接工作,如下所示:

>>> name = 'tom'
>>> city = 'beijing'
>>> text = 'My name is {}, I live in city {}.'
>>> text.format(name, city)
'My name is tom, I live in beijing.'
  • 在第 1 行,創(chuàng)建變量 name
  • 在第 2 行,創(chuàng)建變量 city
  • 在第 3 行,創(chuàng)建字符串 text,字符串中 {} 被稱為占位符,text 中有兩個(gè)占位符
  • 在第 4 行,調(diào)用字符串 text 的 format 方法,該方法有兩個(gè)參數(shù):name 和 city
  • 在第 5 行,將 text 中的兩個(gè)占位符 {} 替換為這兩個(gè)參數(shù),得到最終的結(jié)果 ‘My name is tom, I live in beijing.’

與上一節(jié)使用 + 運(yùn)算連接相比,格式化字符串顯著的提高了程序的可讀性。

5.3 % 運(yùn)算符

也可以使用運(yùn)算符 % 完成上述的拼接工作,如下所示:

>>> name = 'tom'
>>> city = 'beijing'
>>> text = 'My name is %s, I live in city %s.'
>>> text % (name, city)
'My name is tom, I live in beijing.'
  • 在第 1 行,創(chuàng)建變量 name
  • 在第 2 行,創(chuàng)建變量 city
  • 在第 3 行,創(chuàng)建字符串 text,字符串中 %s 被稱為占位符,text 中有兩個(gè)占位符
  • 在第 4 行,使用運(yùn)算符 % 進(jìn)行字符串格式化。運(yùn)算符 % 有兩個(gè)操作數(shù),左邊的操作數(shù)是字符串變量 text,右邊的操作數(shù)是一個(gè)元組,元組中包含兩個(gè)參數(shù):name 和 city
  • 在第 5 行,將 text 中的兩個(gè)占位符 %s 替換為這兩個(gè)參數(shù),得到最終的結(jié)果 ‘My name is tom, I live in beijing.’

在實(shí)踐中,通常直接將字符串與參數(shù)使用運(yùn)算符 % 格式化,如下所示:

>>> name = 'tom'
>>> city = 'beijing'
>>> 'My name is %s, I live in city %s.' % (name, city)
'My name is tom, I live in beijing.'

如果有多個(gè)參數(shù),需要將所有的參數(shù)保存在一個(gè)元組中;如果只有一個(gè)參數(shù),可以不用保存在元組中,舉例如下:

>>> name = 'tom'
>>> 'My name is %s.' % name
'My name is tom.'
  • 在第 2 行,只有一個(gè)參數(shù),可以不用將參數(shù)封裝在元組中

5.4 占位符

% 是一個(gè)特殊的符號(hào),后面跟著一個(gè)字符用于說明參數(shù)的類型:

  • %s 表示字符串
  • %d 表示整數(shù)
  • %f 表示浮點(diǎn)數(shù)

有多種類型的占位符,初學(xué)時(shí)需要掌握如下常用的占位符:

符號(hào) 描述
%% 用于表示 %
%c 格式化字符及其ASCII碼
%s 格式化字符串
%d 格式化整數(shù)
%f 格式化浮點(diǎn)數(shù)
  1. %s 用于格式化字符串
>>> name = 'tom'
>>> 'name is %s' % name
'name is tom'
  1. %d 用于格式化整數(shù)
>>> integer = 123
>>> 'integer is %d' % integer
'integer is 123'
  1. %f 用于格式化浮點(diǎn)數(shù)
>>> float = 123.456
>>> 'float is %f' % float
'float is 123.456000'
  1. %% 用于表示字符 % 本身
>>> a = 3
>>> b = 2
>>> c = a % b
>>> '%d %% %d = %d' % (a, b, c)
3 % 2 = 1

%% 是一個(gè)特殊的占位符,表示字符 % 本身。

在實(shí)踐中,通常使用 print 方法輸出將格式化后的字符串,示例如下:

>>> name = 'tom'
>>> city = 'beijing'
>>> print('My name is %s' % name)
My name is tom
>>> print('My name is %s, I live in city %s.' % (name, city))
My name is tom, I live in beijing.

6. 小結(jié)

字符串和數(shù)值一樣,同樣有基本的運(yùn)算方式,但是最終得到的結(jié)果形式和數(shù)值卻略有不同,大家在使用的時(shí)候要注意這一點(diǎn)。字符串的常用方法也需要大家多多練習(xí)和使用,可以把正文中的代碼多敲幾遍,一個(gè)好的程序員就是要多敲代碼才能成長(zhǎng)。