亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python基于內置函數(shù)type創(chuàng)建新類型

 更新時間:2020年10月22日 09:57:15   作者:lincappu  
這篇文章主要介紹了Python基于內置函數(shù)type創(chuàng)建新類型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

英文文檔:

class type(object)

class type(name, bases, dict)

With one argument, return the type of an object. The return value is a type object and generally the same object as returned by object.__class__.

The isinstance() built-in function is recommended for testing the type of an object, because it takes subclasses into account.

With three arguments, return a new type object. This is essentially a dynamic form of the class statement. The namestring is the class name and becomes the __name__ attribute; the bases tuple itemizes the base classes and becomes the __bases__ attribute; and the dict dictionary is the namespace containing definitions for class body and is copied to a standard dictionary to become the __dict__ attribute.

  返回對象的類型,或者根據(jù)傳入的參數(shù)創(chuàng)建一個新的類型

說明:

  1. 函數(shù)只傳入一個參數(shù)時,返回參數(shù)對象的類型。 返回值是一個類型對象,通常與對象.__ class__返回的對象相同。

#定義類型A
>>> class A:
  name = 'defined in A'

#創(chuàng)建類型A實例a
>>> a = A()

#a.__class__屬性
>>> a.__class__
<class '__main__.A'>

#type(a)返回a的類型
>>> type(a)
<class '__main__.A'>

#測試類型
>>> type(a) == A
True

 2. 雖然可以通過type函數(shù)來檢測一個對象是否是某個類型的實例,但是更推薦使用isinstance函數(shù),因為isinstance函數(shù)考慮了父類子類間繼承關系。

#定義類型B,繼承A
>>> class B(A):
  age = 2

#創(chuàng)建類型B的實例b
>>> b = B()

#使用type函數(shù)測試b是否是類型A,返回False
>>> type(b) == A
False

#使用isinstance函數(shù)測試b是否類型A,返回True
>>> isinstance(b,A)
True

 3. 函數(shù)另一種使用方式是傳入3個參數(shù),函數(shù)將使用3個參數(shù)來創(chuàng)建一個新的類型。其中第一個參數(shù)name將用作新的類型的類名稱,即類型的__name__屬性;第二個參數(shù)是一個元組類型,其元素的類型均為類類型,將用作新創(chuàng)建類型的基類,即類型的__bases__屬性;第三個參數(shù)dict是一個字典,包含了新創(chuàng)建類的主體定義,即其值將復制到類型的__dict__屬性中。

#定義類型A,含有屬性InfoA
>>> class A(object):
  InfoA = 'some thing defined in A'

#定義類型B,含有屬性InfoB
>>> class B(object):
  InfoB = 'some thing defined in B'

#定義類型C,含有屬性InfoC
>>> class C(A,B):
  InfoC = 'some thing defined in C'

#使用type函數(shù)創(chuàng)建類型D,含有屬性InfoD
>>> D = type('D',(A,B),dict(InfoD='some thing defined in D'))

#C、D的類型
>>> C
<class '__main__.C'>
>>> D
<class '__main__.D'>

#分別創(chuàng)建類型C、類型D的實例
>>> c = C()
>>> d = D()

#分別輸出實例c、實例b的屬性
>>> (c.InfoA,c.InfoB,c.InfoC)
('some thing defined in A', 'some thing defined in B', 'some thing defined in C')
>>> (d.InfoA,d.InfoB,d.InfoD)
('some thing defined in A', 'some thing defined in B', 'some thing defined in D')

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 使用Python可設置抽獎者權重的抽獎腳本代碼

    使用Python可設置抽獎者權重的抽獎腳本代碼

    這篇文章主要介紹了Python可設置抽獎者權重的抽獎腳本,抽獎系統(tǒng)包含可給不同抽獎者設置不同的權重,先從價值高的獎品開始抽,已經中獎的人,不再參與后續(xù)的抽獎,本文通過實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-11-11
  • python獲取多線程及子線程的返回值

    python獲取多線程及子線程的返回值

    這篇文章主要介紹了python獲取多線程及子線程的返回值的相關資料,需要的朋友可以參考下
    2017-11-11
  • Python設計模式之抽象工廠模式原理與用法詳解

    Python設計模式之抽象工廠模式原理與用法詳解

    這篇文章主要介紹了Python設計模式之抽象工廠模式,簡單講述了抽象工廠模式的概念、原理并結合實例形式分析了Python實現(xiàn)與使用抽象工廠模式的相關操作技巧,需要的朋友可以參考下
    2019-01-01
  • python+selenium實現(xiàn)QQ郵箱自動發(fā)送功能

    python+selenium實現(xiàn)QQ郵箱自動發(fā)送功能

    這篇文章主要為大家詳細介紹了python+selenium實現(xiàn)QQ郵箱自動發(fā)送功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • Python?Pandas中缺失值NaN的判斷,刪除及替換

    Python?Pandas中缺失值NaN的判斷,刪除及替換

    缺失值是指數(shù)據(jù)集中的某些觀察存在遺漏的指標值,缺失值的存在同樣會影響到數(shù)據(jù)剖析和挖掘的效果,下面這篇文章主要給大家介紹了關于Python?Pandas中缺失值NaN的判斷,刪除及替換的相關資料,需要的朋友可以參考下
    2022-01-01
  • Python threading多線程編程實例

    Python threading多線程編程實例

    這篇文章主要介紹了Python threading多線程編程實例,本文講解了使用函數(shù)和線程類實現(xiàn)多線程編程的例子,需要的朋友可以參考下
    2014-09-09
  • 解析python高級異常和運算符重載

    解析python高級異常和運算符重載

    異常是一個事件,該事件會在程序執(zhí)行過程中發(fā)生,影響了程序的正常執(zhí)行。 運算符重載,意味著在某個類的方法中攔截內置的操作,當類的實例出現(xiàn)在內置操作中,Python會調用你的方法,并且方法的返回值會作為相應操作的結果。本文主要介紹了python的高級異常和運算符重載
    2021-06-06
  • python中json.dumps()和json.loads()的用法

    python中json.dumps()和json.loads()的用法

    json.dumps()和json.loads()?json.dumps()用于將字典形式轉換為字符串,下面這篇文章主要給大家介紹了關于python中json.dumps()和json.loads()用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • django模板獲取list中指定索引的值方式

    django模板獲取list中指定索引的值方式

    這篇文章主要介紹了django模板獲取list中指定索引的值方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • 解決python 執(zhí)行shell命令無法獲取返回值的問題

    解決python 執(zhí)行shell命令無法獲取返回值的問題

    這篇文章主要介紹了解決python 執(zhí)行shell命令無法獲取返回值的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12

最新評論