电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

什么是python類屬性

瀏覽:2日期:2022-07-21 16:54:16

首先我們來看一下屬性的定義

屬性的定義:python中的屬性其實是普通方法的衍生。

操作類屬性有三種方法:

1.使用@property裝飾器操作類屬性。

2.使用類或實例直接操作類屬性(例如:obj.name,obj.age=18,del obj.age)

3.使用python內置函數操作屬性。

屬性存在的意義:

1、訪問屬性時可以制造出和訪問字段完全相同的假象,屬性由方法衍生而來,如果Python中沒有屬性,方法完全可以代替其功能。

2、定義屬性可以動態獲取某個屬性值,屬性值由屬性對應的方式實現,應用更靈活。

3、可以制定自己的屬性規則,用于防止他人隨意修改屬性值。

下面詳細介紹三種操作類屬性的方法:

1.使用@property裝飾器操作類屬性。

定義時,在普通方法的基礎上添加@property裝飾器;屬性僅有一個self參數,調用時無需括號;

優點:

1) @property裝飾器可以實現其他語言所擁有的getter,setter和deleter的功能(例如實現獲取,設置,刪除隱藏的屬性)

2) 通過@property裝飾器可以對屬性的取值和賦值加以控制,提高代碼的穩定性。

實例代碼1:

#encoding=utf-8 class Goods(): #新式類 @property def price(self): #查看屬性值 print (’@property ’) @price.setter #修改、設置屬性 def price(self, value): print (’@price.setter’ ) @price.deleter#刪除屬性 def price(self): print (’@price.deleter’) obj = Goods(50) obj.price# 自動執行 @property 修飾的 price 方法,并獲取方法的返回值 obj.price = 2000 # 自動執行 @price.setter 修飾的 price 方法,并將2000賦值給方法的參數del obj.price # 自動執行 @price.deleter 修飾的 price 方法 結果輸出:@property@price.setter@price.deleter

實例代碼2:通過@property裝飾器對屬性的取值和賦值加以控制

class Goods(object): def __init__(self): self.value=50 @property def price(self): # 查看屬性 return self.value @price.setter # 添加或設置屬性(屬性名.setter) def price(self, value): if value >=50 and value<=100: #對屬性的取值和賦值加以控制 self.value=value print (self.value) else: print ('請輸入一個50到100之間的數!') @price.deleter # 刪除屬性(屬性名.deleter) 注意:屬性一旦刪除,就無法設置和獲取 def price(self): del self.value print ('price is deleted!') obj = Goods()print (obj.price) # 自動執行 @property 修飾的 price 方法,并獲取方法的返回值obj.price=106 # 自動執行 @price.setter 修飾的 price 方法,并將106 賦值給方法del obj.price # 自動執行 @price.deleter 修飾的 price 方法結果輸出:50請輸入一個50到100之間的數!price is deleted!

實例擴展:

class Dog(object): name = ’dog’ def init(self): self.age = 18 d1 = Dog()d2 = Dog()

這里有兩個實例 d1,d2 吧。

d1.name # 輸出 dogd2.name # 輸出 dogd1.name = ’abc’d1.name # 輸出 abcd2.name # 輸出 dogDog.name # 輸出 dog

原因是 d1.name 輸出 dog 不是因為這個實例共享了類屬性,而是因為這個實例沒有 dog 屬性,所以 python 查找了類屬性。但是一旦你修改了 d1.name 相當于給 d1 實例綁定了 name 屬性之后,d1.name 就與類屬性無關了。既然這樣就談不上實例之間共享類屬性了,因為只要一賦值,就相當于綁定了屬性,則上述 d1.name 的含義和 d2.name 的含義就不同了,它們的值也不同,很明顯它們的數據沒有共享。

到此這篇關于什么是python類屬性的文章就介紹到這了,更多相關python類屬性是什么內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 膜片万向弹性联轴器-冲压铸造模具「沧州昌运模具」 | 上海恒驭仪器有限公司-实验室平板硫化机-小型平板硫化机-全自动平板硫化机 | 除尘器布袋骨架,除尘器滤袋,除尘器骨架,电磁脉冲阀膜片,卸灰阀,螺旋输送机-泊头市天润环保机械设备有限公司 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 企小优-企业数字化转型服务商_网络推广_网络推广公司 | 光栅尺厂家_数显表维修-苏州泽升精密机械 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 强效碱性清洗剂-实验室中性清洗剂-食品级高纯氮气发生器-上海润榕科学器材有限公司 | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 | 电力电子产业网| 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 聚氨酯催化剂K15,延迟催化剂SA-1,叔胺延迟催化剂,DBU,二甲基哌嗪,催化剂TMR-2,-聚氨酯催化剂生产厂家 | 大型果蔬切片机-水果冬瓜削皮机-洗菜机切菜机-肇庆市凤翔餐饮设备有限公司 | 钢板仓,大型钢板仓,钢板库,大型钢板库,粉煤灰钢板仓,螺旋钢板仓,螺旋卷板仓,骨料钢板仓 | 水篦子|雨篦子|镀锌格栅雨水篦子|不锈钢排水篦子|地下车库水箅子—安平县云航丝网制品厂 | 上海璟文空运首页_一级航空货运代理公司_机场快递当日达 | 船老大板材_浙江船老大全屋定制_船老大官网 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 北京租车牌|京牌指标租赁|小客车指标出租 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 算命免费_生辰八字_免费在线算命 - 卜算子算命网 | 抓斗式清污机|螺杆式|卷扬式启闭机|底轴驱动钢坝|污水处理闸门-方源水利机械 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 厚壁钢管-厚壁无缝钢管-小口径厚壁钢管-大口径厚壁钢管 - 聊城宽达钢管有限公司 | 喷涂流水线,涂装流水线,喷漆流水线-山东天意设备科技有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 散热器-电子散热器-型材散热器-电源散热片-镇江新区宏图电子散热片厂家 | 带式过滤机厂家_价格_型号规格参数-江西核威环保科技有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 工业淬火油烟净化器,北京油烟净化器厂家,热处理油烟净化器-北京众鑫百科 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 招商帮-一站式网络营销服务|互联网整合营销|网络推广代运营|信息流推广|招商帮企业招商好帮手|搜索营销推广|短视视频营销推广 | 对辊式破碎机-对辊制砂机-双辊-双齿辊破碎机-巩义市裕顺机械制造有限公司 | 深圳市八百通智能技术有限公司官方网站| 10吨无线拉力计-2吨拉力计价格-上海佳宜电子科技有限公司 |