2017-11-13 22 views
-1

私はこのようなexecでPythonの関数を定義しますたい:Pythonで変数文字列を複数行コメントに挿入する方法は?

exec """def my_func(alpha = 'a'): 
    return alpha""" 

それは動作します。しかし、具体的な理由のために私は別の文字列にalpha = 'a'を定義したい:

s = "alpha = 'a'" 
exec """def my_func(s): 
    return alpha""" 

が、これは動作しません。この方法で複数行のコメント文字列に文字列変数の内容を挿入する方法はありますか?

+1

はなぜexec' 'でこれをやっていますか?あなたの実際のユースケースは何ですか? –

+0

[PythonでString内に変数を挿入するにはどうすればいいですか?](https://stackoverflow.com/questions/2960772/how-do-i-put-a-variable-inside-a-string-in -python) –

+2

これは "複数行コメント"ではなく、3重引用符(複数行)の文字列リテラルです。トリプルクォートされた文字列がドキュメントストリングとしてよく使われるという事実は、それらをコメントにしません。文字列リテラルなので、通常の文字列書式設定操作(広範に文書化されています)がすべて利用できます。 –

答えて

2

format機能を使用します。

s = "alpha = 'a'" 
exec """def my_func({}): 
    return alpha""".format(s) 
関連する問題