1. 程式人生 > >python isinstance type區別

python isinstance type區別

Python中請使用isinstance()判斷變數型別

原文:http://www.jb51.net/article/54275.htm

一、isinstance()

在Python中可以使用type()與isinstance()這兩個函式判斷物件型別,而isinstance()函式的使用上比type更加方便。

複製程式碼 程式碼如下:
# coding=utf-8
 
a = 10
 
def b():
    pass
 
print isinstance(a,(int,str))
print isinstance(a,(float,str))
print isinstance(b,(str,int))
 
class c:
    pass
 
obj = c()
 
print isinstance(obj,(c,int))

執行結果:
複製程式碼
程式碼如下:
True
False
False
True

二、isinstance 和 type的區別

isinstance 和 type的區別在於:

複製程式碼 程式碼如下:
class A:
    pass

class B(A):
    pass

isinstance(A(), A)  # returns True
type(A()) == A      # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

相關推薦

python isinstance type區別

Python中請使用isinstance()判斷變數型別 原文:http://www.jb51.net/article/54275.htm 一、isinstance() 在Python中可以使用

Python語言學習講解八:型別判斷typeisinstance區別

注:每週一到週五都會進行相關python基礎知識更新,歡迎大家提寶貴的意見 type和isinstance共同點:用於驗證引數型別 在遊戲專案中,我們會在每個介面驗證客戶端傳過來的引數型別,如果驗證不通過,返回給客戶端“引數錯誤”錯誤碼。 這樣做不但便於除錯,而且

python資料型別判斷typeisinstance區別

type()不會認為子類是一種父類型別,isinstance()會認為子類是一種父類型別 class Foo(object): pass class Bar(Foo): pass print type(Foo()) == Foo print

Python自省 type(),dir(),getattr(),hasattr(),isinstance().

sin 對象 面向 class blog 類型 type() 自省 span Python自省 這個也是python彪悍的特性. 自省就是面向對象的語言所寫的程序在運行時,所能知道對象的類型.簡單一句就是運行時能夠獲得對象的類型.比如type(),dir(),getattr

python isinstance和issubclass區別

分享圖片 alt sta () ima 分享 .com ins 技術 一、issubclass 判斷兩個類是否是同個類,或者有繼承關系。只能判斷類不能判斷實例 class A: pass class B(A): pass print(issubclass(

pythontype、class、object的區別

版本 src 同時 ati 創建 內置 lis dict 之間 type 一、 type可以用來返回一個對象的類型 例如: 二、 由於Python中一切皆對象,也就是說Python中的任何變量類型都是可以被修改的,這也是Python等動態編程語言的特點。type的基類是o

型別區別 isinstance, type, issubclass

isinstance, type, issubclass isinstance: 判斷你給物件是否是xx型別的. (向上判斷)type: 返回xxx物件的資料型別issubclass: 判斷xxx類是否xxx的子類

pythontypeisinstance異同

在python中,經常會使用到type與isinstance兩個內建的函式來判斷變數屬於什麼型別。那麼這兩個函式有什麼區別呢?下面來簡單分析一下。 1.type type函式的原始碼如下: def __init__(cls, what, bases=None, dic

Pythontype 還是要靠isinstance判斷型別

今天處理資料庫內容遷移,碰到時間資料型別無法使用type判斷出來的情況 背景知識 datetime模組中的datetime類的例項可以表示一個時刻(日期,以及這個日期中的特定時間),可以不包含時區或者包含時區,並總是忽略閏秒。 import datetimetest =

型別判斷typeisinstance區別

在遊戲專案中,我們會在每個介面驗證客戶端傳過來的引數型別,如果驗證不通過,返回給客戶端“引數錯誤”錯誤碼。 這樣做不但便於除錯,而且增加健壯性。因為客戶端是可以作弊的,不要輕易相信客戶端傳過來的引數。 驗證型別用type函式,非常好用,比如 >>type('fo

python isinstance、isalnum函數用法

isinstance、isalnum今天寫一個校驗的時候,遇到了三個函數,記下來以備用吧 isinstance、isalnum、len相比大家都知道type()函數,判斷一個對象的數據類型: In [1]: test = "abc123" In [2]: type(test) Out[2]: s

CSS3::nth-child與:nth-of-type區別

css3選擇器 block lan strong title 選擇 示例 紅色 arc 一、:nth-child 1.1 說明 :nth-child(n)選擇器匹配屬於其父元素的第N個子元素,不論元素的類型。n可以是數字、關鍵詞或公式。 註意:如果第N個子元素

CSS3選擇器:nth-child與:nth-of-type區別

html css css3 一、:nth-child 1.1 說明 :nth-child(n)選擇器匹配屬於其父元素的第N個子元素,不論元素的類型。n可以是數字、關鍵詞或公式。 註意:如果第N個子元素與選擇的元素類型不同則樣

Python 2 和Python 3的區別

put 運行 標示 odin input raw 強調 pytho 輸入 Python 2 和Python 3 的區別: 1. 直接運行python,其實是調用的python2,輸入python3 ,其實是調用的是python3 2. 在python 2中需要提前標示出ut

instance與type區別

派生類 type pass obj false gpo light body class class Foo(object): pass class Bar(Foo): pass obj = Bar() # isinstance用於判斷,對象是否是指定類的實例 (

Python 2 和 Python 3 主要區別有哪些(一)

哲學 因此 cti print語句 程序調試 ssi print 很多 efault Guido(Python之父,仁慈的獨裁者)在設計 Python3 的過程中,受一篇文章 “Python warts” 的影響,決定不向後兼容,否則無法修復大多數缺陷。---摘錄自《流暢的

python isinstance函數 判斷元素是否是字符串、int型、float型

text font body 內建函數 gpo 1.0 sta 允許 表示 isinstance是Python中的一個內建函數 語法: isinstance(object, classinfo) 如果參數object是classinfo的實例,或者object是cl

PyCharm中Directory與Python package的區別

ack 技術分享 direct sdn 自動創建 lan 自動 col 資源 PyCharm中Directory與Python package的區別 對於Python而言,有一點是要認識明確的,python作為一個相對而言輕量級的,易用的腳本語言(當然其功能並不僅限

0 python和perl區別

方式 一次 def 一行 元素 相同 是個 則無 etc help(dit.keys) ---使用幫助,查看字典類型中keys函數的說明 關於print python --- 字符串後面可以不用加\n 自動換行 per --- 不會自動換行,需

Python isinstance() 函數

pytho ket () 判斷 子類 一個 基本類 展示 res isinstance() 函數來判斷一個對象是否是一個已知的類型,類似 type()。 isinstance() 與 type() 區別: type() 不會認為子類是一種父類類型,不考慮繼承關系。