最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python如何對實例屬性進行類型檢查

 更新時間:2018年03月20日 16:07:38   作者:北門吹雪  
這篇文章主要為大家詳細介紹了python如何對實例屬性進行類型檢查,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了python對實例屬性進行類型檢查的具體代碼,供大家參考,具體內(nèi)容如下

案例:

在某項目中,我們實現(xiàn)了一些類,并希望能像靜態(tài)語言那樣對他們的實例屬性進行類型檢查

              p = Person()

              p.name = ‘xi_xi'          # 必須是str

              p.age = 18                    # 必須是int

              p.height = 1.75               # 必須是float

需求:

    可以對實例變量名指定類型

    賦予不正確類型拋出異常

#!/usr/bin/python3
 
 
class Attr(object):
 """
 對Person類中屬性進行類型檢查
 """
 # 傳入字段名字 + 指定字段類型
 def __init__(self, name, style):
  self.name = name
  self.style = style
  
 # 取值
 def __get__(self, instance, owner):
  return instance.__dict__[self.name]
  
 # 設(shè)值
 def __set__(self, instance, value):
  # 判斷參數(shù)類型是否滿足條件
  if isinstance(value, self.style):
   instance.__dict__[self.name] = value
  else:
   raise TypeError('need type: %s' % self.style)
  
 # 刪除值
 def __delete__(self, instance):
  del instance.__dict__[self.name]
 
 
class Person(object):
 name = Attr('name', str)
 age = Attr('age', int)
 height = Attr('height', float)
  
 
if __name__ == '__main__':
 p = Person()
  
 p.name = 'xi_xi'
 # p.name = 55
 p.age = 18
 p.height = 1.75
 print(p.name, p.age, p.height)
  
 del p.height

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

相關(guān)文章

  • Python正則表達式匹配HTML頁面編碼

    Python正則表達式匹配HTML頁面編碼

    這篇文章主要介紹了Python正則表達式匹配HTML頁面編碼,本文直接給出代碼和匹配實例,需要的朋友可以參考下
    2015-04-04
  • Python實現(xiàn)動態(tài)柱狀圖的繪制

    Python實現(xiàn)動態(tài)柱狀圖的繪制

    這篇文章主要為大家詳細介紹了Python實現(xiàn)動態(tài)柱狀圖的繪制的相關(guān)資料,文中的示例代碼講解詳細,具有一定的學習與借鑒價值,需要的可以參考一下
    2022-12-12
  • 簡單介紹Python中的floor()方法

    簡單介紹Python中的floor()方法

    這篇文章主要介紹了Python中的floor()方法,是Python入門的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • python調(diào)用fortran模塊

    python調(diào)用fortran模塊

    本文給大家介紹的是在Python中調(diào)用fortran代碼,主要是用到了f2py這個程序,十分的實用,有需要的小伙伴可以參考下
    2016-04-04
  • python包和文件夾有的區(qū)別點總結(jié)

    python包和文件夾有的區(qū)別點總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python包和文件夾有的區(qū)別點總結(jié)內(nèi)容,有興趣的朋友們可以學習參考下。
    2021-09-09
  • python構(gòu)建深度神經(jīng)網(wǎng)絡(luò)(續(xù))

    python構(gòu)建深度神經(jīng)網(wǎng)絡(luò)(續(xù))

    這篇文章主要詳細介紹了python構(gòu)建深度神經(jīng)網(wǎng)絡(luò)DNN,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 詳解Vue組件動態(tài)加載有哪些方式

    詳解Vue組件動態(tài)加載有哪些方式

    動態(tài)加載組件可以顯著提高應(yīng)用的性能,優(yōu)化用戶體驗,尤其是在大型應(yīng)用中,合理的組件加載策略尤為重要,本文將探討幾種在Vue中實現(xiàn)組件動態(tài)加載的具體方案,需要的朋友可以參考下
    2024-10-10
  • python 剪切移動文件的實現(xiàn)代碼

    python 剪切移動文件的實現(xiàn)代碼

    移動復(fù)制文件通過os.rename方法,先進行文件是否存在判斷,如需更加復(fù)雜相同文件判斷可以根據(jù)文件屬性進行判斷,此處只使用同名檢查,并刪除已存在文件,來實現(xiàn)覆蓋。這篇文章主要介紹了python 剪切移動文件的實現(xiàn)代碼,需要的朋友可以參考下
    2018-08-08
  • Python利用xmltodict實現(xiàn)字典和xml互相轉(zhuǎn)換的示例代碼

    Python利用xmltodict實現(xiàn)字典和xml互相轉(zhuǎn)換的示例代碼

    xmltodict是一個Python第三方庫,用于處理XML數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 20個Python?random模塊常用函數(shù)的應(yīng)用與代碼示例

    20個Python?random模塊常用函數(shù)的應(yīng)用與代碼示例

    隨機數(shù)在計算機科學和數(shù)據(jù)科學領(lǐng)域中扮演著重要角色,Python的標準庫中提供了random模塊,用于生成各種隨機數(shù),本文將深入探討random模塊的各種函數(shù),以及它們的應(yīng)用場景和代碼示例,需要的可以參考下
    2024-03-03

最新評論

绿春县| 阿勒泰市| 永新县| 萍乡市| 贵溪市| 五指山市| 平塘县| 房产| 瓦房店市| 鞍山市| 宜黄县| 遂宁市| 宝兴县| 留坝县| 丘北县| 镇远县| 雅安市| 冀州市| 安平县| 泸州市| 崇仁县| 陕西省| 建水县| 怀来县| 阆中市| 定襄县| 新田县| 凤山市| 保康县| 渑池县| 罗江县| 吴旗县| 泰和县| 原阳县| 新郑市| 兴文县| 巴中市| 楚雄市| 阿图什市| 车致| 云安县|