<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 3256字,需瀏覽 7分鐘

           ·

          2020-10-25 20:45


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


          作者:黃傳祿 張克強(qiáng) 趙越
          來(lái)源:大數(shù)據(jù)DT(ID:hzdashuju)


          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é)果:

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

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

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


          用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é)果:


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



          02 字符串


          在Python中有3種表示字符串的方式——單引號(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)表示字符串。


          關(guān)于作者:黃傳祿,高級(jí)講師、管理軟件開(kāi)發(fā)工程師、數(shù)據(jù)庫(kù)庫(kù)系統(tǒng)工程師、信息系統(tǒng)管理工程師。有10多年的一線教學(xué)經(jīng)驗(yàn)和高端培訓(xùn)經(jīng)驗(yàn),出版多部技術(shù)專(zhuān)著,獲得多個(gè)軟件著作權(quán)。


          本文摘編自零基礎(chǔ)學(xué)Python》(第2版),經(jīng)出版方授權(quán)發(fā)布。

          我的朋友圈更精彩

          推薦閱讀

          (點(diǎn)擊標(biāo)題可跳轉(zhuǎn)閱讀)

          Tensorflow的妙用

          Python 200個(gè)標(biāo)準(zhǔn)庫(kù)匯總!

          機(jī) 器 學(xué) 習(xí) 中 的 數(shù) 學(xué) 意 義

          玩轉(zhuǎn) Jupyter Notebook

          神 經(jīng) 網(wǎng) 絡(luò) 內(nèi) 部 長(zhǎng) 啥 樣?

          老鐵,三連支持一下,好嗎?↓↓

          瀏覽 16
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产精品人妻无码久久久郑州天气网 | 亚洲人成电影网网站 | 天天综合视频入口 | 久青草中文在线观看 | 久久久久久成人无码 |