質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

変数名を臨時変更したいですけれども、なかなか方法見つからない

insecticide
insecticide

総合スコア313

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

4回答

0リアクション

0クリップ

344閲覧

投稿2022/11/19 01:05

編集2022/11/19 04:47

メンテナンスの良さから変数名が長くなりがちで、数学計算式に利用する時にめちゃくくちゃ見にくいのです。
そのために、色々調べたり、試したりしたけれども、有効な方法はまだ分かりません。

やりたい事:
例えば、
alias a = self.aaaaaaaaaaaaaaaa
にして、a とself.aaaaaaaaaaaaaaaaとはあくまで同一変数(メモリアドレス)に対する異なる名付けで(別名)、片一方が変化したら、もう一方も自動的に同じ変化します。

残念ながら、上記の"alias" で エラーが発生しました。

アイディアをお願い致します。

ーーーーーーーーーーーーーーーーーーーーーーーーー
追伸:下のリンクの中のやり方に非常に気に入ります。

python

class A: __init__(): self.a.b.c = 10 alias self.aliased = self.a.b.c # Creates an alias

《Pythonで変数のエイリアスを作成するにはどうすればよいですか?》
https://www.web-dev-qa-db-ja.com/ja/python/python%E3%81%A7%E5%A4%89%E6%95%B0%E3%81%AE%E3%82%A8%E3%82%A4%E3%83%AA%E3%82%A2%E3%82%B9%E3%82%92%E4%BD%9C%E6%88%90%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%82%88%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F/1066749654/

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

2022/11/19 03:56依頼された後にこの質問は修正されています

こちらの質問が複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました。

TakaiY

2022/11/19 02:20

「alias」というのはどこから出てきたものですか?
meg_

2022/11/19 02:38

> alias a = self.aaaaaaaaaaaaaaaaにして classの話なのでしょうか?
insecticide

2022/11/19 04:49

TakaiYさま、meg_さま お返事ありがとうございます❣ 情報不足で申し訳ございませんでした。 質問の処に補充しましたので、また宜しくお願いいたします。
TakaiY

2022/11/19 05:15 編集

参照しているページに回答が書いてありますが、それで何が問題でしょうか。
TakaiY

2022/11/19 05:40

meg_さんも書いていますが、「変数名を臨時変更したい」というのは、クラスの中でのことですか? だとすると臨時ではありませんね。 臨時とはどういう意味ですか?
insecticide

2022/11/19 06:41

お返事ありがとうございます。 💖 > それで何が問題でしょうか 例文の「alias」の処にエラーが発生しました: alias a = self.aaaaaaaaaaaaaaa ^ SyntaxError: invalid syntax
insecticide

2022/11/19 06:56

変数名の長短問題だけでなく、名前自身も分かりにくい原因になります。 オリジナルの名付けはアプリケーションの中の意味で、計算式の中の変数の意味とは全然違います。 複雑な計算を行う時に、我々は、数学的な立場で変数名を見るのは直感的で、実装ミスを発見しやすいのですが、アプリケーションのための名前で数式を表現しますと、訳が分からなくなります。 特に私のような、頭が良くない人間にとって。
TakaiY

2022/11/19 07:35

> 例文の「alias」の処にエラーが発生しました www ちゃんと読んだらわかりますが、質問者はこんなふうにできたらいいのにという意図でそのコードを書いていますので、そもそもpythonの文として正しい文ではありません。 (他言語の自動飜訳っぽいサイトですからわかりにくいですが。 元記事へのリンクも無いので確認のしようもありません。お勧めしません。)
TakaiY

2022/11/19 08:53

stackoverflowだったんですね。
TakaiY

2022/11/19 08:56

> アプリケーションのための名前で数式を表現しますと、訳が分からなくなります。 ってことは、そのクラス/モジュールの外でその値を参照するときに別の名前を使いたいということですか? 値の変更もしますか?
insecticide

2022/11/19 09:38

> そのクラス/モジュールの外でその値を参照するときに別の名前を使いたいということですか? 値の変更もしますか? 同じクラス中のself.メソッドで複数のself.変数を利用して計算を行います。 計算過程においての更新も元の変数に反映したいのです。 簡単に言えば、C言語のマクロ定義のようなやり方で十分ですし、 alias a = self.aaaaaaaaaaaaaa のような alias キーワードがあれば簡単にできます。 Python はあれこれ複雑な仕組みが用意しているらしいですので、こんな簡単な事をシンプルに実現できるのではと思いきや、、、
insecticide

2022/11/19 09:44 編集

当然計算アルゴリズムの表現する前に a = self.aaaaaaaaaaaaa b = self.bbbbbbbbbbbbb c = self.cccccccccccccccc .................. <アルゴリズムの実装> self.aaaaaaaaaaaaa = a self.bbbbbbbbbbbbb = b self.cccccccccccccccc = c .................. にすれば目的を達成する事は可能ですが、非能率で、ミスの機会を増やしたような感じですね。
TakaiY

2022/11/19 09:46

であれば、回答は出ていますね。

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。