零基礎(chǔ)學(xué)Python:一文看懂?dāng)?shù)字和字符串

導(dǎo)讀:數(shù)據(jù)類型是構(gòu)成編程語言語法的基礎(chǔ)。不同的編程語言有不同的數(shù)據(jù)類型,但都具有常用的幾種數(shù)據(jù)類型。Python有幾種內(nèi)置的數(shù)據(jù)類型——數(shù)字、字符串、元組、列表和字典。本文將重點介紹數(shù)字和字符串。

int i = 1;
i = 1
1#下面的兩個i并不是同一個對象?
2i = 1?
3print(id(i))?
4i = 2?
5print (id(i))
1#整型?
2i = 1?
3print( type(i))?
4#長整型?
5l = 999999999999999999990 # Python何時將int轉(zhuǎn)為float跟操作系統(tǒng)位數(shù)相關(guān)?
6print type(l)?
7#浮點型?
8f = 1.2?
9 print( type(f))?
10#布爾型?
11b = True?
12print (type(b))
【代碼說明】
第3行代碼輸出結(jié)果:
第6行代碼輸出結(jié)果:
第9行代碼輸出結(jié)果:
第12行代碼輸出結(jié)果:
用Python來進(jìn)行科學(xué)計算也很方便,因為Python內(nèi)置了復(fù)數(shù)類型。Java、C#等高級語言則沒有提供復(fù)數(shù)類型。
1#復(fù)數(shù)類型?
2c = 7 + 8j?
3print (type(c))
第3行代碼輸出結(jié)果:
注意:復(fù)數(shù)類型的寫法與數(shù)學(xué)中的寫法相同,如果寫為c=7+8i,Python不能識別其中的“i”,將提示語法錯誤。
02 字符串
在Python中有3種表示字符串的方式——單引號、雙引號、三引號。單引號和雙引號的作用是一樣的,對于不同的程序員可以根據(jù)自己的習(xí)慣使用單引號或雙引號。PHP程序員可能更習(xí)慣使用單引號表示字符串,C、Java程序員則習(xí)慣使用雙引號表示字符串。下面這段代碼中單引號和雙引號的使用是等價的。
1# 單引號和雙引號的使用是等價的?
2str = "hello world!" # 定義字符串變量str并賦值?
3print (str)?
4str = 'hello world!'?
5print (str)
【代碼說明】
第3行代碼輸出結(jié)果:
hello world!
第5行代碼輸出結(jié)果:
hello world!
三引號的用法是Python特別的語法,三引號中可以輸入單引號、雙引號或換行等字符。
1# 三引號的用法?
2str = '''he say "hello world!"'''?
3print( str)
【代碼說明】
第3行代碼的三引號中帶有雙引號,雙引號也會被輸出。輸出結(jié)果:
he say "hello world!"
三引號的另一種用法是制作文檔字符串。Python的每個對象都有一個屬性__doc__,這個屬性用于描述該對象的作用。
1# 三引號制作doc文檔?
2class Hello:?
3'''hello class'''?
4def printHello():?
5'''print hello world'''?
6print ("hello world!")?
7print( Hello.__doc__)?
8print (Hello.printHello.__doc__)
【代碼說明】
第2行代碼定義了一個名為Hello的類。
第3行是對Hello類的描述,該字符串將被存放在類的__doc__屬性中。
第4行代碼定義了一個方法printHello()。
第5行代碼描述了printHello(),并把字符串存放在該函數(shù)的__doc__屬性中。
第6行代碼輸出結(jié)果:
hello world!
第7行代碼輸出Hello的__doc__屬性的內(nèi)容。輸出結(jié)果:
hello class
第8行代碼輸出printHello()的__doc__屬性的內(nèi)容。輸出結(jié)果:
print hello world
如果要輸出含有特殊字符(單引號、雙引號等)的字符串,需要使用轉(zhuǎn)義字符。Python中轉(zhuǎn)義字符為“\”,和C、Java中的轉(zhuǎn)義字符相同。轉(zhuǎn)義操作只要在特殊字符的前面加上“\”即可。下面這段代碼說明了特殊字符的轉(zhuǎn)義用法。
1# 轉(zhuǎn)義字符?
2str = 'he say:\'hello world!\''?
3print (str)
【代碼說明】
第2行代碼中的單引號是特殊字符,需要在“'”前加上轉(zhuǎn)義字符。第3行代碼的輸出結(jié)果:
he say:'hello world!'
使用雙引號或三引號可以直接輸出含有特殊字符的字符串,不需要使用轉(zhuǎn)義字符。
1# 直接輸出特殊字符?
2str = "he say:'hello world!'"?
3print (str)?
4str = '''he say:'hello world!' '''?
5print (str)
【代碼說明】
第2行代碼中使用了雙引號表示字符串變量str,因此Python能夠識別出雙引號內(nèi)部的單引號只是作為輸出的字符。
第3行代碼的輸出結(jié)果:
he say:'hello world!'
第4行代碼使用三引號表示字符串變量str,注意最后一個單引號后面留有一個空格,這個空格是為了讓Python識別出三引號留下的。如果不留下這個空格,4個單引號連在一起,Python解釋器不能正確識別三引號。提示如下錯誤:
SyntaxError: EOL while scanning single-quoted string
第5行代碼的輸出結(jié)果:
he say:'hello world!'
注意:輸出的字符串中含有單引號,使用雙引號表示字符串即可。相反,輸出的字符串中含有雙引號時,可使用單引號表示字符串。
關(guān)于作者:黃傳祿,高級講師、管理軟件開發(fā)工程師、數(shù)據(jù)庫庫系統(tǒng)工程師、信息系統(tǒng)管理工程師。有10多年的一線教學(xué)經(jīng)驗和高端培訓(xùn)經(jīng)驗,出版多部技術(shù)專著,獲得多個軟件著作權(quán)。

