2015-02-23 19 views
7

MATLAB kaynağından geliyorum ve şekil ve veri türü gibi değişken bilgiler almak için whos komutuna alıyorum ve genellikle bunu özel bir adla (ör. whos Var1) kullanın.IPython'da belirli bir nesneyi nasıl denetlerim?

IPython'da da whos kullanabileceğimi biliyorum; Ancak, bir ton değişken ve nesneye sahip olduğumda, bir kerede bir tane incelemek istiyorum ve MATLAB sözdizimi başarısız oluyor.

a = [1,2,3] 

whos a 
No variables match your requested type. 

Entity Canopy IDE içindeki IPython kabuğunu kullanıyorum.

Bunun için bir komut var mı?

sayesinde Aaron

+1

: Örneğin, kullanırsınız int türü için bütün belgelerini elde etmek? Bunu hiç duymadım ... Eğer numpy kullanıyorsanız, şekil almak için 'array.shape' kullanabilirsiniz ... –

+0

Teşekkürler, ve v2.7 gölgelik IDE –

cevap

14

komut whos ve linemagic %whos ipython mevcuttur, ancak standart Python parçası değildir. Bunların ikisi de mevcut değişkenleri ve bunlarla ilgili bazı bilgileri listeleyecektir. Filtre uygulamak için bir type belirtebilirsiniz, ör.

whos 
Variable Type Data/Info 
---------------------------- 
a   list n=3 
b   int  2 
c   str  hello 


whos list 
Variable Type Data/Info 
---------------------------- 
a   list n=3 

ilgili komut who veya linemagic %who tek değişken isimleri gösteren kısa bir liste üretecektir:

who 
a 

who list 
a  

belirli değişken ? incelemek için olduğunu size aradığınızı:

a? 

Type:  list 
String form: [1, 2, 3] 
Length:  3 
Docstring: 
list() -> new empty list 
list(iterable) -> new list initialized from iterable's items 

daha isterseniz hakkında daha fazla bilgi Nesne, bir işlev gibi. Tüm nesne yardımını almak için iki ? formunu word?? şeklinde kullanabilirsiniz. piton hangi sürümünü kimlerin olduğunu ne olduğunu ...

int?? 
Type:  type 
String form: <type 'int'> 
Namespace: Python builtin 
Docstring: 
int(x=0) -> int or long 
int(x, base=10) -> int or long 

Convert a number or string to an integer, or return 0 if no arguments 
are given. If x is floating point, the conversion truncates towards zero. 
If x is outside the integer range, the function returns a long instead. 

If x is not a number or if base is given, then x must be a string or 
Unicode object representing an integer literal in the given base. The 
literal can be preceded by '+' or '-' and be surrounded by whitespace. 
The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to 
interpret the base from the string as an integer literal. 
>>> int('0b100', base=0) 
4 
+0

lol Bu ne oldu hiçbir fikrim yoktu Bana yeni bir şey öğretmek için +1 ... muhtemelen hiç kullanamayacağım –

+0

@JoranBeasley sen ve ben ikimiz de. İlk tepkim "kim ne?" ... sonra kuruş düştü: * Ben * Python – mfitzp

+0

'?' tam olarak aradığım şey. Teşekkürler –

İlgili konular