反射与面向对象

一、什么是反射

一、反射
  通过字符串的形式,导入模块
  通过字符串的形式,去模块中寻找指定的函数,并执行

  __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内部传递

 

posted @ 2020-06-21 11:10  H年轻的心  阅读(6)  评论(0)    收藏  举报