摘要:此時不要在這里面的右邊加入,否則會被當做。,這個式子可以將二進制數,轉換為十進制的。需要注意的是,需要加上,表示。下面,表示括號內的第一個參數,表示第二個參數。
1, 字符串的連接concatenate有兩種方式:
A:直接寫在一起:
>>> title = "Meaning " "of" " Life" # Implicit concatenation >>> title "Meaning of Life"
B:使用+號
2,raw string: 在string前面加r,就會是string的不再具有轉義功能。
應該注意的是,如果str的末尾是, Python仍然會將這個 和它后面的引號轉義輸出。這時候就不要用raw string了。
3,Triple quotes code multiline block strings: 三個引號(單引號或者雙引號)可以做創造多行的strings。此時不要在這里面的右邊加入comment,否則會被當做string。
4,triple quotes還可以用來暫時的是某段代碼disable。如下面:
X = 1 """ import os # Disable this code temporarily print(os.getcwd()) """ Y = 2
5,字符串可以進行切片操作,以截取某段字符:
>>> S = "spam" >>> S[0], S[?2] # Indexing from front or end 進行index操作 ("s", "a") >>> S[1:3], S[1:], S[:?1] # Slicing: extract a section ("pa", "pam", "spa") # slice操作
6,切片的時候,包括寫在左邊的值,不包括寫在右邊的值。
7,三個參數的切片,X[I:J:K], 其中K表示步進step,如果不寫K,則表示K位默認值+1.
8,步進可以是復數,這樣的切片將得到倒著的字符串:
例子一:步進step = -1,獲得倒序的字符串‘olleh’。
>>> S = "hello" >>> S[::.1] # Reversing items "olleh"
例子二:這里仍然包括offset 5,不包括offset 1,該記住:切片包括寫在左邊的offset,不包括寫在右邊的offset。
>>> S = "abcedfg" >>> S[5:1:?1] # Bounds roles differ "fdec"
9,切片有時候可以用于截取文本中的某行字。通常來講,每一行的結尾都是n,使用[:-1]即可以把n這個byte給去掉。雖然,人們更常用的是line.rstrip方法,因為有可能某行的行末未必有n.
10,ord()可以將某個字符轉換為ASCII碼,而chr則可以將ASCII碼還原為所對應的字符。
11,int(‘1101’,2) 這個式子可以將二進制數1101,轉換為十進制的integer。需要注意的是,1101需要加上‘’,2表示base。
12,string有個replace的方法,可以用來產生新的string。
>>> S = "splot" >>> S = S.replace("pl", "pamal") >>> S "spamalot"
如果想要讓Python只替換i次,需要填寫它的第三個參數:
>>> S.replace("SPAM", "EGGS", 1) # Replace one "xxxxEGGSxxxxSPAMxxxx"
13,雖然string是immutable sequence, 需要做in-place change的話還是可以先將string轉換為list,在用’’.join(some_list)的方法生成一個新的string。
14,string有一個split方法,可以將string以某特定的分界符將string切細,并返回一個list。
例子一:split()里面沒有參數,代表的是whitespce(空格, 制表位,換行等,數量不限)
>>> line = "aaa bbb ccc" >>> cols = line.split() >>> cols ["aaa", "bbb", "ccc"]
例子二:以逗號作為分界符,將string切細并返回一個list。
>>> 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引進的方法:
String formatting method calls: "...{}...".format(values)
17, 針對方法A,下面的表格是格式的說明:
18,在%左邊的格式是這樣的:
%(keyname)widthtypecode
Keyname表示如果是dictionary的引用,這里寫dictionary的key;
Flags: -號表示向左靠齊,0表示補零
Width 表示總共的位數
.precision 表示小數點右邊要有多少位小數
19,下面的例子表示暫時不知道要有多少位小數,待傳入值得時候確定:
>>> "%f, %.2f, %.*f" % (1/3.0, 1/3.0, 4, 1/3.0) "0.333333, 0.33, 0.3333" #這里最后選擇了4位小數。
20,dictionary可以作為參數傳入到這樣的式子中:
>>> "%(qty)d more %(food)s" % {"qty": 1, "food": "spam"} "1 more spam"
21,B方法:string format method 有如下4種基礎類型:
Pass
22,更加復雜的如下面這種:
>>> somelist = list("SPAM") >>> somelist ["S", "P", "A", "M"] >>> "first={0[0]}, third={0[2]}".format(somelist) "first=S, third=A"
23, A 方法使用 % 例子大全:
23.1 如果有兩個參數,需要用括號將他們包圍起來,括號前加%
>>> "That is %d %s bird!" % (1, "dead") # Format expression That is 1 dead bird!
23.2 賦給一個variable代替%后面的內容
>>> exclamation = "Ni" >>> "The knights who say %s!" % exclamation # String substitution "The knights who say Ni!"
23.3 所有類型都可以使用%s,因為所有的object都可以轉換為string。
>>> "%s -- %s -- %s" % (42, 3.14159, [1, 2, 3]) # All types match a %s target "42 -- 3.14159 -- [1, 2, 3]"
23.4 –號表示向左靠齊。0表示用0補夠數,6表示總共有6位
>>> x = 1234 >>> res = "integers: ...%d...%?6d...%06d" % (x, x, x) >>> res "integers: ...1234...1234 ...001234"
23.5 小數點后面的數字表示小數位數
>>> "%?6.2f | %05.2f | %+06.1f" % (x, x, x) "1.23 | 01.23 | +001.2"
23.6 %配合字典dictionary使用
>>> "%(qty)d more %(food)s" % {"qty": 1, "food": "spam"} "1 more spam"
23.7 字典配合使用
>>> 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字典配合使用
>>> template = "%(motto)s, %(pork)s and %(food)s" >>> template % dict(motto="spam", pork="ham", food="eggs") "spam, ham and eggs"
24 B方法例子
24.1通過絕對位置
>>> template = "{0}, {1} and {2}" # By position >>> template.format("spam", "ham", "eggs") "spam, ham and eggs"
24.2 通過key,可以不用引號
>>> template = "{motto}, {pork} and {food}" # By keyword >>> template.format(motto="spam", pork="ham", food="eggs") "spam, ham and eggs"
24.3 混合
>>> template = "{motto}, {0} and {food}" # By both >>> template.format("ham", motto="spam", food="eggs") "spam, ham and eggs"
24.4 通過相對位置
>>> 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括號里的第2個參數,0表示字典里的第一個參數。
>>> 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()括號內的第一個參數,1表示第二個參數。冒號后面是格式,>號表示向左靠齊,<表示向左靠齊,10表示的是總需要十位
>>> "{0:>10} = {1:<10}".format("spam", 123.4567) " spam = 123.4567 "
24.7 如果冒號前面不寫,則按照相對位置替換。
>>> "{:>10} = {:<10}".format("spam", 123.4567) " spam = 123.4567 "
24.8 在格式的位置用e f g來約束
>>> "{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來約束,進而顯示十六進制、八進制、二進制數
>>> "{0:X}, {1:o}, {2:b}".format(255, 255, 255) # Hex, octal, binary "FF, 377, 11111111"
24.10 這里的1對應的是括號里的4,表示的是小數位數
>>> "{0:.{1}f}".format(1 / 3.0, 4) # Take value from arguments "0.3333"
24.11 在d前面,或者e,f,g等前面加上逗號,可以每三個數用逗號隔開
>>> "{0:,d}".format(999999999999) "999,999,999,999"
24.12 逗號要寫在小數點的前面,如果他們都需要用到的話
>>> "{:,.2f}".format(296999.2567) "296,999.26"
24.13 顯示tuple
>>> "{0}".format((1.23,)) # Single value that is a tuple "(1.23,)"
24.14 用關鍵字,對應于format里面的關鍵字
>>> "{num:d} = {title:s}".format(num=7, title="Strings") "7 = Strings"
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38327.html
摘要:可以連接,可以重復可以將兩個連接在一起可以重復任意次數如中,號作用于表示連接,而作用于數字表示加法,操作符的作用會根據其作用的對象而有所適應。中的對象被分類為和。針對的核心類型,數字字符串和都是的。 1, >>> len(str(3)) 結果是1,len不能對數字求值,需要先將數字轉換為str 2, math模塊中,有許多工具可以用來計算數學問題。使用math模塊,先導入math: i...
摘要:,可以對對象進行自動地回收。如下,這種情況的發生表示隨改變了,應該意識到這個問題。代表引用相同則返回,否則,返回。這個判斷會更加嚴格。的值為的兩個量,其必定也是。,和指向了不同的。,由于會存儲一些小的和小的以方便重新利用。 1, 在Python中,類型永遠跟隨object,而非variable。Variable沒有類型。 2,在下面的三個式子中,a首先被賦予整形3,再被賦予字符串‘sp...
摘要:,如何一個方法一使用方法二使用方法方法三使用方法,按升序或降序排列表示升序表示降序和會返回。而僅能刪除一個。使用方法可以避免這樣的錯誤導致程序出現。,在中,的方法返回的不再是。不過可以使用強迫它們組成一個。 Chapter 8 Lists and Dictionaries1, list的concatenation 和 repetition 操作: >>> [1, 2, 3] + [4,...
摘要:,可以用十進制十六進制八進制二進制來表示。由實數虛數組成。,在中,八進制可以以開頭,但是在中,不能以開頭,一定要以或者開頭,位的運算表示位向左移動表示位向右移動表示或運算表示運算表示異或運算兩者不同為,相同為可以用方法計算二進制數有多少位。 1, 在Python 2.x 中。Python的integer,有兩種類型,normal和long。Normal通常是32位的。Long表示無限精...
閱讀 2955·2021-10-20 13:46
閱讀 2512·2021-08-12 13:22
閱讀 2693·2019-08-30 15:54
閱讀 2336·2019-08-30 15:53
閱讀 540·2019-08-30 13:47
閱讀 3574·2019-08-23 16:56
閱讀 1720·2019-08-23 13:02
閱讀 1790·2019-08-23 12:25