欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python數(shù)據(jù)類型轉(zhuǎn)換詳解

 更新時間:2021年10月29日 15:26:32   作者:cheuklam  
本篇文章里小編給大家整理的是關(guān)于Python中常用數(shù)據(jù)類型之間的轉(zhuǎn)換相關(guān)知識點(diǎn),有需要的朋友們可以學(xué)習(xí)下,希望能夠給你帶來幫助

1. Python的數(shù)據(jù)類型

上一遍博文已經(jīng)詳細(xì)地介紹了Python的數(shù)據(jù)類型,詳見鏈接Python的變量命名及數(shù)據(jù)類型。

在這里總結(jié)一下Python的數(shù)據(jù)類型:

  • 字符串類型 String
  • 數(shù)字類型 Number:

整形 int

浮點(diǎn)型 float

復(fù)數(shù) complex

  • 布爾類型 Bool列
  • 表類型 List
  • 元組類型 Tuple
  • 字典類型 Dictionary
  • 集合類型 Set

可變數(shù)據(jù)類型:列表,字典,集合

不可變數(shù)據(jù)類型:字符串,數(shù)字類型,布爾類型,元組

容器類型數(shù)據(jù):字符串,列表,元組,字典,集合

非容器類型數(shù)據(jù):數(shù)字類型,布爾類型

2. Python數(shù)據(jù)類型轉(zhuǎn)換

由于不同的數(shù)據(jù)類型之間是不能進(jìn)行運(yùn)算的,所以我們需要數(shù)據(jù)類型轉(zhuǎn)換。Python中的數(shù)據(jù)類型轉(zhuǎn)換有兩種,一種是自動類型轉(zhuǎn)換,即Python在計算中會自動地將不同類型的數(shù)據(jù)轉(zhuǎn)換為同類型數(shù)據(jù)來進(jìn)行計算;另一種是強(qiáng)制類型轉(zhuǎn)換,即需要我們基于不同的開發(fā)需求,強(qiáng)制地將一個數(shù)據(jù)類型轉(zhuǎn)換為另一個數(shù)據(jù)類型。

2.1 自動類型轉(zhuǎn)換

當(dāng)兩個不同類型的數(shù)據(jù)進(jìn)行運(yùn)算時,結(jié)果會像更高精度進(jìn)行計算,精度等級:布爾 < 整型 < 浮點(diǎn)型 < 復(fù)數(shù)。

a = 10
b = True
print(a + b) # 11
'''
在和數(shù)字運(yùn)算時,True轉(zhuǎn)為1,F(xiàn)alse轉(zhuǎn)為0
'''
a = 10
b = 3.14
print(a + b) # 13.14
'''
整型與浮點(diǎn)型運(yùn)算時,整型轉(zhuǎn)化為浮點(diǎn)型,結(jié)果也為浮點(diǎn)型
'''

2.2 強(qiáng)制類型轉(zhuǎn)換

  • str( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為字符串類型
  • int( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為整型
  • float( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為浮點(diǎn)型
  • bool( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為布爾類型
  • list( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為列表類型
  • tuple( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為元組類型
  • dict( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為字典類型
  • set( ):可以把其他類型數(shù)據(jù)轉(zhuǎn)化為集合類型

2.2.1 其他轉(zhuǎn)字符串

所有類型都可以轉(zhuǎn)化為字符串類型。

a = 123 # int
res = str(a) 
print(res, type(res)) # 123 <class 'str'>
a = True # bool
res = str(a)
print(res, type(res)) # True <class 'str'>
a = [1, 2, 3] # list
res = str(a)
print(res, type(res)) # [1, 2, 3] <class 'str'>
a = (1, 2, 3) # tuple
res = str(a)
print(res, type(res)) # (1, 2, 3) <class 'str'>
a = {1, 2, 3} # set
res = str(a) # {1, 2, 3}
print(res, type(res)) # {1, 2, 3} <class 'str'>
a = {1: 'a', 2: 'b'} # dict
res = str(a)
print(res, type(res)) # {1: 'a', 2: 'b'} <class 'str'>

2.2.2 其他轉(zhuǎn)數(shù)字類型

數(shù)字類型之間可以相互轉(zhuǎn)換,但容器類型中只有字符串可以轉(zhuǎn)換為數(shù)字類型,并且字符串中的元素必須為純數(shù)字,否則無法轉(zhuǎn)換。

'''
1. 數(shù)字類型之間相互轉(zhuǎn)換
'''
a = 123 # int
res = float(a)
print(res, type(res)) # 123.0 <class 'float'>
a = True # bool
res = float(a)
print(res, type(res)) # 1.0 <class 'float'>

'''
2. 字符串類型轉(zhuǎn)數(shù)字類型
'''
a = '123' # str
res = int(a)
print(res, type(res)) # 123 <class 'int'>
a = '123abc' # str
res = int(a)
print(res, type(res)) # 此時python會報錯,報錯類型為TypeError
a = [1, 2, 3] # list
res = int(a)
print(res, type(res)) # 此時同樣會報錯,因?yàn)槌俗址酝獾钠渌萜黝愋投疾豢梢赞D(zhuǎn)換成數(shù)字類型

其他類型轉(zhuǎn)數(shù)字類型中有一個特殊情況,就是其他類型轉(zhuǎn)布爾類型。 bool( ) 可以把其他類型轉(zhuǎn)為True或False。

'''
1. 容器類型轉(zhuǎn)布爾類型:
   容器中為空 --> False
   容器中有元素 --> True
'''
a = '' # 空字符串
res = bool(a)
print(res, type(res)) # False <class 'bool'>
a = '0' # 字符串中有元素
res = bool(a)
print(res, type(res)) # True <class 'bool'>
a = [] # 空列表
res = bool(a)
print(res, type(res)) # False <class 'bool'>
a = [1, 2, 3] # 列表中有元素
res = bool(a)
print(res, type(res)) # True <class 'bool'>
a = tuple() # 空元組
res = bool(a)
print(res, type(res)) # False <class 'bool'>
a = dict() # 空字典
res = bool(a)
print(res, type(res)) # False <class 'bool'>
a = set() # 空集合
res = bool(a)
print(res, type(res)) # False <class 'bool'>

'''
2. 數(shù)字類型轉(zhuǎn)布爾類型:
   int類型中,0為False,其他為真
   float類型中,0.0為False,其他為真
'''
a = 0 # int
res = bool(a)
print(res, type(res)) # False <class 'bool'>
a = 0.0 # float
res = bool(a)
print(res, type(res)) # False <class 'bool'>
a = 0.345 # float
res = bool(a)
print(res, type(res)) # True <class 'bool'>

2.2.3 其他轉(zhuǎn)列表類型

1.數(shù)字類型是非容器類型,不能轉(zhuǎn)換為列表

2.字符串轉(zhuǎn)列表時,會把字符串中的每一個字符當(dāng)作列表的元素

3.元組轉(zhuǎn)列表時,會把字符串中的每一個字符當(dāng)作列表的元素

4.字典轉(zhuǎn)列表時,只保留字典中的鍵

5.集合轉(zhuǎn)列表時,結(jié)果是無序的,因?yàn)榧媳旧砭褪菬o序的

a = '123' # str
res = list(a)
print(res, type(res)) # ['1', '2', '3'] <class 'list'>
a = (1, 2, 3) # tuple
res = list(a)
print(res, type(res)) # ['1', '2', '3'] <class 'list'>
a = {'name': 'Alice', 'Age': 5, 'Sex': 'Female'} # dict
res = list(a)
print(res, type(res)) # ['name', 'Age, 'Sex'] <class 'list'>
a = {'a', 'b', 1, 2, 'c'} # set
res = print(a)
print(res, type(res)) # ['b', 2, 1, 'a', 'c'] <class 'list>

2.2.4 其他轉(zhuǎn)元組類型

其他類型數(shù)據(jù)轉(zhuǎn)元組類型與其他類型數(shù)據(jù)轉(zhuǎn)列表類型的規(guī)則相同。

a = 'abc' # str
res = tuple(a)
print(res, type(res)) # ('a', 'b', 'c') <class 'tuple>
a = [1, 2, 3] # list
res = tuple(a)
print(res, type(res)) # (1, 2, 3) <class 'tuple>
a = {'name': 'Alice', 'Age': 5, 'Sex': 'Female'} # dict
res = tuple(a)
print(res, type(res)) # ('name', 'Age, 'Sex') <class 'tuple>
a = {'a', 'b', 1, 2, 'c'} # set
res = tuple(a)
print(res, type(res)) # ('b', 2, 1, 'a', 'c') <class 'tuple>

2.2.5 其他轉(zhuǎn)集合類型

1.數(shù)字類型是非容器類型,不能轉(zhuǎn)換為集合

2.字符串轉(zhuǎn)集合時,結(jié)果是無序的

3.列表轉(zhuǎn)集合時,結(jié)果是無序的

4.元組轉(zhuǎn)集合時,結(jié)果是無序的

5.字典轉(zhuǎn)集合時,只保字典中的鍵,結(jié)果是無序的

a = '123' # str
res = set(a)
print(res, type(res)) # {'3', '2', '1'} <class 'set'>
a = ['a', 'b', 2, 1] # list
res = set(a)
print(res, type(res)) # {2, 1, 'b', 'a'} <class 'set'>
a = ('a', 'b', 2, 1) # tuple
res = set(a)
print(res, type(res)) # {2, 1, 'b', 'a'} <class 'set'>
a = {'name': 'Alice', 'Age': 5, 'Sex': 'Female'} # dict
res = set(a)
print(res, type(res)) # {'Age', 'name', 'Sex'} <class 'tuple>

2.2.6 其他轉(zhuǎn)字典類型

1.數(shù)字類型是非容器類型,不能轉(zhuǎn)換為字典

2.字符串不能轉(zhuǎn)字典類型,因?yàn)樽址荒苌啥壢萜?/p>

3.列表類型轉(zhuǎn)字典類型,列表必須為等長二級容器,子容器中的元素個數(shù)必須為2

4.元組類型轉(zhuǎn)字典類型,列表必須為等長二級容器,子容器中的元素個數(shù)必須為2集

5.合不能轉(zhuǎn)字典類型,因?yàn)榧喜恢С止?/p>

a = '123' # str
res = dict(a)
print(res, type(res)) # 此時python會報錯:ValueError: dictionary update sequence element #0 has length 1; 2 is required
a = [[1, 2], ['a','b']] # 等長二級列表
res = dict(a)
print(res, type(res)) # {1: 2, 'a': 'b'} <class 'dict'>
a = ((1, 2), (3, 4), (5, 6)) # 等長二級元組
res = dict(a)
print(res, type(res)) # {1: 2, 3: 4, 5: 6} <class 'tuple'>
a = {{1, 2}, {3, 4}} # 等長二級集合
res = dict(a)
print(res,type(res)) # 此時python會報錯:TypeError: unhashable type: 'set'

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • python常用操作之使用多個界定符(分隔符)分割字符串的方法實(shí)例

    python常用操作之使用多個界定符(分隔符)分割字符串的方法實(shí)例

    在使用Python處理字符串的時候,有時候會需要分割字符,下面這篇文章主要給大家介紹了關(guān)于python常用操作之使用多個界定符(分隔符)分割字符串的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • python3中sys.argv的實(shí)例用法

    python3中sys.argv的實(shí)例用法

    在本篇文章里小編給大家分享的是關(guān)于python3中sys.argv的實(shí)例用法內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-04-04
  • python?隨機(jī)生成emoji表情的方法實(shí)現(xiàn)

    python?隨機(jī)生成emoji表情的方法實(shí)現(xiàn)

    本文主要介紹了python?隨機(jī)生成emoji表情的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Python入門教程(五)Python變量的用法

    Python入門教程(五)Python變量的用法

    這篇文章主要介紹了Python入門教程(五)Python變量的用法,Python是一門非常強(qiáng)大好用的語言,也有著易上手的特性,本文為入門教程,需要的朋友可以參考下
    2023-04-04
  • Python中時間datetime的處理與轉(zhuǎn)換用法總結(jié)

    Python中時間datetime的處理與轉(zhuǎn)換用法總結(jié)

    今天小編就為大家分享一篇關(guān)于Python中時間datetime的處理與轉(zhuǎn)換用法總結(jié),小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Python中如何快速解析JSON對象數(shù)組

    Python中如何快速解析JSON對象數(shù)組

    由于瀏覽器可以迅速地解析JSON對象,它們有助于在客戶端和服務(wù)器之間傳輸數(shù)據(jù),本文將描述如何使用Python的JSON模塊來傳輸和接收J(rèn)SON數(shù)據(jù)
    2023-09-09
  • Python Numpy 自然數(shù)填充數(shù)組的實(shí)現(xiàn)

    Python Numpy 自然數(shù)填充數(shù)組的實(shí)現(xiàn)

    今天小編就為大家分享一篇Python Numpy 自然數(shù)填充數(shù)組的實(shí)現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python3中的最大整數(shù)和最大浮點(diǎn)數(shù)實(shí)例

    Python3中的最大整數(shù)和最大浮點(diǎn)數(shù)實(shí)例

    今天小編就為大家分享一篇Python3中的最大整數(shù)和最大浮點(diǎn)數(shù)實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 分析python垃圾回收機(jī)制原理

    分析python垃圾回收機(jī)制原理

    這篇文章主要介紹了python垃圾回收機(jī)制原理,python采用的是引用計數(shù)機(jī)制為主,標(biāo)記-清除和分代收集兩種機(jī)制為輔的策略,有需要的的朋友可以借鑒參考想
    2021-09-09
  • 一篇文章讀懂Python賦值與拷貝

    一篇文章讀懂Python賦值與拷貝

    本文給大家分享一篇文章帶領(lǐng)大家讀懂python賦值與拷貝的知識,感興趣的朋友一起看看吧
    2018-04-04

最新評論