2016-01-04 1 views
0

Я изучаю Python и хочу идентифицировать структуру данных из отображения инструкции печати. Я написал следующий код:Идентификация базового набора данных из заявления печати

set1={1,2,3,3} 
print set1 
tup1=(1,2,3,3) 
print tup1 
list1=[1,2,3,3] 
print list1 
dict1={1:1,2:2,3:3,3:3} 
print dict1 

И выход:

set([1, 2, 3]) 
(1, 2, 3, 3) 
[1, 2, 3, 3] 
{1: 1, 2: 2, 3: 3} 

Из этого я делаю вывод, что set1 представляет собой набор питон, tup1 является питон кортеж, песни1 список питона и dict1 является словарь python.

Можем ли мы использовать эту аналогию в обобщенном виде для определения базовой структуры данных из инструкции печати?

+0

вы можете использовать 'типа (set1)' или другие переменное имя вы уже упоминались выше, чтобы получить тип .. 'структуры данных type() 'встроен в функцию – virendrao

+0

' print (set1 .__ class __.__ name __) ' –

+0

Да, это прекрасно работает. Спасибо за подсказку ... – Jagadesh

ответ

0

Вы смотрите на выходе repr() function , Это зависит от самого объекта, чтобы обеспечить значимый object.__repr__() method; встроенные типы производят правильный синтаксис Python, который будет препятствовать вам воспроизвести такое же значение, но и для классов Python repr() вывод не всегда полезным:

>>> class Foo(object): 
...  def __init__(self, bar): 
...   self.bar = bar 
... 
>>> print Foo(42) 
<__main__.Foo object at 0x102312990> 

Это только говорит Вам, что тип экземпляра у вас есть, а не как воспроизводить одно и то же значение.

Если все, что вы хотите знать, является типом используйте type() function:

>>> type(Foo(42)) 
<class '__main__.Foo'> 
>>> type({1, 2, 3}) 
<type 'set'> 
0

Мы можем использовать один из приведенных ниже утверждений, чтобы найти тип переменной:

print type(set1) 
print(set1.__class__.__name__) 

Благодаря Virendrao и Padraic Cunningham для предоставления ответа

Смежные вопросы