程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python magic method (13):__ setattr __ (self, key, value) method

編輯:Python

Python There are some magical ways to do it , They are always surrounded by double underscores , They are object-oriented Of Python Everything . They are special ways to add magic to your classes , If your object implements ( heavy load ) A magic method , Then this method will be automatically used in special cases Python The call .

function

This method defines when a property is set ( Create or modify ) The behavior of time

Parameters

self Represents the object itself ;key Is a string , Represents the name of the attribute ;value Represents the value of the attribute .

Return value

nothing

Example

class MyTest:
def __setattr__(self, key, value):
self.__dict__[key] = value
sample = MyTest()
sample.age = 10
print(sample.__dict__)

The behavior when a property is set When assigning values to each property of a class instance , Will be called first  __setattr__()  Method , And in  __setattr__()  Method to add the property name and property value to the class instance  __dict__  Properties of the . The following example :

class Animal(object):
def __init__(self, name, age):
print(self.__dict__)
self.name = name
print(self.__dict__)
self.age = age
print(self.__dict__)
dog = Animal('kitty', 20)

Execution results :

{}
{'name': 'kitty'}
{'name': 'kitty', 'age': 20}

Example , Although not overloaded  __setattr__()  Method , But in calling  __init__()  Method to assign a value to an attribute __dict__  Insert... In turn key and value.


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved