1. 程式人生 > >__getattribute__(self, obj) 這個方法中的obj這個參數

__getattribute__(self, obj) 這個方法中的obj這個參數

pre pri gpo div 訪問 attribute pytho ini ()

class Itcast(object):
def __init__(self, subject1):
self.subject1 = subject1
print("^^^^^^^-------%s" %self.subject1)
self.subject2 = ‘cpp‘

def __getattribute__(self, obj):
print("===========1============")
print("-------%s" %obj)
if obj == ‘subject1‘:

print(‘log subject1‘)
return ‘redirect python‘
else:
return object.__getattribute__(self,obj)

def show(self):
print(‘this is Itcast‘)

s = Itcast(‘python‘)
#print(s.subject1)
s.show()
#print(s.subject2)
===============================================

===========1============
-------subject1
log subject1
^^^^^^^-------redirect python
===========1============
-------show
this is Itcast

這個方法是在我們訪問類的屬性或方法時自動調用(在我們訪問屬性前調用)

這個方法中有個參數obj 會指向我們訪問的屬性名和方法名

__getattribute__(self, obj) 這個方法中的obj這個參數