#!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])
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐