日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【python】获取数据类型

發(fā)布時(shí)間:2024/5/24 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 【python】获取数据类型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在python中,是沒有定義數(shù)據(jù)類型的,比如數(shù)字 a = 10,那么變量a就是int類型,但 比如C++中是 int a = 1

如果需要獲取變量的類型時(shí),怎么做呢?可以使用python中的內(nèi)置函數(shù) type()或instance()

對于基本類型來說 classinfo 可以是:
int,float,bool,complex,str(字符串),list,dict(字典),set,tuple
ps:classinfo 的字符串是 str 而不是 string,字典也是簡寫 dict

現(xiàn)在的需求是獲取對應(yīng)的數(shù)據(jù)類型并將該類型返回給前端,發(fā)現(xiàn)返回的json后數(shù)據(jù)出錯(cuò)

>>>p = {
    "name":"swapi",
    'type':type("swapi")
}

{'name': 'swapi', 'type': <class 'str'>}

原來 type("swapi")class 類型數(shù)據(jù)
那通過什么方式可以輸出的 'type'int,float,bool,complex,str,list,dict,set,tuple 這些基本的字符串而不是class類型呢?

type可否有直接輸出如 'str' 這樣的字符串格式?倒騰一圈發(fā)現(xiàn)并沒有!那 class 類型數(shù)據(jù)可否獲取到該內(nèi)容信息呢?
原來提供了類的專有方法 __name__

>>>a = 'swapi'
>>>print(type(a).__name__)

str

>>>b = {"x":"y"}
>>>print(type(b).__name__)

dict

又有如下栗子

>>>import Test 
 
>>>Test.__name__                #Test模塊的__name__ 
 
'Test' 

下面看看type()和instance()的具體使用

type()

type(object)
type(name, bases, dict)

參數(shù):
name:類的名稱。
bases:基類的元組。
dict:字典,類內(nèi)定義的命名空間變量。

返回值:
一個(gè)參數(shù)返回對象類型, 三個(gè)參數(shù),返回新的類型對象。

栗子:

# 一個(gè)參數(shù)實(shí)例
>>> type(1)
<type 'int'>
>>> type('school')
<type 'str'>
>>> type([2])
<type 'list'>
>>> type({0:'zero'})
<type 'dict'>
>>> x = 1
>>> type( x ) == int # 判斷類型是否相等
True

# 三個(gè)參數(shù)
>>> class X(object):
... a = 1
...
>>> X = type('X', (object,), dict(a=1)) # 產(chǎn)生一個(gè)新的類型 X
>>> X
<class '__main__.X'>

isinstance()

isinstance(object, classinfo)

參數(shù):
object – 實(shí)例對象。
classinfo – 可以是直接或間接類名、基本類型或者由它們組成的元組

返回值:
如果對象的類型與參數(shù)二的類型(classinfo)相同則返回 True,否則返回 False

栗子:

>>>a = 2
>>> isinstance (a,int)
True
>>> isinstance (a,str)
False
>>> isinstance (a,(str,int,list))    # 是元組中的一個(gè)返回 True
True

如果要判斷兩個(gè)類型是否相同推薦使用 isinstance()

總結(jié)

以上是生活随笔為你收集整理的【python】获取数据类型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。