溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

如何理解Python數(shù)字和字符串

發(fā)布時(shí)間:2021-10-26 11:05:42 來(lái)源:億速云 閱讀:165 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“如何理解Python數(shù)字和字符串”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“如何理解Python數(shù)字和字符串”吧!

01 數(shù)字

Python3的數(shù)字類(lèi)型分為整型、浮點(diǎn)型、布爾型、分?jǐn)?shù)類(lèi)型、復(fù)數(shù)類(lèi)型。使用Python編寫(xiě)程序時(shí),不需要聲明變量的類(lèi)型。由Python內(nèi)置的基本數(shù)據(jù)類(lèi)型來(lái)管理變量,在程序的后臺(tái)實(shí)現(xiàn)數(shù)值與類(lèi)型的關(guān)聯(lián),以及類(lèi)型轉(zhuǎn)換等操作。

Python與其他高級(jí)語(yǔ)言定義變量的方式及內(nèi)部原理有很大的不同。在C或Java中,定義一個(gè)整型的變量,可以采用如下方式表示:

int i = 1;

在Python中,定義整型變量的表達(dá)方式更簡(jiǎn)練。

i = 1

Python根據(jù)變量的值自動(dòng)判斷變量的類(lèi)型,程序員不需要關(guān)心變量究竟是什么類(lèi)型,只要知道創(chuàng)建的變量中存放了一個(gè)數(shù),以后的工作只是對(duì)這個(gè)數(shù)值進(jìn)行操作,Python會(huì)對(duì)這個(gè)數(shù)的生命周期負(fù)責(zé)。

更重要的一點(diǎn)是,C或Java只是創(chuàng)建了一個(gè)int型的普通變量;而Python創(chuàng)建的是一個(gè)整型對(duì)象,并且Python自動(dòng)完成了整型對(duì)象的創(chuàng)建工作,不再需要通過(guò)構(gòu)造函數(shù)創(chuàng)建。Python內(nèi)部沒(méi)有普通類(lèi)型,任何類(lèi)型都是對(duì)象。如果C或Java需要修改變量i的值,只要重新賦值即可;而Python并不能修改對(duì)象i的值。例如:

1#下面的兩個(gè)i并不是同一個(gè)對(duì)象?  2i = 1?  3print(id(i))? 4i = 2?  5print (id(i))

如果需要查看變量的類(lèi)型,可以使用Python定義的type類(lèi)。type是__builtin__模塊的一個(gè)類(lèi),該類(lèi)能返回變量的類(lèi)型或創(chuàng)建一個(gè)新的類(lèi)型。__builtin__模塊是Python的內(nèi)聯(lián)模塊,內(nèi)聯(lián)模塊不需要import語(yǔ)句,由Python解釋器自動(dòng)導(dǎo)入。后面還會(huì)接觸到更多內(nèi)聯(lián)模塊的類(lèi)和函數(shù)。

下面這段代碼返回了各種變量的類(lèi)型。

 1#整型?   2i = 1?   3print( type(i))?   4#長(zhǎng)整型?   5l = 999999999999999999990       # Python何時(shí)將int轉(zhuǎn)為float跟操作系統(tǒng)位數(shù)相關(guān)?   6print type(l)?   7#浮點(diǎn)型?   8f = 1.2?   9 print( type(f))?  10#布爾型?  11b = True?  12print (type(b))

【代碼說(shuō)明】

  •  第3行代碼輸出結(jié)果:<class'int'>

  •  第6行代碼輸出結(jié)果:<class'int'>

  •  第9行代碼輸出結(jié)果:<class'float'>

  •  第12行代碼輸出結(jié)果:<class'bool'>

用Python來(lái)進(jìn)行科學(xué)計(jì)算也很方便,因?yàn)镻ython內(nèi)置了復(fù)數(shù)類(lèi)型。Java、C#等高級(jí)語(yǔ)言則沒(méi)有提供復(fù)數(shù)類(lèi)型。

1#復(fù)數(shù)類(lèi)型?  2c = 7 + 8j?  3print (type(c))

第3行代碼輸出結(jié)果:<class'complex'>

注意:復(fù)數(shù)類(lèi)型的寫(xiě)法與數(shù)學(xué)中的寫(xiě)法相同,如果寫(xiě)為c=7+8i,Python不能識(shí)別其中的“i”,將提示語(yǔ)法錯(cuò)誤。

02 字符串

在Python中有3種表示字符串的方式&mdash;&mdash;單引號(hào)、雙引號(hào)、三引號(hào)。單引號(hào)和雙引號(hào)的作用是一樣的,對(duì)于不同的程序員可以根據(jù)自己的習(xí)慣使用單引號(hào)或雙引號(hào)。PHP程序員可能更習(xí)慣使用單引號(hào)表示字符串,C、Java程序員則習(xí)慣使用雙引號(hào)表示字符串。下面這段代碼中單引號(hào)和雙引號(hào)的使用是等價(jià)的。

1# 單引號(hào)和雙引號(hào)的使用是等價(jià)的?  2str = "hello world!"                    # 定義字符串變量str并賦值?  3print (str)?  4str = 'hello world!'?  5print (str)

【代碼說(shuō)明】

第3行代碼輸出結(jié)果:

hello world!

第5行代碼輸出結(jié)果:

hello world!

三引號(hào)的用法是Python特別的語(yǔ)法,三引號(hào)中可以輸入單引號(hào)、雙引號(hào)或換行等字符。

1# 三引號(hào)的用法?  2str = '''he say "hello world!"'''?  3print( str)

【代碼說(shuō)明】

第3行代碼的三引號(hào)中帶有雙引號(hào),雙引號(hào)也會(huì)被輸出。輸出結(jié)果:

he say "hello world!"

三引號(hào)的另一種用法是制作文檔字符串。Python的每個(gè)對(duì)象都有一個(gè)屬性__doc__,這個(gè)屬性用于描述該對(duì)象的作用。

1# 三引號(hào)制作doc文檔?  2class Hello:?  3'''hello class'''?  4def printHello():?  5'''print hello world'''?  6print ("hello world!")?  7print( Hello.__doc__)?  8print (Hello.printHello.__doc__)

【代碼說(shuō)明】

  •  第2行代碼定義了一個(gè)名為Hello的類(lèi)。

  •  第3行是對(duì)Hello類(lèi)的描述,該字符串將被存放在類(lèi)的__doc__屬性中。

  •  第4行代碼定義了一個(gè)方法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

如果要輸出含有特殊字符(單引號(hào)、雙引號(hào)等)的字符串,需要使用轉(zhuǎn)義字符。Python中轉(zhuǎn)義字符為“\”,和C、Java中的轉(zhuǎn)義字符相同。轉(zhuǎn)義操作只要在特殊字符的前面加上“\”即可。下面這段代碼說(shuō)明了特殊字符的轉(zhuǎn)義用法。

1# 轉(zhuǎn)義字符?  2str = 'he say:\'hello world!\''?  3print (str)

【代碼說(shuō)明】

第2行代碼中的單引號(hào)是特殊字符,需要在“'”前加上轉(zhuǎn)義字符。第3行代碼的輸出結(jié)果:

he say:'hello world!'

使用雙引號(hào)或三引號(hào)可以直接輸出含有特殊字符的字符串,不需要使用轉(zhuǎn)義字符。

1# 直接輸出特殊字符?  2str = "he say:'hello world!'"?  3print (str)?  4str = '''he say:'hello world!' '''?  5print (str)

【代碼說(shuō)明】

  •  第2行代碼中使用了雙引號(hào)表示字符串變量str,因此Python能夠識(shí)別出雙引號(hào)內(nèi)部的單引號(hào)只是作為輸出的字符。

  •  第3行代碼的輸出結(jié)果: 

he say:'hello world!'
  •  第4行代碼使用三引號(hào)表示字符串變量str,注意最后一個(gè)單引號(hào)后面留有一個(gè)空格,這個(gè)空格是為了讓Python識(shí)別出三引號(hào)留下的。如果不留下這個(gè)空格,4個(gè)單引號(hào)連在一起,Python解釋器不能正確識(shí)別三引號(hào)。提示如下錯(cuò)誤: 

SyntaxError: EOL while scanning single-quoted string
  •  第5行代碼的輸出結(jié)果: 

he say:'hello world!'

注意:輸出的字符串中含有單引號(hào),使用雙引號(hào)表示字符串即可。相反,輸出的字符串中含有雙引號(hào)時(shí),可使用單引號(hào)表示字符串。

到此,相信大家對(duì)“如何理解Python數(shù)字和字符串”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI