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

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

新規登録して質問してみよう
ただいま回答率
85.35%
データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

3回答

1520閲覧

Python のデータが格納された変数の確認方法について

unser

総合スコア58

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

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

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2021/10/11 06:27

編集2021/10/11 08:03

Python にてデータが格納された変数の確認方法を教えていただけると幸いです.

メモリの使用量として,
一括に消去したいことを考えています.
そのため,変数の値自体に興味はなく値の入っている変数のうちいらない変数をすぐ削除できるような実装を行いたいと考えております.

やりたいことは以下のようなことです

python

1import gc 2 3a=0 4for i in range(1,11): 5 a+=i 6print(a) 7 8# どの変数が格納されているか確認 9# その結果[a,i]というlstが帰ってくる 10 11for tmp in lst: 12 del tmp 13 14gc.collect()

何卒よろしくお願い致します.

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

意味があるかは置いておいて
変数は以下で取得可能ですが、やりたい事はこういう事でしょうか?

https://docs.python.org/ja/3/library/functions.html#locals

python

1def f(): 2 aa = 1 3 aa = 2 4 print(locals()) # {'aa': 2} 5 6def f2(): 7 a = 0 8 for i in range(1, 11): 9 a += i 10 print(locals()) # {'a': 55, 'i': 10} 11 print(list(locals().keys())) # ['a', 'i'] 12 13 14f() 15f2()

ドキュメントに記載がありますが、globalで行うとglobals()が返ってくるので、 __name__ なども含まれます。

投稿2021/10/11 08:35

編集2021/10/11 08:41
yamap55

総合スコア1376

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unser

2021/10/11 12:37

ご回答いただきありがとうございます。そのようなことですね。 ただ,使わなくなった分のメモリを解放したいので, どのように実装すべきか最適化ご教授いただけると幸いです.
yamap55

2021/10/11 12:57

意図が合っていて良かったです。 「Python のデータが格納された変数の確認方法について」という質問には回答となっているかと思いますので、別の質問としてはいかがでしょうか。
unser

2021/10/12 00:00

承知いたしました。
guest

0

  • Python にてデータが格納された変数の確認方法を教えていただけると幸いです.

Pythonでは、あるスコープで作成された変数は、スコープ自体がなくなるか、delされるまでは常に値を持ち続けます。言い換えるとデータが格納されています。
従って、そのときに見えている全ての変数はデータが格納されています。

また、以下の処理は意味がありません。

for tmp in lst:
del tmp

公式ドキュメント 7.5. del 文に書かれているように、del文がやることは「名前の束縛を取り除く」です。
従って、
del tmp

tmpという変数をdelしているだけです。

投稿2021/10/11 08:00

ppaul

総合スコア24670

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unser

2021/10/11 08:02

ありがとうございます。 その後にgc.collect()をする予定です。 また、変数の取得をどのように行うべきか教えて頂けると幸いです。
guest

0

まずは確認したい変数をprintしてみよう

投稿2021/10/11 06:45

y_waiwai

総合スコア88042

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

unser

2021/10/11 07:05

メモリの使用量として,一括に消去したいことを考えています.そのため,変数の値自体に興味はなく値の入っている変数のうちいらない変数をすぐ削除できるような実装を行いたいと考えております.
unser

2021/10/11 07:06

そのため,わざわざprintで書くのは今回の趣旨に反します. 伝わりづらく申し訳ございません.
BeatStar

2021/10/11 07:11

横から失礼します。 @ 質問者さん > メモリの使用量として,一括に消去したいことを考えています.そのため,変数の値自体... それはここじゃなくて、質問本文に書くべきです。 回答する人はすべての回答を読むわけではありません。ましてやこんな細かい所、読まないです。 (コメントされた本人なら読むが) それに、ここは『ナレッジサービス』です。 質問者さんの問題と似たような問題に当たって、このページを参考にするかもしれません。 その場合、質問本文に無いと、「自分には関係のない記事」と見なして、見なくなります。 質問は編集できるので編集しましょう。
unser

2021/10/11 08:00

ご指摘ありがとうございます。 変数の値の確認方法でなく、変数の確認方法のため伝わっていると勘違いしておりました。わかりづらい文章で申し訳ございません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問