Clojure到Python:类似str的fn中的可选元素
Clojure版本:Clojure到Python:类似str的fn中的可选元素,python,clojure,Python,Clojure,Clojure版本: (defn问候语[&[name]] (条件->“你好”名称(str“名称”) 朴素Python版本: def问候语(name=None): 如果名称为“无”: 名称=“” 其他:名称=“”+名称 返回“Hello”+name 问题:如何使python版本更短、更地道 def greeting(name=''): return f'Hello {name}'.strip() 如果默认参数为None: def greeting(name=None): r
(defn问候语[&[name]]
(条件->“你好”名称(str“名称”)
朴素Python版本:
def问候语(name=None):
如果名称为“无”:
名称=“”
其他:名称=“”+名称
返回“Hello”+name
问题:如何使python版本更短、更地道
def greeting(name=''):
return f'Hello {name}'.strip()
如果默认参数为None
:
def greeting(name=None):
return f'Hello {name}' if name else 'Hello'
如果默认参数为None
:
def greeting(name=None):
return f'Hello {name}' if name else 'Hello'
返回“Hello”+name if name else“Hello”
返回“Hello”+name if name else“Hello”挑剔:Clojure版本在显式传递nil
时也会返回Hello
——假设OPs使用None
作为参数,这将返回Hello None
@cfrick您是对的,为suc添加了变量h caseNitpick:Clojure版本在显式传递nil
时也将返回Hello
——假设OPs使用None
作为arg,这将返回Hello None
@cfrick you is right,为这种情况添加了变量