2007年07月17日 星期二 15:16
¾ÍÊÇÅжϽÐij¸öÃû×ֵĺ¯ÊýÊÇ·ñ´æÔÚ¡£ ÁíÍâ¾ÍÊÇÓÐûÓÐÀàËÆPHPÖÐcall_user_func_arrayµÄº¯Êý£¿ -- Zhang Xiao Engineer, Web development Ethos Tech. http://www.ethos.com.cn -------------- 下一部分 -------------- Ò»¸öHTML¸½¼þ±»ÒƳý... URL: http://python.cn/pipermail/python-chinese/attachments/20070717/95f29982/attachment.htm
2007年07月17日 星期二 15:27
On 7/17/07, Xell Zhang <xellzhang在gmail.com> wrote: > 就是判断叫某个名字的函数是否存在。 > > 另外就是有没有类似PHP中call_user_func_array的函数? > 可以考虑使用try/except来保护一下,另外如果是类的方法,可以使用hasattr,如果是全局方法,可以在func in globals()进行判断。 -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
2007年07月17日 星期二 17:03
ÊÇÕâÑùµÄ£¬±ÈÈçÓû§ÊäÈëfunction_name =
'hell'£¬ÎÒÏëÅжÏÊÇ·ñÓк¯Êý½Ð×ösay_hello£¬ÔÚphpÖÐÎÒ¿ÉÒÔÓÃfunction_exists('say' +
function_name)À´ÅжÏÕâ¸öº¯ÊýÊÇ·ñ´æÔÚ£¬Èç¹û´æÔÚ£¬ÎÒ¿ÉÒÔÓÃcall_user_func_array('say' +
function_name)À´µ÷ÓÃÕâ¸öº¯Êý¡£
pythonÄÜ×öÀàËÆµÄÊÂÇéÂð£¿
On 7/17/07, limodou <limodou在gmail.com> wrote:
>
> On 7/17/07, Xell Zhang <xellzhang在gmail.com> wrote:
> > ¾ÍÊÇÅжϽÐij¸öÃû×ֵĺ¯ÊýÊÇ·ñ´æÔÚ¡£
> >
> > ÁíÍâ¾ÍÊÇÓÐûÓÐÀàËÆPHPÖÐcall_user_func_arrayµÄº¯Êý£¿
> >
> ¿ÉÒÔ¿¼ÂÇʹÓÃtry/exceptÀ´±£»¤Ò»Ï£¬ÁíÍâÈç¹ûÊÇÀàµÄ·½·¨£¬¿ÉÒÔʹÓÃhasattr£¬Èç¹ûÊÇÈ«¾Ö·½·¨£¬¿ÉÒÔÔÚfunc in
> globals()½øÐÐÅжϡ£
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
--
Zhang Xiao
Engineer, Web development
Ethos Tech.
http://www.ethos.com.cn
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20070717/dce57ab1/attachment.htm
2007年07月17日 星期二 17:08
On 7/17/07, Xell Zhang <xellzhang在gmail.com> wrote: > 是这样的,比如用户输入function_name = > 'hell',我想判断是否有函数叫做say_hello,在php中我可以用function_exists('say' > + > function_name)来判断这个函数是否存在,如果存在,我可以用call_user_func_array('say' > + function_name)来调用这个函数。 > > python能做类似的事情吗? 咔咔咔! 你print dir() 看一下就知道怎么作了 ;) > > On 7/17/07, limodou <limodou在gmail.com> wrote: > > On 7/17/07, Xell Zhang <xellzhang在gmail.com> wrote: > > > 就是判断叫某个名字的函数是否存在。 > > > > > > 另外就是有没有类似PHP中call_user_func_array的函数? > > > > > > 可以考虑使用try/except来保护一下,另外如果是类的方法,可以使用hasattr,如果是全局方法,可以在func > in globals()进行判断。 > > > > -- > > I like python! > > UliPad <>: > http://wiki.woodpecker.org.cn/moin/UliPad > > My Blog: http://www.donews.net/limodou > > _______________________________________________ > > python-chinese > > Post: send python-chinese在lists.python.cn > > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > > > > -- > Zhang Xiao > > Engineer, Web development > > Ethos Tech. > http://www.ethos.com.cn > _______________________________________________ > python-chinese > Post: send python-chinese在lists.python.cn > Subscribe: send subscribe to > python-chinese-request在lists.python.cn > Unsubscribe: send unsubscribe to > python-chinese-request在lists.python.cn > Detail Info: > http://python.cn/mailman/listinfo/python-chinese > -- '''Time is unimportant, only life important! http://zoomquiet.org blog在http://blog.zoomquiet.org/pyblosxom/ wiki在http://wiki.woodpecker.org.cn/moin/ZoomQuiet scrap在http://floss.zoomquiet.org douban在http://www.douban.com/people/zoomq/ ____________________________________ Pls. use OpenOffice.org to replace M$ Office. http://zh.openoffice.org Pls. use 7-zip to replace WinRAR/WinZip. http://7-zip.org/zh-cn/ You can get the truely Freedom 4 software. '''
2007年07月17日 星期二 17:22
def str2func(str):
try:
func = eval(str)
except NameError, e:
return None
if callable(func):
return func
return None
print str2func('dir') #
print str2func('hello') # None
Xell Zhang 写道:
> 是这样的,比如用户输入function_name = 'hell',我想判断是否有函数叫做
> say_hello,在php中我可以用function_exists('say' + function_name)来判断
> 这个函数是否存在,如果存在,我可以用call_user_func_array('say' +
> function_name)来调用这个函数。
>
> python能做类似的事情吗?
>
> On 7/17/07, *limodou* <limodou在gmail.com limodou在gmail.com>>
> wrote:
>
> On 7/17/07, Xell Zhang <xellzhang在gmail.com
> xellzhang在gmail.com>> wrote:
> > 就是判断叫某个名字的函数是否存在。
> >
> > 另外就是有没有类似PHP中call_user_func_array的函数?
> >
> 可以考虑使用try/except来保护一下,另外如果是类的方法,可以使用
> hasattr,如果是全局方法,可以在func in globals()进行判断。
>
> --
> I like python!
> UliPad <>:
> http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> python-chinese在lists.python.cn>
> Subscribe: send subscribe to
> python-chinese-request在lists.python.cn
> python-chinese-request在lists.python.cn>
> Unsubscribe: send unsubscribe to
> python-chinese-request在lists.python.cn
> python-chinese-request在lists.python.cn>
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
2007年07月17日 星期二 17:34
On 7/17/07, Xell Zhang <xellzhang在gmail.com> wrote: > 是这样的,比如用户输入function_name = > 'hell',我想判断是否有函数叫做say_hello,在php中我可以用function_exists('say' > + > function_name)来判断这个函数是否存在,如果存在,我可以用call_user_func_array('say' > + function_name)来调用这个函数。 > > python能做类似的事情吗? > 可以使用 func = globals().get('say'+function_name, None) if func and callable(func): func(arg) -- I like python! UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad My Blog: http://www.donews.net/limodou
Zeuux © 2025
京ICP备05028076号