2005年02月04日 星期五 09:51
哈哈哈!也是个加强自学的好方法, 原先啄木鸟中的 PyGame 收集算是一个吧! 不过,这样纠缠细节,对于大型项目后期的重构优化有莫大的好处, 但是对于初学则有些舍本逐未是也乎………… On Thu, 3 Feb 2005 21:30:08 +0800, Wang Kebo <mep_ at 163.com> wrote: > > 以下的代码是从limodou的blog上截下来的。不过,总觉得这段代码不是太优雅, > 谁可以想到更加pythonic的实现方式?我觉得这样的讨论,能使我们更加熟悉 > python的特性。 > 如果谁有精力,可以建立一个Python Quiz,类似于Ruby Quiz > http://www.rubyquiz.com/ > 或Perl Quiz, > http://perl.plover.com/qotw/ > 每星期出个小题目大家来讨论,看看怎样才是最优雅的实现方式。 > > > > > def getHomeDir(): > ''' Try to find user's home directory, otherwise return current > directory.''' > try: > path1=os.path.expanduser("~") > except: > path1="" > try: > path2=os.environ["HOME"] > except: > path2="" > try: > path3=os.environ["USERPROFILE"] > except: > path3="" > > if not os.path.exists(path1): > if not os.path.exists(path2): > if not os.path.exists(path3): > return os.getcwd() > else: return path3 > else: return path2 > else: return path1 > > > > > > __ > Best Regards, > Wang Kebo > > HomePage: http://www.huihoo.org/~mep > Blog: http://sharing.blogbus.com > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- [Time is unimportant, only life important!]
2005年02月04日 星期五 10:22
我认为这个问题还是有普遍意义的,这是我的解法,抛砖引玉。
def func1():
raise Exception
return 'func1'
def func2():
return ''
def func3():
return 'func3'
def selectFirstTrue():
for expression in ['func1()','func2()','func3()']:
try:
exec 'result=%s'%expression
except:
continue
if result:
return result
print selectFirstTrue()
Zoom Quiet wrote:
>哈哈哈!也是个加强自学的好方法,
>原先啄木鸟中的 PyGame 收集算是一个吧!
>
>不过,这样纠缠细节,对于大型项目后期的重构优化有莫大的好处,
>但是对于初学则有些舍本逐未是也乎…………
>
>
>On Thu, 3 Feb 2005 21:30:08 +0800, Wang Kebo <mep_ at 163.com> wrote:
>
>
>>
>>以下的代码是从limodou的blog上截下来的。不过,总觉得这段代码不是太优雅,
>>谁可以想到更加pythonic的实现方式?我觉得这样的讨论,能使我们更加熟悉
>>python的特性。
>>如果谁有精力,可以建立一个Python Quiz,类似于Ruby Quiz
>>http://www.rubyquiz.com/
>>或Perl Quiz,
>>http://perl.plover.com/qotw/
>>每星期出个小题目大家来讨论,看看怎样才是最优雅的实现方式。
>>
>>
>>
>>
>>def getHomeDir():
>> ''' Try to find user's home directory, otherwise return current
>>directory.'''
>> try:
>> path1=os.path.expanduser("~")
>> except:
>> path1=""
>> try:
>> path2=os.environ["HOME"]
>> except:
>> path2=""
>> try:
>> path3=os.environ["USERPROFILE"]
>> except:
>> path3=""
>>
>> if not os.path.exists(path1):
>> if not os.path.exists(path2):
>> if not os.path.exists(path3):
>> return os.getcwd()
>> else: return path3
>> else: return path2
>> else: return path1
>>
>>
>>
>>
>>
>>__
>>Best Regards,
>>Wang Kebo
>>
>>HomePage: http://www.huihoo.org/~mep
>>Blog: http://sharing.blogbus.com
>>
>>_______________________________________________
>>python-chinese list
>>python-chinese at lists.python.cn
>>http://python.cn/mailman/listinfo/python-chinese
>>
>>
>>
>>
>>
>
>
>
>
Zeuux © 2025
京ICP备05028076号