1. 基本對象類型(python里面一切皆是對象)
(接前文)
1.4.5 制表符和換行符
????????添加制表符,可使用字符組合\t;中添加換行符,可使用字符組合\n。示例:
????????>>>print("Languages:\n\tPython\n\tJava\n\tJavaScript")
????????輸出:
????????Languages:
????????Python
????????Java
????????JavaScript
1.4.6 常用轉(zhuǎn)義符
????????\(在行尾時) 續(xù)行符
????????\\ 反斜杠符號
????????\' 單引號
????????\" 雙引號
????????\n 換行
????????\t 橫向制表符
????????\r 回車
1.4.7 字符串中包含引號處理
????????用單引號包含字符串時,若字符串內(nèi)容中含有單引號,就會出現(xiàn)語法錯誤??梢愿臑殡p引號包含字符串,反之亦然。示例:message = "One of Python's strengths is its diverse community."
最好的方法是用轉(zhuǎn)義符,如message = 'One of Python\'s strengths is its diverse community.'
1.4.8 字符串格式化
1.4.8.1 傳統(tǒng)字符串格式化
????? 符號 描述
? ? ????? %c 格式化字符及其ASCII碼
????? ? ? %s 格式化字符串
? ? ????? %d 格式化整數(shù)
????? ? ? %u 格式化無符號整型
? ? ????? %o 格式化無符號八進(jìn)制數(shù)
????? ? ? %x 格式化無符號十六進(jìn)制數(shù)
? ? ????? %X 格式化無符號十六進(jìn)制數(shù)(大寫)
????? ? ? %f ? ? 格式化浮點數(shù)字,可指定小數(shù)點后的精度
? ? ????? %e 用科學(xué)計數(shù)法格式化浮點數(shù)
????? ? ? %E 作用同%e,用科學(xué)計數(shù)法格式化浮點數(shù)
? ? ????? %g %f和%e的簡寫
????? ? ? %G %f 和 %E 的簡寫
????? ? ? %p 用十六進(jìn)制數(shù)格式化變量的地址
????????示例(Python 3.0+):
????????????print ("我叫 %s 今年 %d 歲!" % ('小明', 10))
????????????輸出結(jié)果:我叫 小明 今年 10 歲!
????? ????符號 ? ? 功能
????????* 定義寬度或者小數(shù)點精度
????????- 用做左對齊
????????+ 在正數(shù)前面顯示加號( + )
????????<sp> 在正數(shù)前面顯示空格
????????# 在八進(jìn)制數(shù)前面顯示零('0'),在十六進(jìn)制前面顯示'0x'或者'0X'(取決于用的是'x'還是'X')
????????0 顯示的數(shù)字前面填充'0'而不是默認(rèn)的空格
????????% '%%'輸出一個單一的'%'
????????(var) 映射變量(字典參數(shù))
????????m.n. m 是顯示的最小總寬度,n 是小數(shù)點后的位數(shù)(如果可用的話)
1.4.8.2 str.format(),增強字符串格式化
????????Python2.6 開始,新增了一種格式化字符串的函數(shù) str.format(),它增強了字符串格式化的功能。可替代上面的格式化方式。
1.4.8.3 f-string字面量格式化字符串
????????f-string 是 python3.6 之后版本添加的格式化字符串語法
????????f-string 格式化字符串以 f 開頭,后面跟著字符串,字符串中的表達(dá)式用大括號 {} 包起來,它會將變量或表達(dá)式計算后的值替換進(jìn)去。
????????示例:
????????>>> name = 'Runoob'
????????>>> 'Hello %s' % name 傳統(tǒng)格式化,輸出'Hello Runoob'
????????>>> f'Hello {name}'? f’格式化,? 輸出 'Hello Runoob'
????????>>> w = {'name': 'connie', 'age': 19}
????????>>> print(f'My name is {w["name"]},age is {w["age"]}')
????????輸出 My name is connie,age is 19。用這種方式,不用再去判斷使用 %s,還是 %d。
1.4.8.4 使用= 符號來拼接運算表達(dá)式與結(jié)果
????????Python 3.8 的版本中可以使用 = 符號來拼接運算表達(dá)式與結(jié)果
????????示例:
????????>>> x = 1
????????>>> print(f'{x+1=}')? # Python 3.8
????????'x+1=2'
1.4.9 多行字符串
? ????使用一對三個單引號進(jìn)行定義。多行字符串可以使用制表符,三引號讓程序員從引號和特殊字符串的泥潭里面解脫出來。一個典型的用例是,當(dāng)你需要一塊HTML或者SQL時,這時用字符串組合,特殊字符串轉(zhuǎn)義將會非常的繁瑣。
????????示例:
????????>>> para_str = """這是一個多行字符串的實例
????????多行字符串可以使用制表符
????????TAB ( \t )。
????????也可以使用換行符 [ \n ]。
????????"""
????????>>> para_str
????????'這是一個多行字符串的實例\n多行字符串可以使用制表符\nTAB ( \t )。\n也可以使用換行符 [ \n ]。\n'
? ? ? ? ?多行字符串可以使用制表符
????????三引號讓程序員從引號和特殊字符串的泥潭里面解脫出來,自始至終保持一小塊字符串的格式是所謂的WYSIWYG(所見即所得)格式的。
????????一個典型的用例是,當(dāng)你需要一塊HTML或者SQL時,這時用字符串組合,特殊字符串轉(zhuǎn)義將會非常的繁瑣。
????????示例:
????????????>>>errHTML = '''
????????<HTML><HEAD><TITLE>
????????Friends CGI Demo</TITLE></HEAD>
????????<BODY><H3>ERROR</H3>
????????<B>%s</B><P>
????????<FORM><INPUT TYPE=button VALUE=Back
????????ONCLICK="window.history.back()"></FORM>
????????</BODY></HTML>
????????'''
????????>>>cursor.execute('''
????????CREATE TABLE users (?
????????login VARCHAR(8),
????????uid INTEGER,
????????prid INTEGER)
????????''')
1.4.10 原始字符串
????????在字符串前加’r’,定義原始字符串,字符串中的內(nèi)容都是原始含義,沒有轉(zhuǎn)義功能。
????????>>>dos = r"c:\news"
????????>>>print(dos) #輸出c:\news