[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 21:00 / Filesize : 205 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Pythonのお勉強 Part23



1 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 16:23:39 ]
Python オフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
FrontPage - Pythonのお勉強
python.rdy.jp/
前スレ
pc11.2ch.net/test/read.cgi/tech/1196426978/

◆関連スレッド

Microsoft IronPython 1.0
pc11.2ch.net/test/read.cgi/tech/1157686822/
Python の宿題ここで答えます Part 1
pc11.2ch.net/test/read.cgi/tech/1153585095/
2ch検索: [python]
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python

◆関連サイト

Python ドキュメント
www.python.jp/doc/release/
参考サイト - Pythonのお勉強
python.rdy.jp/wiki.cgi?page=%BB%B2%B9%CD%A5%B5%A5%A4%A5%C8

以上

110 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 03:08:43 ]
>>108
無理
できるのは、locals() でローカル変数の一覧を、globals() でグローバル変数の一覧をとってくるぐらい。
そんなことを必要とするのはたぶん、「ほんとうにやりたいこと」に対する解決方法が間違ってると思うから、まず「ほんとうにやりたいこと」を書いてみるといいよ。

111 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 03:18:37 ]
>>108
class Foo:
    def get_var_name(self):
        for key, value in globals().items():
            if id(value) == id(self):
                return key
        return None

foo = Foo()
print foo.get_var_name()

この質問、ちょくちょく出るけど
Python で「変数名を取得したい」と思ったら十中八九「設計ミス」だと思う。



112 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 03:20:14 ]
うは、かぶったw
結婚してください。
ヾ(o゚ω゚o)ノ"プニプニ!

113 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 03:26:57 ]
>111
複数の変数が同じオブジェクトを指してるときはうまく動作しないね。

まあ、>110,111の言うとおり設計見直した方がいいと思う。

114 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 03:57:58 ]
import traceback
import re

class Foo:
  def get_var_name(self):
    stack = traceback.extract_stack(limit=2)
    return re.search(r"([_a-zA-Z][_a-zA-Z0-9]+)\.get_var_name", stack[0][3]).group(1)

foo = Foo()
print foo.get_var_name()






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<205KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef