摘要:此時(shí)不要在這里面的右邊加入,否則會(huì)被當(dāng)做。,這個(gè)式子可以將二進(jìn)制數(shù),轉(zhuǎn)換為十進(jìn)制的。需要注意的是,需要加上,表示。下面,表示括號(hào)內(nèi)的第一個(gè)參數(shù),表示第二個(gè)參數(shù)。
1, 字符串的連接concatenate有兩種方式:
A:直接寫在一起:
</>復(fù)制代碼
>>> title = "Meaning " "of" " Life" # Implicit concatenation
>>> title
"Meaning of Life"
B:使用+號(hào)
2,raw string: 在string前面加r,就會(huì)是string的不再具有轉(zhuǎn)義功能。
應(yīng)該注意的是,如果str的末尾是, Python仍然會(huì)將這個(gè) 和它后面的引號(hào)轉(zhuǎn)義輸出。這時(shí)候就不要用raw string了。
3,Triple quotes code multiline block strings: 三個(gè)引號(hào)(單引號(hào)或者雙引號(hào))可以做創(chuàng)造多行的strings。此時(shí)不要在這里面的右邊加入comment,否則會(huì)被當(dāng)做string。
4,triple quotes還可以用來暫時(shí)的是某段代碼disable。如下面:
</>復(fù)制代碼
X = 1
"""
import os # Disable this code temporarily
print(os.getcwd())
"""
Y = 2
5,字符串可以進(jìn)行切片操作,以截取某段字符:
</>復(fù)制代碼
>>> S = "spam"
>>> S[0], S[?2] # Indexing from front or end 進(jìn)行index操作
("s", "a")
>>> S[1:3], S[1:], S[:?1] # Slicing: extract a section
("pa", "pam", "spa") # slice操作
6,切片的時(shí)候,包括寫在左邊的值,不包括寫在右邊的值。
7,三個(gè)參數(shù)的切片,X[I:J:K], 其中K表示步進(jìn)step,如果不寫K,則表示K位默認(rèn)值+1.
8,步進(jìn)可以是復(fù)數(shù),這樣的切片將得到倒著的字符串:
例子一:步進(jìn)step = -1,獲得倒序的字符串‘olleh’。
</>復(fù)制代碼
>>> S = "hello"
>>> S[::.1] # Reversing items
"olleh"
例子二:這里仍然包括offset 5,不包括offset 1,該記住:切片包括寫在左邊的offset,不包括寫在右邊的offset。
</>復(fù)制代碼
>>> S = "abcedfg"
>>> S[5:1:?1] # Bounds roles differ
"fdec"
9,切片有時(shí)候可以用于截取文本中的某行字。通常來講,每一行的結(jié)尾都是n,使用[:-1]即可以把n這個(gè)byte給去掉。雖然,人們更常用的是line.rstrip方法,因?yàn)橛锌赡苣承械男心┪幢赜衝.
10,ord()可以將某個(gè)字符轉(zhuǎn)換為ASCII碼,而chr則可以將ASCII碼還原為所對(duì)應(yīng)的字符。
11,int(‘1101’,2) 這個(gè)式子可以將二進(jìn)制數(shù)1101,轉(zhuǎn)換為十進(jìn)制的integer。需要注意的是,1101需要加上‘’,2表示base。
12,string有個(gè)replace的方法,可以用來產(chǎn)生新的string。
</>復(fù)制代碼
>>> S = "splot"
>>> S = S.replace("pl", "pamal")
>>> S
"spamalot"
如果想要讓Python只替換i次,需要填寫它的第三個(gè)參數(shù):
</>復(fù)制代碼
>>> S.replace("SPAM", "EGGS", 1) # Replace one
"xxxxEGGSxxxxSPAMxxxx"
13,雖然string是immutable sequence, 需要做in-place change的話還是可以先將string轉(zhuǎn)換為list,在用’’.join(some_list)的方法生成一個(gè)新的string。
14,string有一個(gè)split方法,可以將string以某特定的分界符將string切細(xì),并返回一個(gè)list。
例子一:split()里面沒有參數(shù),代表的是whitespce(空格, 制表位,換行等,數(shù)量不限)
</>復(fù)制代碼
>>> line = "aaa bbb ccc"
>>> cols = line.split()
>>> cols
["aaa", "bbb", "ccc"]
例子二:以逗號(hào)作為分界符,將string切細(xì)并返回一個(gè)list。
</>復(fù)制代碼
>>> line = "bob,hacker,40"
>>> line.split(",")
["bob", "hacker", "40"]
15,string的其他有用的方法:rstrip、upper、isalpha、endswith、startswith
16,格式化string有兩種方法:
A: 類似于C語言的方法,String formatting expressions: "...%s..." % (values)
B: 從C#/.NET引進(jìn)的方法:
String formatting method calls: "...{}...".format(values)
17, 針對(duì)方法A,下面的表格是格式的說明:
18,在%左邊的格式是這樣的:
%(keyname)widthtypecode
Keyname表示如果是dictionary的引用,這里寫dictionary的key;
Flags: -號(hào)表示向左靠齊,0表示補(bǔ)零
Width 表示總共的位數(shù)
.precision 表示小數(shù)點(diǎn)右邊要有多少位小數(shù)
19,下面的例子表示暫時(shí)不知道要有多少位小數(shù),待傳入值得時(shí)候確定:
</>復(fù)制代碼
>>> "%f, %.2f, %.*f" % (1/3.0, 1/3.0, 4, 1/3.0)
"0.333333, 0.33, 0.3333" #這里最后選擇了4位小數(shù)。
20,dictionary可以作為參數(shù)傳入到這樣的式子中:
</>復(fù)制代碼
>>> "%(qty)d more %(food)s" % {"qty": 1, "food": "spam"}
"1 more spam"
21,B方法:string format method 有如下4種基礎(chǔ)類型:
Pass
22,更加復(fù)雜的如下面這種:
</>復(fù)制代碼
>>> somelist = list("SPAM")
>>> somelist
["S", "P", "A", "M"]
>>> "first={0[0]}, third={0[2]}".format(somelist)
"first=S, third=A"
23, A 方法使用 % 例子大全:
23.1 如果有兩個(gè)參數(shù),需要用括號(hào)將他們包圍起來,括號(hào)前加%
</>復(fù)制代碼
>>> "That is %d %s bird!" % (1, "dead") # Format expression
That is 1 dead bird!
23.2 賦給一個(gè)variable代替%后面的內(nèi)容
</>復(fù)制代碼
>>> exclamation = "Ni"
>>> "The knights who say %s!" % exclamation # String substitution
"The knights who say Ni!"
23.3 所有類型都可以使用%s,因?yàn)樗械膐bject都可以轉(zhuǎn)換為string。
</>復(fù)制代碼
>>> "%s -- %s -- %s" % (42, 3.14159, [1, 2, 3]) # All types match a %s target
"42 -- 3.14159 -- [1, 2, 3]"
23.4 –號(hào)表示向左靠齊。0表示用0補(bǔ)夠數(shù),6表示總共有6位
</>復(fù)制代碼
>>> x = 1234
>>> res = "integers: ...%d...%?6d...%06d" % (x, x, x)
>>> res
"integers: ...1234...1234 ...001234"
23.5 小數(shù)點(diǎn)后面的數(shù)字表示小數(shù)位數(shù)
</>復(fù)制代碼
>>> "%?6.2f | %05.2f | %+06.1f" % (x, x, x)
"1.23 | 01.23 | +001.2"
23.6 %配合字典dictionary使用
</>復(fù)制代碼
>>> "%(qty)d more %(food)s" % {"qty": 1, "food": "spam"}
"1 more spam"
23.7 字典配合使用
</>復(fù)制代碼
>>> reply = """
Greetings...
Hello %(name)s!
Your age is %(age)s
"""
>>> values = {"name": "Bob", "age": 40} # Build up values to substitute
>>> print(reply % values) # Perform substitutions
Greetings...
Hello Bob!
Your age is 40
23.8字典配合使用
</>復(fù)制代碼
>>> template = "%(motto)s, %(pork)s and %(food)s"
>>> template % dict(motto="spam", pork="ham", food="eggs")
"spam, ham and eggs"
24 B方法例子
24.1通過絕對(duì)位置
</>復(fù)制代碼
>>> template = "{0}, {1} and {2}" # By position
>>> template.format("spam", "ham", "eggs")
"spam, ham and eggs"
24.2 通過key,可以不用引號(hào)
</>復(fù)制代碼
>>> template = "{motto}, {pork} and {food}" # By keyword
>>> template.format(motto="spam", pork="ham", food="eggs")
"spam, ham and eggs"
24.3 混合
</>復(fù)制代碼
>>> template = "{motto}, {0} and {food}" # By both
>>> template.format("ham", motto="spam", food="eggs")
"spam, ham and eggs"
24.4 通過相對(duì)位置
</>復(fù)制代碼
>>> template = "{}, {} and {}" # By relative position
>>> template.format("spam", "ham", "eggs") # New in 3.1 and 2.7
"spam, ham and eggs"
24.5 字典,屬性一起混合使用,下面的1表示format括號(hào)里的第2個(gè)參數(shù),0表示字典里的第一個(gè)參數(shù)。
</>復(fù)制代碼
>>> import sys
>>> "My {1[kind]} runs {0.platform}".format(sys, {"kind": "laptop"})
"My laptop runs win32"
>>> "My {map[kind]} runs {sys.platform}".format(sys=sys, map={"kind": "laptop"})
"My laptop runs win32"
24.6 下面,0表示format()括號(hào)內(nèi)的第一個(gè)參數(shù),1表示第二個(gè)參數(shù)。冒號(hào)后面是格式,>號(hào)表示向左靠齊,<表示向左靠齊,10表示的是總需要十位
</>復(fù)制代碼
>>> "{0:>10} = {1:<10}".format("spam", 123.4567)
" spam = 123.4567 "
24.7 如果冒號(hào)前面不寫,則按照相對(duì)位置替換。
</>復(fù)制代碼
>>> "{:>10} = {:<10}".format("spam", 123.4567)
" spam = 123.4567 "
24.8 在格式的位置用e f g來約束
</>復(fù)制代碼
>>> "{0:e}, {1:.3e}, {2:g}".format(3.14159, 3.14159, 3.14159)
"3.141590e+00, 3.142e+00, 3.14159"
>>> "{0:f}, {1:.2f}, {2:06.2f}".format(3.14159, 3.14159, 3.14159)
"3.141590, 3.14, 003.14"
24.9 在格式的位置用x,o,b來約束,進(jìn)而顯示十六進(jìn)制、八進(jìn)制、二進(jìn)制數(shù)
</>復(fù)制代碼
>>> "{0:X}, {1:o}, {2:b}".format(255, 255, 255) # Hex, octal, binary
"FF, 377, 11111111"
24.10 這里的1對(duì)應(yīng)的是括號(hào)里的4,表示的是小數(shù)位數(shù)
</>復(fù)制代碼
>>> "{0:.{1}f}".format(1 / 3.0, 4) # Take value from arguments
"0.3333"
24.11 在d前面,或者e,f,g等前面加上逗號(hào),可以每三個(gè)數(shù)用逗號(hào)隔開
</>復(fù)制代碼
>>> "{0:,d}".format(999999999999)
"999,999,999,999"
24.12 逗號(hào)要寫在小數(shù)點(diǎn)的前面,如果他們都需要用到的話
</>復(fù)制代碼
>>> "{:,.2f}".format(296999.2567)
"296,999.26"
24.13 顯示tuple
</>復(fù)制代碼
>>> "{0}".format((1.23,)) # Single value that is a tuple
"(1.23,)"
24.14 用關(guān)鍵字,對(duì)應(yīng)于format里面的關(guān)鍵字
</>復(fù)制代碼
>>> "{num:d} = {title:s}".format(num=7, title="Strings")
"7 = Strings"
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/38327.html
摘要:可以連接,可以重復(fù)可以將兩個(gè)連接在一起可以重復(fù)任意次數(shù)如中,號(hào)作用于表示連接,而作用于數(shù)字表示加法,操作符的作用會(huì)根據(jù)其作用的對(duì)象而有所適應(yīng)。中的對(duì)象被分類為和。針對(duì)的核心類型,數(shù)字字符串和都是的。 1, >>> len(str(3)) 結(jié)果是1,len不能對(duì)數(shù)字求值,需要先將數(shù)字轉(zhuǎn)換為str 2, math模塊中,有許多工具可以用來計(jì)算數(shù)學(xué)問題。使用math模塊,先導(dǎo)入math: i...
摘要:,可以對(duì)對(duì)象進(jìn)行自動(dòng)地回收。如下,這種情況的發(fā)生表示隨改變了,應(yīng)該意識(shí)到這個(gè)問題。代表引用相同則返回,否則,返回。這個(gè)判斷會(huì)更加嚴(yán)格。的值為的兩個(gè)量,其必定也是。,和指向了不同的。,由于會(huì)存儲(chǔ)一些小的和小的以方便重新利用。 1, 在Python中,類型永遠(yuǎn)跟隨object,而非variable。Variable沒有類型。 2,在下面的三個(gè)式子中,a首先被賦予整形3,再被賦予字符串‘sp...
摘要:,如何一個(gè)方法一使用方法二使用方法方法三使用方法,按升序或降序排列表示升序表示降序和會(huì)返回。而僅能刪除一個(gè)。使用方法可以避免這樣的錯(cuò)誤導(dǎo)致程序出現(xiàn)。,在中,的方法返回的不再是。不過可以使用強(qiáng)迫它們組成一個(gè)。 Chapter 8 Lists and Dictionaries1, list的concatenation 和 repetition 操作: >>> [1, 2, 3] + [4,...
摘要:,可以用十進(jìn)制十六進(jìn)制八進(jìn)制二進(jìn)制來表示。由實(shí)數(shù)虛數(shù)組成。,在中,八進(jìn)制可以以開頭,但是在中,不能以開頭,一定要以或者開頭,位的運(yùn)算表示位向左移動(dòng)表示位向右移動(dòng)表示或運(yùn)算表示運(yùn)算表示異或運(yùn)算兩者不同為,相同為可以用方法計(jì)算二進(jìn)制數(shù)有多少位。 1, 在Python 2.x 中。Python的integer,有兩種類型,normal和long。Normal通常是32位的。Long表示無限精...
閱讀 2974·2021-10-20 13:46
閱讀 2521·2021-08-12 13:22
閱讀 2706·2019-08-30 15:54
閱讀 2343·2019-08-30 15:53
閱讀 551·2019-08-30 13:47
閱讀 3583·2019-08-23 16:56
閱讀 1733·2019-08-23 13:02
閱讀 1799·2019-08-23 12:25
极致性价比!云服务器续费无忧!
Tesla A100/A800、Tesla V100S等多种GPU云主机特惠2折起,不限台数,续费同价。
NVIDIA RTX 40系,高性价比推理显卡,满足AI应用场景需要。
乌兰察布+上海青浦,满足东推西训AI场景需要