反射与面向对象
一、什么是反射
一、反射
通过字符串的形式,导入模块
通过字符串的形式,去模块中寻找指定的函数,并执行
__import__
反射:以字符串的形式,去操作对象的成员
import commons
target_func = getattr(commons, 'f1')
target_func()
1 #! /usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author:Alex Wen 4 5 6 7 inp = input("你想导入的函数:") 8 inp_func = input("你想执行的函数:") 9 10 f = __import__(inp) 11 # import commons as f 12 # result = f.func1() 13 # print(result) 14 r = getattr(f, inp_func) 15 # result = getattr(f, inp_func)() 16 # print(result) 17 ret = r() 18 print(ret)
二、面向对象:
1、面向对象不是所有情况都适用,在多个方法需要同时用到多个元素时,则可以使用
2、面向对象编程
a.定义类
class Foo:
def 方法1(self, arg):
pass
b.创建类对象(创建类的示例)
使用对象(示例)去执行类中的方法
class Oldboy:
def fetch(self, backend):
print(backend)
def add_record(self, backend, record):
pass
# 创建对象
obj = Oldboy()
obj.fetch('bbb') #python内部把obj传给了self
3、self,形式参数,python内部传递

浙公网安备 33010602011771号