欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python如何對(duì)實(shí)例屬性進(jìn)行類型檢查

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

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

案例:

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

              p = Person()

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

              p.age = 18                    # 必須是int

              p.height = 1.75               # 必須是float

需求:

    可以對(duì)實(shí)例變量名指定類型

    賦予不正確類型拋出異常

#!/usr/bin/python3
 
 
class Attr(object):
 """
 對(duì)Person類中屬性進(jìn)行類型檢查
 """
 # 傳入字段名字 + 指定字段類型
 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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python 實(shí)現(xiàn)list或string按指定分段

    python 實(shí)現(xiàn)list或string按指定分段

    今天小編就為大家分享一篇python 實(shí)現(xiàn)list或string按指定分段,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • 用python打開(kāi)攝像頭并把圖像傳回qq郵箱(Pyinstaller打包)

    用python打開(kāi)攝像頭并把圖像傳回qq郵箱(Pyinstaller打包)

    這篇文章主要介紹了用python打開(kāi)攝像頭并把圖像傳回qq郵箱,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 使用FFmpeg來(lái)無(wú)損壓縮視頻文件的操作方法

    使用FFmpeg來(lái)無(wú)損壓縮視頻文件的操作方法

    FFmpeg是業(yè)內(nèi)有名的開(kāi)源圖像視頻處理程序,在許多視頻剪輯軟件、圖像處理軟件中,都使用的FFmpeg,還有比如OBS這樣的導(dǎo)播軟件里面也使用了FFmpeg,FFmpeg的功能十分強(qiáng)大,遠(yuǎn)不止視頻壓縮的功能,本文介紹使用FFmpeg來(lái)無(wú)損壓縮視頻文件的操作方法,感興趣的朋友一起看看吧
    2023-12-12
  • python集合的創(chuàng)建、添加及刪除操作示例

    python集合的創(chuàng)建、添加及刪除操作示例

    這篇文章主要介紹了python集合的創(chuàng)建、添加及刪除操作,結(jié)合實(shí)例形式分析了Python集合的概念、功能及針對(duì)集合的創(chuàng)建、添加與刪除等相關(guān)操作實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-10-10
  • Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用

    Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用

    這篇文章主要介紹了Python如何生成隨機(jī)數(shù)及random隨機(jī)數(shù)模塊應(yīng)用,首先我們要知道在python中用于生成隨機(jī)數(shù)的模塊是random,在使用前需要import。由此展開(kāi)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-06-06
  • Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程

    Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程

    用Pyhton自帶的urllib或urllib2模塊抓取網(wǎng)頁(yè)或許有些陳詞濫調(diào)了,今天我們就來(lái)玩兒些新鮮的,來(lái)看Python使用lxml模塊和Requests模塊抓取HTML頁(yè)面的教程:
    2016-05-05
  • 詳解python tcp編程

    詳解python tcp編程

    這篇文章主要介紹了python tcp編程的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python tcp編程,感興趣的朋友可以了解下
    2020-08-08
  • python實(shí)現(xiàn)全排列代碼(回溯、深度優(yōu)先搜索)

    python實(shí)現(xiàn)全排列代碼(回溯、深度優(yōu)先搜索)

    今天小編就為大家分享一篇python實(shí)現(xiàn)全排列代碼(回溯、深度優(yōu)先搜索),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • python如何從文件讀取數(shù)據(jù)及解析

    python如何從文件讀取數(shù)據(jù)及解析

    這篇文章主要介紹了python如何從文件讀取數(shù)據(jù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python計(jì)算庫(kù)numpy進(jìn)行方差/標(biāo)準(zhǔn)方差/樣本標(biāo)準(zhǔn)方差/協(xié)方差的計(jì)算

    Python計(jì)算庫(kù)numpy進(jìn)行方差/標(biāo)準(zhǔn)方差/樣本標(biāo)準(zhǔn)方差/協(xié)方差的計(jì)算

    今天小編就為大家分享一篇關(guān)于Python計(jì)算庫(kù)numpy進(jìn)行方差/標(biāo)準(zhǔn)方差/樣本標(biāo)準(zhǔn)方差/協(xié)方差的計(jì)算,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12

最新評(píng)論