#!usr/bin/env python
# -*- coding: utf-8 -*-
import random
import sys
'''
随机执行几个函数,函数可以执行不一样的功能
hasattr() 函数用于判断对象是否包含对应的属性。 如果对象有该属性返回 True,否则返回 False。
getattr() 函数用于返回一个对象属性值。 返回对象属性值。
'''
def a(x, y):
print "x + y"
return x + y
def b(x, y):
print "x - y"
return x - y
def c(x, y, z):
print "x + y - z"
return x + y - z
if __name__ == '__main__':
d = [('a', [3, 2]), ('b', [3, 2]), ('c', [3, 2, 1])]
choice = random.choice(d)
this_module = sys.modules[__name__] # 当前文件
# getattr(this_module, choice[0]) # 含义是找到当前文件下名称为a的对象
print getattr(this_module, choice[0])(*choice[1])
随机某个类的某个函数
#!usr/bin/env python
# -*- coding: utf-8 -*-
import random
'''
随机执行某个类的某个函数,这里弄不好了,暂时想到的办法是多弄几个列表,然后分开随机,再随机上次随机的结果。
谁有好的办法给我留一下言,我学习一下。--昨天今天下雨天
'''
class A(object):
def a(self, x, y):
print "x + y"
return x + y
class B(A):
def b(self, x, y):
print "x - y"
return x - y
class C(A):
def c(self, x, y, z):
print "x + y - z"
return x + y - z
class D(B, C):
def d(self, x, y, z):
print "x - y - z"
return x - y - z
if "__main__" == __name__:
d = [('a', [3, 2]), ('c', [3, 2, 1])]
choice = random.choice(d)
print getattr(C(), choice[0])(*choice[1])
所有评论(0)