www.ymjm.net > Python怎么根据不同的字符串动态选择函数?

Python怎么根据不同的字符串动态选择函数?

#可以用函数字典,看看是否满足你的要求def text_func(self): print "this is text func"def int_func(self): print "this is int_func"gen_func={'text':text_func, 'int':int_func}def choose(a='text'): return gen_func[a]

使用字典,比如下面这样:def funcA(): pass def funcB(): pass def func_None(): print "cannot find func" func_dict = {"a": funcA, "b": funcB} def func(x): return func_dict.get(x, func_None)()在有switch的语言中,一般都是使用switch来根据

以下是示例代码:import random str1='this_a_string_with_several_characters' n=random.randint(0,len(str1)) print(str1[n])#返回一个字符串随机位置的字符 strs=['str1','str2','str3','str4','str5','str6'] n=random.randint(0,len(strs)) print(strs[n])#返回一个字符串数组随机位置的字符串不明白可追问

首先通过一个例子来看一下本文中可能用到的对象和相关概念.#coding: UTF-8import sys # 模块,sys指向这个模块对象import inspectdef foo(): pass # 函数,foo指向这个函数对象class Cat(object): # 类,Cat指向这个类对象def __init__(self,

function="luckywin."+case_name+"."+def_namefunction=eval(function)function(player_id,test_url)function是个字符串,function(player_id,test_url) 这样写肯定不是字符串,怎么能用eval呢,直接eval function返回函数名,然后调用函数

给你这样一个例子吧,这个例子里面有动态增加类的函数.声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数.代码如下所示:class WinBAS(Bas):

目前字符串直接加点的方法没法增加,可行的方法是重载或者扩展类.下面是一个扩展的例子.class string(str): def __init__(self, s): self.s = s def totest(self): print('This is a test.for ' + self.s)if __name__ == '__main__': abc = string('abc') print(abc.split('b')) abc.totest()

A = ["cha", "chb", "chc", "cha123", "chabc", "chc-12345"]B = ["chd", "che", "ch169", "c123"]s = "cha123" # the string you getif s in A: print("A")elif s in B: print("B")else: print("Not in A or B")比较简单的一个例子,把几个同为一类的组成一个列表,然后用in判断字符串是否在对应的列表中有出现.希望对你有所帮助~

代码如下:a="走路回家"b="跑步回家"r=input("请输入a或b:")if r=="a":print(a)elif r=="b":print(b)else:print("原地不动")运行结果截图如下:

这样你看行不?import randoml=[]n=input('你想选几次?')for i in range(n): x=random.randint(1,30) if x in l: continue #这样你就不会选到想同的数了! else: l.append(x)print l 重新改进一下:import randoml=[]n=input('你想选几个?')while n&

友情链接:so1008.com | so1008.com | wlbk.net | zxsg.net | wlbx.net | 网站地图

All rights reserved Powered by www.ymjm.net

copyright ©right 2010-2021。
www.ymjm.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com