Python3教學
Python3引入什麼新的東西?
Python3環境安裝設置
Python3基礎語法
Python3變量類型
Python算術運算符實例
Python3比較運算符實例
Python3賦值運算符實例
Python3位運算符實例
Python3邏輯運算符實例
Python3成員運算符實例
Python3標識運算符實例
Python3運算符優先級示例
Python3基本運算符
Python3 if語句
Python3 if...elseif...else語句
Python3嵌套if語句
Python3決策
Python3 while循環語句
Python3 for循環語句
Python3嵌套循環
Python3 break語句
Python3 continue語句
Python3 pass語句
Python3循環
Python3 abs()函數
Python3 ceil()函數
Python3 exp()函數
Python3 fabs()函數
Python3 floor()函數
Python3 log()函數
Python3 log10()函數
Python3 max()函數
Python3 min()函數
Python3 modf()函數
Python3 pow()函數
Python3 round()函數
Python3 sqrt()函數
Python3 choice()函數
Python3 randrange()函數
Python3 random()函數
Python3 seed()函數
Python3 shuffle()函數
Python3 uniform()函數
Python3 acos()函數
Python3 asin()函數
Python3 atan()函數
Python3 atan2()函數
Python3 cos()函數
Python3 hypot()函數
Python3 sin()函數
Python3 tan()函數
Python3 degrees()函數
Python3 radians()函數
Python3數字
Python3 string.capitalize()方法
Python3 string.center()方法
Python3 string.count()方法
Python3 string.decode()方法
Python3 string.endswith()方法
Python3 string.expandtabs()方法
Python3 string.encode()方法
Python3 string.find()方法
Python3 string.index()方法
Python3 string.isalnum()方法
Python3 string.isalpha()方法
Python3 string.isdigit()方法
Python3 string.tolower()方法
Python3 string.isnumeric()方法
Python3 string.isspace()方法
Python3 string.istitle()方法
Python3 string.isupper()方法
Python3 string.join()方法
Python3 string.len()方法
Python3 string.ljust()方法
Python3 string.lower()方法
Python3 string.lstrip()方法
Python3 string.maketrans()方法
Python3 string.max()方法
Python3 string.min()方法
Python3 string.replace()方法
Python3 string.rfind()方法
Python3 string.rindex()方法
Python3 string.rjust()方法
Python3 string.rstrip()方法
Python3 string.split()方法
Python3 string.splitlines()方法
Python3 string.startswith()方法
Python3 string.strip()方法
Python3 string.swapcase()方法
Python3 string.title()方法
Python3 string.translate()方法
Python3 string.upper()方法
Python3 string.zfill()方法
Python3 string.isdecimal()方法
Python3字符串
Python3 list.cmp()方法
Python3 list.len()方法
Python3 list.max()方法
Python3 list.min()方法
Python3 list.list()方法
Python3 list.append()方法
Python3 list.count()方法
Python3 list.extend()方法
Python3 list.index()方法
Python3 list.insert()方法
Python3 list.pop()方法
Python3 list.remove()方法
Python3 list.reverse()方法
Python3 list.sort()方法
Python3列表
Python3 tuple.cmp()方法
Python3 tuple.len()方法
Python3 tuple.max()方法
Python3 tuple.min()方法
Python3 tuple.tuple()方法
Python3元組
Python3 dictionary.cmp()方法
Python3 dictionary.len()方法
Python3 dictionary.str()方法
Python3 dictionary.type()方法
Python3 dictionary.clear()方法
Python3 dictionary.copy()方法
Python3 dictionary.fromkeys()方法
Python3 dictionary.get()方法
Python3 dictionary.has_key()方法
Python3 dictionary.items()方法
Python3 dictionary.keys()方法
Python3 dictionary.setdefault()方法
Python3 dictionary.update()方法
Python3 dictionary.values()方法
Python3字典
Python3 time.altzone()方法
Python3 time.asctime()方法
Python3 time.clock()方法
Python3 time.ctime()方法
Python3 time.gmtime()方法
Python3 time.localtime()方法
Python3 time.mktime()方法
Python3 time.sleep()方法
Python3 time.strftime()方法
Python3 time.time()方法
Python3 time.tzset()方法
Python3日期和時間
Python3函數
Python3模塊
Python3 file.close()方法
Python3 file.tell()方法
Python3 file.truncate()方法
Python3 file.write()方法
Python3 file.writelines()方法
Python3 file.flush()方法
Python3 file.fileno()方法
Python3 file.isatty()方法
Python3 file.next()方法
Python3 file.read()方法
Python3 file.readline()方法
Python3 file.readlines()方法
Python3 file.seek()方法
Python3文件方法
Python3 os.access()方法
Python3 os.chdir()方法
Python3 os.chflags()方法
Python3 os.chmod()方法
Python3 os.chown()方法
Python3 os.chroot()方法
Python3 os.close()方法
Python3 os.closerange()方法
Python3 os.dup()方法
Python3 os.dup2()方法
Python3 os.fchdir()方法
Python3 os.fchmod()方法
Python3 os.fchown()方法
Python3 os.fdatasync()方法
Python3 os.fopen()方法
Python3 os.fpathconf()方法
Python3 os.fstat()方法
Python3 os.fstatvfs()方法
Python3 os.fsync()方法
Python3 os.ftruncate()方法
Python3 os.getcwd()方法
Python3 os.getcwdu()方法
Python3 os.isatty()方法
Python3 os.lchflags()方法
Python3 os.lchmod()方法
Python3 os.lchown()方法
Python3 os.link()方法
Python3 os.listdir()方法
Python3 os.lseek()方法
Python3 os.lstat()方法
Python3 os.major()方法
Python3 os.makedev()方法
Python3 os.makedirs()方法
Python3 os.minor()方法
Python3 os.mkdir()方法
Python3 os.mkfifo()方法
Python3 os.mknod()方法
Python3 os.open()方法
Python3 os.openpty()方法
Python3 os.pathconf()方法
Python3 os.pipe()方法
Python3 os.popen()方法
Python3 os.read()方法
Python3 os.readlink()方法
Python3 os.remove()方法
Python3 os.removedirs()方法
Python3 os.rename()方法
Python3 os.renames()方法
Python3 os.rmdir()方法
Python3 os.stat()方法
Python3 os.stat_float_times()方法
Python3 os.statvfs()方法
Python3 os.symlink()方法
Python3 os.tcgetpgrp()方法
Python3 os.tcsetpgrp()方法
Python3 os.tempnam()方法
Python3 os.tmpfile()方法
Python3 os.tmpnam()方法
Python3 os.ttyname()方法
Python3 os.unlink()方法
Python3 os.utime()方法
Python3 os.walk()方法
Python3 os.write()方法
Python3 os文件目錄的方法
Python3文件操作
Python3標準異常
Python3斷言
Python3異常處理

Python3字符串

字符串在Python中是最普遍的類型。我們可以通過使用引號引起字符來簡單地創建他們。Python對待(處理)單引號和雙引號一樣。創建字符串和一個變量賦值一樣簡單。例如 -

var1 = 'Hello World!'
var2 = "Python Programming"

訪問字符串的值


Python不支持的字符類型; 這些都被視爲長度爲1的字符串,因此也被認爲是一個子字符串。

要訪問子字符串,用方括號以及索引或索引來獲得子切片。例如 -

#!/usr/bin/python3

var1 = 'Hello World!'
var2 = "Python Programming"

print ("var1[0]: ", var1[0])
print ("var2[1:5]: ", var2[1:5])

當執行上面的代碼,它產生以下結果 -

var1[0]: H
var2[1:5]: ytho

更新字符串


可以通過(再)分配給另一個字符串變量來「更新」現有的字符串。新的值可以相關聯它之前的值或使用另一個完全不同的字符串。例如 -

#!/usr/bin/python3

var1 = 'Hello World!'

print ("Updated String :- ", var1[:6] + 'Python')

當執行上面的代碼,它產生以下結果- 

Updated String :- Hello Python

轉義字符


下面的表格轉義或不可打印字符的列表,可以用反斜槓符號來表示。

轉義字符被解析; 帶單引號以及雙引號的字符串。

反斜線

符號

十六進制

字符

描述

\a

0x07

響鈴或警報

\b

0x08

Backspace鍵

\cx

Control-x

\C-x

Control-x

\e

0x1b

Escape

\f

0x0c

Formfeed

\M-\C-x

Meta-Control-x

\n

0x0a

新行

\nnn

Octal notation, where n is in the range 0.7

\r

0x0d

Carriage return

\s

0x20

空格

\t

0x09

Tab

\v

0x0b

Vertical tab

\x

Character x

\xnn

十六進制表示法,其中n的範圍是從 0.9, a.f, 或 A.F

字符串特殊操作符


假設字符串變量a='Hello' 和變量b=‘Python’,那麼-

操作符

描述

示例

+

拼接 - 操作符兩邊值相連接

a + b =' HelloPython'

*

重複 - 創建新的字符串,鏈接相同的字符串多個副本

a*2 = 'HelloHello'

[]

切片 - 提供從給定索引對應的字符

a[1] = 'e'

[ : ]

範圍切片 - 提供從給定的範圍內字符

a[1:4] =' ell'

in

成員操作符 - 如果一個字符在給定字符串中存在,則返回true

H in a = 1

not in

成員操作符 - 如果一個字符在給定的字符串中不存在,則返回true

M not in = 1

r/R

原始字符串 - 禁止轉義字符實際意義。 字母「r」這是引號前導。

print r'\n' 打印 \n , print R'\n' 打印 \n

%

格式 - 執行字符串格式化

參見下一節

字符串格式化操作


Python有一個最酷的功能是字符串格式運算符%。這個操作符對於字符串是是唯一的,並填補了 C語言中 printf()系列函數。下面是一個簡單的例子-

#!/usr/bin/python3

print ("My name is %s and weight is %d kg!" % ('Zara', 21))

當執行上面的代碼,它產生以下結果 -

My name is Zara and weight is 21 kg!

這裏是一套完整能夠與%一起使用的符號的列表 -

格式符號

轉變

%c

字符

%s

通過str()來轉換格式化字符串

%i

有符號十進制整數

%d

有符號十進制整數

%u

無符號十進制整數

%o

八進制整數

%x

十六進制整數(小寫字母)

%X

十六進制整數(大寫字母)

%e

指數符號(小寫「e」)

%E

指數計數法(以大寫「E」)

%f

浮點實數

%g

%f和%e的簡寫

%G

%f和%E的簡寫

其它支持的符號和功能都列在下表中 -

符號

功能描述

*

參數指定寬度或精度

-

左對齊

+

顯示符號

在一個正數前留一個空格

#

添加前導零('0')八進制或前導0x「或」0X「十六進制,取決於是否使用了'x'或'X'。

0

墊留下了零(而不是空格)

%

'%%'保留一個常量「%」

(var)

映射變量(字典參數)

m.n.

m是最小總寬度和n是小數點後顯示數量(如果appl)

三重引號


Python的三重引號允許字符串跨越多行,包括逐字換行符,製表符,以及任何其他特殊字符

三重引號的語法是由三個連續的單或雙引號組成。

#!/usr/bin/python3

para_str = """this is a long string that is made up of
several lines and non-printable characters such as
TAB ( \t ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [ \n ], or just a NEWLINE within
the variable assignment will also show up.
"""
print (para_str) 

當執行上面的代碼,它產生了以下結果。注意,如何每一個特殊字符已經轉換到它的打印形式,一直到最後的NEWLINE之間的字符串的結尾關閉三重引號。還要注意的是出現新行或者使用一行或末尾明確回車其換碼(\ n)-

this is a long string that is made up of
several lines and non-printable characters such as
TAB ( ) and they will show up that way when displayed.
NEWLINEs within the string, whether explicitly given like
this within the brackets [
], or just a NEWLINE within
the variable assignment will also show up. 

原始字符串不會把反斜槓作爲一個特殊字符。 把一個原始字符串中的每個字符保持原來編寫的方式 -

#!/usr/bin/python3
(
print ('C:\\nowhere')

當執行上面的代碼,它產生以下結果 -

C:\nowhere

現在使用原始字符串。我們會把表達式在 r'expression' 如下-

#!/usr/bin/python3

print (r'C:\\nowhere')

當執行上面的代碼,它產生以下結果 -

C:\\nowhere

Unicode字符串


在Python 3,所有的字符串都是以Unicode表示。在Python2中內部存儲爲8位ASCII,因此,它需要附上「u」以讓明確使用的是Unicode。但在Python3 中現在不再是必要的。

字符串內置的方法


Python包括以下內建的方法操作字符串-

SN

方法及描述

1

capitalize()

將字符串的第一個字母大寫

2

center(width, fillchar)

返回以fillchar填充的字符串以及原始字符串中心到總 width 列

3

count(str, beg= 0,end=len(string))

計數str有多少次出現在在字符串中;或如果開始索引beg和結束索引 end 給出,則計算子字符串在一個字符串中出現的次數

4

decode(encoding='UTF-8',errors='strict')

利用註冊編解碼器解碼編碼字符串。編碼默認是系統默認字符串編碼

5

encode(encoding='UTF-8',errors='strict')

返回字符串的編碼字符串版本; 在出錯時,默認引發 ValueError 錯誤,除非用「ignore」或「replace」

6

endswith(suffix, beg=0, end=len(string))

確定是否字符串或字符串的子串(如果開始索引beg和結束索引end給出)以 suffix 結束; 如果是這樣返回true,否則爲false

7

expandtabs(tabsize=8)

擴展製表符字符串到多個空格; 默認每個製表符爲8個空格,如果不提供製表符的大小

8

find(str, beg=0 end=len(string))

確定是否在字符串或字符串找到一個子字符str(如果開始索引beg和結束索引end給出),如果找到則返回索引,否則返回-1

9

index(str, beg=0, end=len(string))

同 find()方法,如果str沒有找到則引發異常

10

isalnum()

如果string至少有1個字符,所有字符是字母數字則返回true,否則返回false

11

isalpha()

如果string至少有1個字符,所有字符是字母則返回true,否則爲false

12

isdigit()

如果字符串僅包含數字返回true,否則爲false

13

islower()

如果string至少有1個可轉大小寫字符,所有可轉大小字符是小寫字母則返回true,否則爲false

14

isnumeric()

如果一個Unicode字符串只包含數字字符則返回true,否則爲false

15

isspace()

如果字符串只包含空格字符則返回true,否則爲false

16

istitle()

如果字符串是否正確「titlecased」(首字母大寫)返回true,否則爲false

17

isupper()

如果string至少有1個可轉大小寫字符,所有可轉大小字符是大寫字母則返回true,否則爲false

18

join(seq)

合併(符連接)序列 seq 融入一個字符串,以及使用分隔符字符串的字符串表示。

19

len(string)

返回字符串的長度

20

ljust(width[, fillchar])

返回一個空格填充字符串與原字符串左對齊到總寬度列

21

lower()

字符串中所有大寫字母轉換爲小寫

22

lstrip()

刪除字符串的所有前導空格

23

maketrans()

返回要在轉換函數使用的轉換表

24

max(str)

從字符串str返回最大拼音/字母字符

25

min(str)

從字符串str返回最小拼音/字母字符

26

replace(old, new [, max])

使用 new 替換所有出現在字符串中的 old 或 如果 max 給定,替換現的 max

27

rfind(str, beg=0,end=len(string))

類似於 find(),但在字符串中是向後搜索

28

rindex( str, beg=0, end=len(string))

類似於 index(),但在字符串中是向後搜索

29

rjust(width,[, fillchar])

返回一個空格填充字符串,以及原始字符串以總寬度列向右對齊

30

rstrip()

刪除字符串結尾的所有空格

31

split(str="", num=string.count(str))

根據分隔符str(如果未提供則默認爲空格)分裂字符串並返回子字符串列表; 如果num給定,則分割成至多num個子字符串

32

splitlines( num=string.count('\n'))

拆分所有(或num)字符串換行符,並返回每行去除換行後的列表

33

startswith(str, beg=0,end=len(string))

確定字符串或字符串的子串是否以(如果開始索引beg和結束索引end給出)子字串str開頭; 如果是返回true,否則爲false

34

strip([chars])

對字符串同時執行lstrip()和rstrip()

35

swapcase()

反轉在字符串中的所有字母大小寫(大寫轉小寫,小寫轉大寫)

36

title()

返回「titlecased」字符串的版本,也就是所有的字開頭大寫,其餘小寫

37

translate(table, deletechars="")

根據翻譯表str(256字母)轉換字符串,刪除那些在del字符串

38

upper()

將字符串的小寫字母轉換爲大寫

39

zfill (width)

返回原字符串左邊用零填充到總寬度的字符; zfill()保留給任何正負號(少一個零)

40

isdecimal()

如果一個Unicode字符串只包含小數點字符則返回 true,否則爲 false