Python type() 函數(shù)

2019-03-15 10:34 更新

Python type() 函數(shù)

Python 內(nèi)置函數(shù) Python 內(nèi)置函數(shù)

描述

Python type() 函數(shù)如果你只有第一個(gè)參數(shù)則返回對(duì)象的類(lèi)型,三個(gè)參數(shù)返回新的類(lèi)型對(duì)象。

isinstance() 與 type() 區(qū)別:
  • type() 不會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型,不考慮繼承關(guān)系。
  • isinstance() 會(huì)認(rèn)為子類(lèi)是一種父類(lèi)類(lèi)型,考慮繼承關(guān)系。
如果要判斷兩個(gè)類(lèi)型是否相同推薦使用 isinstance()。

語(yǔ)法

以下是 type() 方法的語(yǔ)法:

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

參數(shù)

  • name:類(lèi)的名稱(chēng)。
  • bases:基類(lèi)的元組。
  • dict:字典,類(lèi)內(nèi)定義的命名空間變量。

返回值

一個(gè)參數(shù)返回對(duì)象類(lèi)型, 三個(gè)參數(shù),返回新的類(lèi)型對(duì)象。

實(shí)例

以下展示了使用 type 函數(shù)的實(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 # 判斷類(lèi)型是否相等
True
# 三個(gè)參數(shù)
>>> class X(object):
... a = 1
...
>>> X = type('X', (object,), dict(a=1)) # 產(chǎn)生一個(gè)新的類(lèi)型 X
>>> X
<class '__main__.X'>

type() 與 isinstance()區(qū)別:

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 內(nèi)置函數(shù) Python 內(nèi)置函數(shù)

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)