函数内的变量
Variables within a function
正在编写一个函数来根据 relativedelta 计算日期。
如何使 'frequency' 成为变量?
例如,relativedelta(years=5),定义频率的能力:“years”、“months”、“days”等。
尝试了 f 字符串文字,但我认为撇号有问题。
def date_ago(date, period, frequency):
"""date: "yyyy-mm-dd"
frequency: "years", "months", "weeks", "days"
period: interger
"""
date_ago = datetime.strptime(date, "%Y-%m-%d") - relativedelta(f'{frequency}={period}')
return date_ago.strftime('%Y-%m-%d')
date_ago("2021-03-31", 5, "years")
答案:'2016-03-31'
您可能希望扩展关键字参数,而不是创建一个字符串参数!
https://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists
relativedelta(**{frequency: period})
正在编写一个函数来根据 relativedelta 计算日期。 如何使 'frequency' 成为变量? 例如,relativedelta(years=5),定义频率的能力:“years”、“months”、“days”等。
尝试了 f 字符串文字,但我认为撇号有问题。
def date_ago(date, period, frequency):
"""date: "yyyy-mm-dd"
frequency: "years", "months", "weeks", "days"
period: interger
"""
date_ago = datetime.strptime(date, "%Y-%m-%d") - relativedelta(f'{frequency}={period}')
return date_ago.strftime('%Y-%m-%d')
date_ago("2021-03-31", 5, "years")
答案:'2016-03-31'
您可能希望扩展关键字参数,而不是创建一个字符串参数!
https://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists
relativedelta(**{frequency: period})