日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

詳解Python開發語言中的基本數據類型_python

作者:Jiangxl~ ? 更新時間: 2022-12-01 編程語言

1.Python的基本數據類型

數據類型想必大家都知道是什么含義,指的是輸入數據的類型,任何數據都有明確的數據類型,例如我們輸入100,這個數據就是整數類型,輸入7.7這個數據就是浮點數類型,輸入字母、漢字、字母加漢字的數據都是字符串類型。

Python基本數據類型有三種:

  • 整數類型:數字
  • 浮點數類型:帶小數點的數字
  • 字符串類型:字母、數字、漢字任意組合

通過type函數可以讀取某個數據的數據類型,配合print函數可以打印出某個數據的類型,語法格式如下。

type(輸入的數據)

print(type(輸入的數據))

打印出100、7.7、aaas11sdj三個數據的數據類型。

print(type(100))
print(type(7.7))
print(type('aaas11sdj'))

使用print配合type函數一起使用,可以打印出某個數據的數據類型是什么。

2.整數類型的概念以及使用

2.1.整數類型的概念

整數類型是什么就不再多說了,在計算機整數中有四種不同的進制表示方式,對于一個整數可以有十進制、二進制、八進制、十六進制這四種表示方式,默認情況下整數是十進制表示。

  • 十進制默認就是一個整數,沒有任何含義
  • 二進制是以0b開頭的,只有0和1兩個數字,在計算機中一切皆二進制,只有0和1。
  • 八進制是以0o開頭的,包含0-7八個數字。
  • 十六進制是以0x開頭,包含0-9十個數字和A-F六個字母。

各種進制包含的數字、計算方法都在下表中:

進制類型 基本數 逢幾進一 ?計算方法
十進制 0/1/2/3/4/5/6/7/8/9 10 118=8+1*10^1+1*10^2
二進制 0/1 2 0b1110110=0+1*2^1+1*2^2+0*2^3+1*2^4+1*2^5+1*2^6=118
八進制 0/1/2/3/4/5/6/7 8 0o166=6+6*8^1+1*8^2=118
十六進制 0/1/2/3/4/5/6/7/8/9
A/B/C/D/E/F
16 0x76=6+7*16^118

進制類型基本數逢幾進一計算方法

進制轉換的計算方法技巧:

任何進制都是一個整數,幾進制轉換成幾進制,就要看是逢幾進一,例如整數118轉換成十進制:

逢十進一:118=8+1*10^1+1*10^2,從最左側的個位數開始計算,第一位不變,第二位乘10的1次方,第三位乘10的2次方,以此類推,有幾位數字就計算幾位,最后將數字相加就是準確的十進制數。

2.2.使用Python操作整數類型

print函數可以將輸入的整數(數字)轉換成十進制數,也可以結合進制函數將輸入的數據轉換成指定進制的數字,相當于進制轉換,還可以通過print函數結合int整數函數將傳入的數據轉換成一個整數。

1)使用print函數將輸入的整數轉換成十進制數

print函數會將傳入的整數轉換成一個十進制數字,根據傳入的整數,print函數會識別這個證書是幾進制數,然后通過運算轉換成對應的十進制數。

#傳入一個十進制數118,被print函數輸出后得到十進制數118
print(118)

#傳入一個二進制數0b1110110,被print函數輸出后得到十進制數118
print(0b1110110)

#傳入一個八進制數0o166,被print函數輸出后得到十進制數118
print(0o166)

#傳入一個十六進制數0x76,被print函數輸出后得到十進制數118
print(0x76)

2)使用print函數將傳入的數據根據進制函數轉換成對應進制數

使用print函數,根據我們傳入的數據,必須是整數,然后通過進制函數,將這個整數轉換成對應進制的數字。

對于進制轉換的函數,Python有3個內置的進制函數,可以將傳入的十進制數字轉換成對應進制的字符串。

  • bin():將傳入的十進制整數轉換成二進制字符串。
  • oct():將傳入的十進制整數轉換成八進制字符串。
  • hex():將傳入的十進制整數轉換成十六進制字符串。
#bin():將傳入的十進制整數轉換成二進制字符串
print(bin(118))
#返回0b1110110

# oct():將傳入的十進制整數轉換成八進制字符串。
print(oct(118))
#返回0o166

# hex():將傳入的十進制整數轉換成十六進制字符串。
print(hex(118))
#返回0x76

3)使用print函數配合int函數將傳入的數據轉換成整數

int函數可以將傳入的數據轉換成一個整數,也可以說是創建一個整數,使用int函數處理整數時有三種情況:

  • 當int函數不傳入任何參數時,默認返回整數0。
  • 當int函數傳入一個參數時,會將傳遞的參數轉換成整數,例如傳入的是小數,也會將小數部分移除,僅顯示整數部分。
  • 當int函數傳入兩個參數時,第一個參數必須是數字,第二個參數指定這個數字是哪種進制,然后根據傳參將這個數字轉換成十進制。
#當int函數不傳入任何參數時,默認返回整數0
print(int())

#當int函數傳入一個參數時,會將傳遞的參數轉換成整數
print(int(118))				#轉換成118
print(int(118.9))			#轉換成118
print(int('117'))			#轉換成117


#int函數傳入兩個參數
#傳入數字118,這個數字是十進制,轉換成對應的十進制數,得到的結果是118
print(int('118',10))
#傳入數字0o166,這個數字是八進制,轉換成對應的十進制數,得到的結果是118
print(int('0o166',8))

3.浮點數類型的概念以及使用

浮點數指的就是小數,我們可以直接使用print函數打印一個浮點數。

print(0.348923740932)
#得到結果0.348923740932

另外我們還可以通過float函數創建浮點數,和int函數使用方法一樣,通過float函數可以指定傳入的數據輸出后是一個浮點數,但是傳入的數字必須是數字。

對于float函數來說,如果不傳入任何參數,默認返回浮點數0.0,當只傳遞一個參數時,會將傳遞的參數轉換為浮點數。

#不傳入參數默認返回0
print(float())

#傳入一個整數 被float轉換成浮點數 結果為176.0
print(float(176))

#傳入一個浮點數,被float轉換成浮點數,結果不變:152.88
print(float(152.88))

另外對于很大的數字,例如幾千萬幾個億,我們也可以使用浮點數通過科學技術法的形式來表示。

公式為:men

? m表示浮點數,e是固定寫法表示乘以10,n表示乘以10的n次方。

? 例如我要計算浮點數5.27的10的7次方是多少,寫法就是5.27e7,過程就是5.27*10^7,結果為52700000。

#52700000這個整數比較大,我們希望傳參時簡化輸入的內容,少輸入一點,基于這種情況可以通過float函數使用科學計數法的方式簡化輸入的內容
print(float(5.27e7))
#返回的結果為:52700000.0

#求5.27的10的-3次方是多少
print(float(5.27e-3))

浮點數在運算過程中可能會出現不精準的現象,如下所示。

#運算結果非0
print(1.1+2.2+3.3)
#輸出結果為6.6 精準。

#運算結果為0
print(1.1+2.2-3.3)
#輸出結果為:4.440892098500626e-16 不精準。

對于這種不精準的浮點數運算,我們可以使用decimal、fractions這兩個模塊中的類來解決此問題。

使用decimal模塊可以處理十進制浮點數運算,使用fractions模塊可以處理分子分母相除之后的浮點數運算。

1.使用decimal模塊解決

#從decimal模塊中導入Decimal類,Decimal可以理解為是decimal模塊中的內置函數
from decimal import Decimal
#將浮點數傳入Decimal類中,使用print進行運算
print(Decimal('1.1') + Decimal('2.2') - Decimal('3.3'))
#輸出結果為:0.0 正確的結果

2.使用fractions模塊解決

#從fractions模塊中導入Fraction類,Fraction類可以理解為是fractions這個模塊的內置函數
from fractions import Fraction
#將浮點數傳入到Fraction類中,使用print進行運算
print(Fraction(11, 10) + Fraction(22, 10) - Fraction(33, 10))
#輸出結果:0 正確的結果

4.布爾類型的概念以及使用

布爾類型只有兩種取值范圍,要么是True,要么是False,嚴格區分大小寫。

例如:今天下雨嗎?今天回家嗎?都屬于布爾表達式,回答要么是True,要么是False。

#當表達式為真時,返回True
print(5>3)
#當表達式為假時,返回False
print(6<2)

True對應的數字值是1,False對應的數字值是0。

#TRUE的值為1,如果TRUE的值不為1,則會返回False
print(True == 1)

#False的值為0,如果False的值不為1,則會返回False
print(False == 0)

#為了進一步驗證True和False的值,我們進行一組運算,True=1+False=0+10,返回結果為11,就表示我們的說法是正確的
print(True + False + 10)

原文鏈接:https://blog.csdn.net/weixin_44953658/article/details/127507118

欄目分類
最近更新