#反射 *****
# name = 'alex'
# 'name'
class teacher:
dic =
def show_student(self):
print('show_student')
def show_teacher(self):
print('show_teacher')
@classmethod
def func(cls):
print('hahaha')
alex = teacher()
for k in teacher.dic:
print(k)
key = input('輸入需求 :')
# print(teacher.dic[key])
if hasattr(alex,teacher.dic[key]):
func = getattr(alex,teacher.dic[key])
func()
# # alex.show_student() 'show_student'
# func = getattr(alex,'show_student')
# func()
# hasattr getattr delattr
# if hasattr(teacher,'dic'):
# ret = getattr(teacher,'dic') # teacher.dic # 類也是物件
# # ret2 = getattr(teacher,'func') # 類.方法 teacher.func
# # ret2()
# print(ret)
# menu = teacher.dic
# for k in menu:
# print(k)
# 通過反射
# 物件名 獲取物件屬性 和 普通方法
# 類名 獲取靜態屬性 和類方法 和 靜態方法
# 普通方法 self
# 靜態方法 @staticmethod
# 類方法 @classmethod
# 屬性方法 @property
# 繼承
# 封裝的
python基礎學習 反射
所謂的反射,就是通過字串去訪問類或物件成員,比如如果乙個student類有乙個name物件屬性,那麼就可以通過乙個 name 字串去訪問student物件的name屬性 如python可以通過hasattr 函式來獲取乙個物件是否有某個屬性 class student def init self,n...
python基礎7 3 反射
反射相關的四個函式hasattr getattr setattr delattr,下面分別來演示每乙個函式的用法。author mr.xue 2019.10.30 class dog object def init self,name self.name name defeat self print...
python基礎 反射和異常
反射 通俗的說就是你給乙個字串,我就能匹配到和字串相同的函式進行呼叫 反射舉例說明 def bulk self print s is yelling self.name class dog object def init self,name self.name name defeat self,fo...