2

文字列の一部を生成し、別の文字列内で呼び出される関数を作成して、文を完成させます。

ただし、この完全な文字列を引用符で囲む必要があるという制限があります。次のようになります。

date = 'The date is get_date()'

ここで、get_date() は日付を文字列で返す関数です (ただし、それよりも少し複雑です)。問題は、Python が引用符内で関数を呼び出せないことです。

何か案は?

ありがとう

編集: 私がやろうとしていることについては、それほど複雑ではないと思うので、より具体的に説明します。

一連の変数を定義する構成ファイル (conf.py) があります。(python スクリプトを使用して) 操作したいものの 1 つは、著作権年です。

one_of_the_options = [('example1', 'Copyright 2008-CURRENTYEAR Company Name Ltd.')]

CURRENTYEAR は、関数が年を文字列として返すだけの Python スクリプトの出力を介して制御したいものです。

4

5 に答える 5

5

代わりにこれを試してください:

date = 'The date is {}'.format(get_date())

上記では、フォーマットされた文字列を使用しています。これは、文字列内のコードを評価するよりもはるかに単純 (かつ安全) であり、評価される実際の関数をパラメーターとして渡すことで、柔軟性を高めることができます。たとえば、編集後の例:

def get_current_year():
    return '2013' # just an example, not the real function

s = 'Copyright 2008-{} Company Name Ltd.'
s.format(get_current_year())
=> 'Copyright 2008-2013 Company Name Ltd.'

フォーマットされた文字列を使用すると{}、文字列内のプレースホルダーを必要な値に置き換えることができます。特に、関数呼び出しにすることができます。フォーマット文字列の詳細については、ドキュメントを参照してください。

于 2013-08-21T13:53:53.213 に答える
1

または、文字列連結を使用することもできます:

date = '日付は ' + str(get_date())

于 2013-08-21T14:36:42.417 に答える