亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      python

      當(dāng)前位置:中華考試網(wǎng) >> python >> python編程基礎(chǔ) >> 文章內(nèi)容

      python的這些類型?你都清楚嗎?

      來源:中華考試網(wǎng)  [2020年9月16日]  【

        Python采用動(dòng)態(tài)類型系統(tǒng)。在編譯的時(shí)候,Python不會(huì)檢查對(duì)象是否擁有被調(diào)用的方法或者屬性,而是直至運(yùn)行時(shí),才做出檢查。所以操作對(duì)象時(shí)可能會(huì)拋出異常。不過,雖然Python采用動(dòng)態(tài)類型系統(tǒng),它同時(shí)也是強(qiáng)類型的。Python禁止沒有明確定義的操作,比如數(shù)字加字符串。

        與其它面向?qū)ο笳Z言一樣,Python允許程序員定義類型。構(gòu)造一個(gè)對(duì)象只需要像函數(shù)一樣調(diào)用類型即可,比如,對(duì)于前面定義的Fish類型,使用Fish()。類型本身也是特殊類型type的對(duì)象(type類型本身也是type對(duì)象),這種特殊的設(shè)計(jì)允許對(duì)類型進(jìn)行反射編程。

        Python內(nèi)置豐富的數(shù)據(jù)類型。與Java、C++相比,這些數(shù)據(jù)類型有效地減少代碼的長度。下面這個(gè)列表簡(jiǎn)要地描述了Python內(nèi)置數(shù)據(jù)類型(適用于Python 3.x):

      類型
      描述
      例子
      備注
      str(string/字符串)
      一個(gè)由字符組成的不可更改的有序串行。
      'Wikipedia'
      "Wikipedia"
      """Spanning
      multiple
      lines"""
      在Python 3.x里,字符串由Unicode字符組成
      bytes(字節(jié))
      一個(gè)由字節(jié)組成的不可更改的有序串行。
      b'Some ASCII'
      b"Some ASCII"
      在Python 2.x里,bytes為str的一種
      list(列表)
      可以包含多種類型的可改變的有序串行
      [4.0, 'string', True]
      tuple(元組)
      可以包含多種類型的不可改變的有序串行
      (4.0, 'string', True)
      set, frozenset
      與數(shù)學(xué)中集合的概念類似。無序的、每個(gè)元素唯一。
      {4.0, 'string', True}
      frozenset([4.0, 'string', True])
      dict(字典)
      一個(gè)可改變的由鍵值對(duì)組成的無序串行。
      {'key1': 1.0, 3: False}
      int(整數(shù))
      精度不限的整數(shù)
      42
      float(浮點(diǎn)數(shù))
      浮點(diǎn)數(shù)。精度與系統(tǒng)相關(guān)。
      3.1415927
      complex
      復(fù)數(shù)
      3+2.7j
      bool
      邏輯值。只有兩個(gè)值:真、假
      True
      False
      builtin_function_or_method
      自帶的函數(shù),不可更改也不可增加
      print
      input
      type(類型)
      顯示某個(gè)值的類型,用type(x)獲得
      type(1) ->
      type(‘1’) ->
      range
      按順序排列的數(shù)
      range(10)
      ......list(range(10))->[0,1,2,3,4,5,6,7,8,9]
      range(1,10)
      ......list(range(1,10))->[1,2,3,4,5,6,7,8,9]
      range(1,10,2)
      ......list(range(1,10,2))->[1,3,5,7,9]
      在Python 2.x中,range為builtin_function_or_method,獲得的數(shù)為list

        除了各種數(shù)據(jù)類型,Python語言還用類型來表示函數(shù)、模塊、類型本身、對(duì)象的方法、編譯后的Python代碼、運(yùn)行時(shí)信息等等。因此,Python具備很強(qiáng)的動(dòng)態(tài)性。

        數(shù)學(xué)運(yùn)算

        Python使用與C、Java類似的運(yùn)算符,支持整數(shù)與浮點(diǎn)數(shù)的數(shù)學(xué)運(yùn)算。同時(shí)還支持復(fù)數(shù)運(yùn)算與無窮位數(shù)(實(shí)際受限于計(jì)算機(jī)的能力)的整數(shù)運(yùn)算。除了求絕對(duì)值函數(shù)abs()外,大多數(shù)數(shù)學(xué)函數(shù)處于math和cmath模塊內(nèi)。前者用于實(shí)數(shù)運(yùn)算,而后者用于復(fù)數(shù)運(yùn)算。使用時(shí)需要先導(dǎo)入它們,比如:

        >>> import math

        >>> print(math.sin(math.pi/2))

        1.0

        fractions模塊用于支持分?jǐn)?shù)運(yùn)算;decimal模塊用于支持高精度的浮點(diǎn)數(shù)運(yùn)算。

        Python定義求余運(yùn)行a % b的值處于開區(qū)間[0, b)內(nèi),如果b是負(fù)數(shù),開區(qū)間變?yōu)?b, 0]。這是一個(gè)很常見的定義方式。不過其實(shí)它依賴于整除的定義。為了讓方程式:b * (a // b) + a % b = a恒真,整除運(yùn)行需要向負(fù)無窮小方向取值。比如7 // 3的結(jié)果是2,而(-7) // 3的結(jié)果卻是-3。這個(gè)算法與其它很多編程語言不一樣,需要注意,它們的整除運(yùn)算會(huì)向0的方向取值。

        Python允許像數(shù)學(xué)的常用寫法那樣連著寫兩個(gè)比較運(yùn)行符。比如a < b < c與a < b and b < c等價(jià)。C++的結(jié)果與Python不一樣,首先它會(huì)先計(jì)算a < b,根據(jù)兩者的大小獲得0或者1兩個(gè)值之一,然后再與c進(jìn)行比較。

      責(zé)編:hym
      • 會(huì)計(jì)考試
      • 建筑工程
      • 職業(yè)資格
      • 醫(yī)藥考試
      • 外語考試
      • 學(xué)歷考試