[解決済み] Pythonでevalを使って変数の値を代入するにはどうしたらいいですか?
2023-03-17 20:27:37
質問
さて、質問は簡単です。どのように私はPythonのevalを使用して変数の値を代入することができますか?私は試してみました
eval('x = 1')
を試してみましたが、それはうまくいきません。SyntaxErrorが返されます。なぜこれが動作しないのでしょうか?
どのように解決するのですか?
なぜなら
x=1
は式ではなく文だからです。使用する
exec
を使ってステートメントを実行します。
>>> exec('x=1')
>>> x
1
ちなみに、このように
exec
/
eval
もし、割り当てる名前が動的なものだけでよいのなら、例えば、辞書を使うことができます。
setattr
機能
,
または
:
locals()
辞書
>>> locals()['y'] = 1
>>> y
1
更新
: 上記のコードはREPLでは動作しますが、関数内では動作しません。参照
Pythonでローカルを変更する
を参照してください。
exec
は問題外です。
関連
-
[解決済み] 関数デコレータを作成し、それらを連鎖させるには?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] 複数の例外を1行でキャッチする(ブロックを除く)
-
[解決済み] 辞書を値で並べ替えるにはどうしたらいいですか?
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] 割り当て後にリストが予期せず変更されました。その理由と防止策を教えてください。
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] SQLAlchemy: セッションの作成と再利用
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] データフレームをソートした後にインデックスを更新する
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] 古いバージョンのPythonにおける辞書のキーの並び順
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] Django filter queryset __in for *every* item in list