Python学习基础笔记六十一——反射

例1:

class Teacher:
    dic = {查看学生信息: , 查看讲师信息: }

    def show_student(self):
        print(show student)

    def show_teacher(self):
        print(show teacher)

    @classmethod
    def func(cls):
        print(class method!)


# hasattr getattr delattr

ret = getattr(Teacher, dic)
print(ret)

ret2 = getattr(Teacher, func)
ret2()

例2:

class Teacher:
    dic = {查看学生信息: , 查看讲师信息: }

    def show_student(self):
        print(show student)

    def show_teacher(self):
        print(show teacher)

    @classmethod
    def func(cls):
        print(class method!)


# hasattr getattr delattr

if hasattr(Teacher, dic):
    ret = getattr(Teacher, dic)
    print(ret)

例3:

class Teacher:
    dic = {查看学生信息: show_student, 查看讲师信息: show_teacher}

    def show_student(self):
        print(show student)

    def show_teacher(self):
        print(show teacher)

    @classmethod
    def func(cls):
        print(class method!)


# hasattr getattr delattr

alex = Teacher()

for k in Teacher.dic:
    print(k)

key = input(输入需求: )

if hasattr(alex, Teacher.dic[key]):
    func = getattr(alex, Teacher.dic[key])
    func()

网络编程,反射将非常好用。

# 对象名获取对象属性和普通方法

# 类名获取静态属性和类方法和静态方法

# 普通方法 self

# 静态方法: @staticmethod

# 类方法: @classmethod

# 属性方法 @property

# 继承

# 封装

经验分享 程序员 微信小程序 职场和发展