Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > Wiki + Vingrad + Python


Автор: setq 23.12.2005, 16:52
Уважаемые питоньеры,

У форума существует своя Wiki. http://forum.vingrad.ru/index.php?showtopic=72429 обсуждается то, как заставить её на нас работать. Пожалуйста, если Вы можете чем-то помочь нашему форуму, не оставайтесь в стороне. Спасибо.

Автор: setq 5.1.2006, 21:08
всем смотреть на красоту smile http://wiki.vingrad.ru/index.php/Python

Автор: setq 21.2.2006, 00:51
Готов порадовать питон-сообщество интересной задачей. Необходимо составить список встроенных типов языка Питон кодом на языке Питон.

Это нужно, чтобы вставить на wik'у и затем наполнять содержанием.

решения вроде list=['int','float',...] не считаются.

(Конкурс, не конкурс, но плюс кому-нибудь поставлю smile )

PS Если есть предложения по поводу того, чего не хватает на Wiki — не нужно стесняться их высказывать. А если кто-нибудь хочет статью написать, то тем более.

Автор: beartamer 20.3.2006, 22:37
Я тут подумал, я не шибко разбираюсь, не знаю, насколько это решение полное, и уж явно можно найти покрасивей, но тем не менее:

Код

for builtin_str in dir(__builtins__):
    builtin = eval(builtin_str)
    if type(builtin) is type:
        print builtin_str


может сгодится на что...

P.S. при написании сразу почему то Perl в голову лезет и хочется залезть под кровать, записать все в одну большую строку без пробелов и никому никогда не показывать smile

Автор: motus 5.5.2009, 23:43
Цитата

при написании сразу почему то Perl в голову лезет и хочется залезть под кровать, записать все в одну большую строку без пробелов и никому никогда не показывать


дык и на питоне можно в одну строку:

Код

[t for t in dir(__builtins__) if type(eval(t)) is type]


а можно и дерево наследования посмотреть:

Код

import pygraphviz

graph = pygraphviz.AGraph(directed=True)

for tname in dir(__builtins__):
  t = eval(tname)
  if type(t) is type:
    for b in t.__bases__:
      graph.add_edge(tname, b.__name__)

graph.draw('types.png', format='png', prog='dot')


картинка прилагается :)

enjoy, как говорится :)

Автор: motus 6.5.2009, 02:28
еще лучше - в одну строчку и без eval-a:

Код

pygraphviz.AGraph(
  dict((t.__name__, [b.__name__ for b in t.__bases__])
       for t in __builtins__.__dict__.itervalues()
       if type(t) is type),
  directed=True).draw('types.png', format='png', prog='dot')


smile

Автор: Karadul 21.3.2012, 18:38
Цитата(motus @  6.5.2009,  02:28 Найти цитируемый пост)
еще лучше - в одну строчку и без eval-a:

Была на боре цитата про конпеляцию линупса в 3 строчки.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)