は時々私はこのように、疑問符を入力すると:なぜiPythonでは疑問符は常に機能しないのですか?
data["mass"]?
私は、構文エラーが発生します。情報を取得するには、help(data["mass"])
を使用する必要があります。どのようにこの作品を作るためのアイデア?
は時々私はこのように、疑問符を入力すると:なぜiPythonでは疑問符は常に機能しないのですか?
data["mass"]?
私は、構文エラーが発生します。情報を取得するには、help(data["mass"])
を使用する必要があります。どのようにこの作品を作るためのアイデア?
私は?
(および??
)が式ではなく変数または関数名に適用されたときに最も効果的だと分かります。
x = data['mass']
x?
y = 1.232
y?
z = 'astring'
z?
正常に機能する表現はいくつかありますが、一般的にはありません。私は、関数に関する情報を得るのにもっとも使用します。任意のオブジェクトではありません。上記の表現では、y?
は私にfloat
、type(y)
クリエイターの情報を与えます。私は?
疑い
はコンプリータ
http://ipython.readthedocs.org/en/stable/api/generated/IPython.core.completer.html
をNAME.NAMEの評価を使用して...形態は、任意のアプリケーション定義されたコードを実行させる可能性がある場合を持つオブジェクトgetattrフックが見つかりました。この機能を有効にするのはアプリケーション(またはユーザー)の責任であるため、私はこれを許容可能なリスクと考えています。より複雑な式(関数呼び出しや索引操作など)は評価されません。
マトリクスは、それ自身__getattr__
を定義するクラスの例です。 %magic
%pinfo:
Provide detailed information about an object.
'%pinfo object' is just a synonym for object? or ?object.
%pinfo2:
Provide extra detailed information about an object.
'%pinfo2 object' is just a synonym for object?? or ??object.
%pinfo
から
は?
戻りsyntax error
例でnot found
を返すように表示されます。 REFについて
In [265]: %pinfo data['mass']
Object `data['mass']` not found.
In [266]: %pinfo x+1
Object `x+1` not found.
In [267]: %pinfo data.get
Type: builtin_function_or_method
String form: <built-in method get of dict object at 0xb2d700ac>
Docstring: D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
[ドキュメントは言う(https://ipython.org/ipython-doc/2/interactive/reference.html#dynamic-object-info)* "(動的オブジェクト情報機能なお?/ ??、%pdoc、%pfile、%pdef、%psource)はオブジェクト属性や変数に直接作用します。たとえば、import osを実行した後、os.path.abspath ??を使用できます。私は、インデックスルックアップは含まれていないと思います。 –
アトリビュートルックアップは、新しいものを作成する副作用がないことを意味します。しかし、インデックス作成は時間がかかる(リストをスライスする)、またはオブジェクトを変更する( 'defaultdict')新しいオブジェクトを作成する可能性があります。その属性のルックアップがこれらのことを行うことができないということは、厳密には真実ではないが、これが当てはまると予想される。 – Dunes
@Dunes:属性の検索は高価なものや、インデックス作成のような副作用を伴うことがあります。例えば、 'numpy.matrix'インスタンスの' I'属性は、潜在的に非常に高価な行列逆計算を必要とします。 – user2357112