Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Пользовательский тип в Питоне 
V
    Опции темы
wirw
Дата 3.9.2007, 06:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2007

Репутация: 1
Всего: 1



1)Как реализуется свой сложный тип в Питоне.
В дельфи допустим я писал
Type 
  MyType=record
    mil,sec:integer
    rnd:single
  end;

А как в питоне?
PM   Вверх
pythonwin
Дата 3.9.2007, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



создаешь класс и работаешь smile

Код

class MyType(object):
    def __init__(self, *args, **kw):
        self.minute = 1
        self.sec = 1
        self.rnd = 1
        for k in kw.keys():
            setattr(self, k, kw[k])
    def __setattr__(self, name, value):
        if len(name)>0:
            if name[0]!='_' and name[-1]!='_':
                if name in ['minute', 'sec', 'rnd']:
                    value = int(value)
                super(MyType, self).__setattr__(name, value)


и ещё - в питоне есть только два целых типа: int и long. И целые в питоне не ограничены:
Код

>>> int('65464654564687978798798798797889797978897897')
65464654564687978798798798797889797978897897L

PM WWW GTalk Jabber   Вверх
wirw
Дата 3.9.2007, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2007

Репутация: 1
Всего: 1



 smile 
Ужос из за пользовательского типа такой огород городить! Я в шоке.
 smile 
PM   Вверх
turist
Дата 3.9.2007, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.8.2007
Где: Киев

Репутация: нет
Всего: нет



Ну можешь словарь юзать:

Код

d = {}
d['mil'] = 0
d['sec']  = 0
d['word'] = ''


или

Код

d = dict(mil=0, sec=0, word='')


Дело в том, что не все привычные способы работы в других языках прямо переносятся в python. Тут например больше работают со словарями, списками и т.п.
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
wirw
Дата 3.9.2007, 11:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 10.8.2007

Репутация: 1
Всего: 1



Ага спасиб...
И динамические массивы как в дельфях не состряпаеш, всё списки, списки, хоть одни плюс разнородные обьекты можно пихать.
Вообщем первые впечатления о Питоне - Шок.
Пойду напьюсь!
PM   Вверх
setq
Дата 3.9.2007, 12:03 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В Питоне просто:
Код

class MyType:
    pass


 smile 
  Вверх
turist
Дата 3.9.2007, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 13.8.2007
Где: Киев

Репутация: нет
Всего: нет



Цитата(wirw @ 3.9.2007,  11:54)
И динамические массивы как в дельфях не состряпаеш, всё списки, списки, хоть одни плюс разнородные обьекты можно пихать.
Вообщем первые впечатления о Питоне - Шок.
Пойду напьюсь!

Я ж грю, надо мыслить не по-делфийски. Лучше спрашивай, как что-то определённое реализовать, а не как "сделать так же, как в делфи" smile 

P.S. Я тут ща С++ника переучиваю не писать на Питоне плюсами. Вроде через месяц уже понеслась работа. Советую книгу "Dive into Python"
PM MAIL WWW ICQ Skype GTalk Jabber MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0663 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.