python的一些技巧

python的一些技巧

学过C言语的同窗,或者看过《C言语从入门到放弃》这本书的同窗一定不会对“三目操作符”这种画面感十足的操作符感到生疏。

但是,直到我完成python小学一年级课程的时分才发现原来python也有相似的东西。比方:

def foo(val):

if val == 42:
   return "you are a programmer!"
else:
   return "you are a manong!"

或者你也能够这样写:

def foo(val):

  return "you are a programmer!" if val == 42 else "you are a manong!"

讲道理的话,这个应该是一个坑,而非装逼技巧。由于撸主当年是从C++党转学python的,刚开端写代码总喜欢这样:

if isinstance('c', CPlusPlus):
assert(isinstance('python', CPlusPlus)
更变态的时分以至这样:

assert(type('C++') == CPlusPlus)
比方如下一个简单的例子:我需求将一个字符串列表中一切满足包含“result"字段的字符串挑选出来。

低年级的同窗可能会这么做:

def foo(xxx):

  result_list = list()
  for ele in org_list:
       if "result" in ele:
            result_list.append(ele)

BUT,这样做“一点都不酷!”。要酷还得靠装逼:

result_list = filter(lambda ele : "result" in ele, org_list)
不信的话,你就去试试咯:

map(lambda ele : ele + 1, (1, 2, 3, 4))
reduce(lambda x,y:x+y, range(3))

你可能感兴趣的:(python)