擅长:python、mysql、java
<p>我将向您展示一些示例,我相信这些示例将帮助您理解Python的特性。你知道吗</p>
<pre><code>def calc(func, a, b):
return func(a, b)
def add(a, b):
return a + b
def sub(a, b):
return a - b
print(calc(add, 2, 2)) # 4
print(calc(sub, 42, 1)) # 41
</code></pre>
<p>就这样。你可以传递某个函数作为另一个函数的参数,或者把它存储在某个变量中然后调用它等等。这确实很有用,但有点不寻常。你知道吗</p>
<p>顺便说一句,我最喜欢使用这个特性:用dictionary代替(missing)<code>switch .. case</code>操作符。像这样:</p>
<pre><code>def get_serialized_value(obj):
serializer = {
Article: article_brief_serialize,
RichTextArticle: rich_text_article_brief_serialize,
Gallery: gallery_serialize
}.get(type(obj))
return serializer(obj).data if serializer else None
# what was replaced by the code above..
def get_serialized_value(obj):
if type(obj) == Article:
return article_brief_serialize(obj)
elif type(obj) == RichTextArticle:
return rich_text_article_brief_serialize(obj)
elif type(obj) == Gallery:
return gallery_serialize(obj)
else:
return None
</code></pre>