Clojure 到 Python:str 中的可选元素,如 fn
Clojure to Python: optional element in str like fn
Clojure 版本:
(defn greeting [& [name]]
(cond-> "Hello" name (str " " name))
朴素 Python 版本:
def greeting(name=None):
if name is None:
name = ''
else: name = ' ' + name
return 'Hello' + name
问题:如何使 python 版本更短更地道?
def greeting(name=''):
return f'Hello {name}'.strip()
如果使用 None
作为默认参数:
def greeting(name=None):
return f'Hello {name}' if name else 'Hello'
Clojure 版本:
(defn greeting [& [name]]
(cond-> "Hello" name (str " " name))
朴素 Python 版本:
def greeting(name=None):
if name is None:
name = ''
else: name = ' ' + name
return 'Hello' + name
问题:如何使 python 版本更短更地道?
def greeting(name=''):
return f'Hello {name}'.strip()
如果使用 None
作为默认参数:
def greeting(name=None):
return f'Hello {name}' if name else 'Hello'