На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD
  
    > Python: пара вопросов
      1. Действительно ли все поля класса всегда открытые (public) и нельзя управлять ли их видимостью?
      2. True/False/None надо обязательно писать именно так, с большой буквы?
      3. Посоветуете ли какую-нибудь IDE? Глюки Eric'а уже поднадоели. Нужно нормальное автодополнение (для начала, анализ классов). Было бы неплохо получить интеграцию с Qt.

      И, если ответы на 1 и 2 утвердительны, намечается ли какое-нибудь изменение этого в третьей версии?
      Спасибо :unsure:
        1. Действительно. Всё на вашей совести. По соглашению, поля и методы, имена которых начинаются с символа «_», являются приватными, и их вызов вне класса считается плохим тоном, но ничто не мешает их использовать извне.
        2. Да, это ключевые слова, обязательно их писать так, привыкайте.
        3. IDLE, встроенная в Python/PythonPortable — отличная штука для начала. Сам использую Eclipse + PyDev — писаю лимонадом от счастья. :) По интеграции с Qt ищите в интернетах PyQt.

        По вопросам 1 и 2: в третьей версии не просто не намечается изменений — их не будет (AFAIR).

        Чувствуется дух старой школы, вам стóит полностью очистить сознание перед тем, как лезть в Python. :)
          Цитата lambdafunction @
          По интеграции с Qt ищите в интернетах PyQt.
          спасибо, как раз его уже и использую. Хотелось интеграции с IDE, но это не принципиально.

          Цитата lambdafunction @
          Чувствуется дух старой школы, вам стóит полностью очистить сознание перед тем, как лезть в Python.
          да, уже трижды передёрнуло... стараюсь :)
            Цитата lambdafunction @
            1. Действительно. Всё на вашей совести. По соглашению, поля и методы, имена которых начинаются с символа «_», являются приватными, и их вызов вне класса считается плохим тоном, но ничто не мешает их использовать извне.

            ExpandedWrap disabled
              >>> class Test:
                  def __init__(self):
                      self.__field = "test"
                  def __str__(self):
                      return self.__field
               
              >>> obj = Test()
              >>> obj.__field
              Traceback (most recent call last):
                File "<pyshell#21>", line 1, in <module>
                  obj.__field
              AttributeError: 'Test' object has no attribute '__field'
              >>> str(obj)
              'test'

            Два подчёркивания.
            Сообщение отредактировано: evlan -
              О как! А поля/функции, начинающиеся с двух подчёркиваний не считаются ли служебными? То есть использование этого свойства не будет ли грязным хаком?
                Цитата negram @
                О как! А поля/функции, начинающиеся с двух подчёркиваний не считаются ли служебными? То есть использование этого свойства не будет ли грязным хаком?

                Согласно Саммерфилду, нет. Нельзя что бы начинались и заканчивались двумя подчёркиваниями.
                Сообщение отредактировано: evlan -
                  negram
                  Цитата
                  3. Посоветуете ли какую-нибудь IDE?

                  http://code.google.com/p/pyscripter/
                  http://www.wingware.com/downloads
                    NetVir, спасибо, попробую попозже. Пока-что приглянулся PyDev (тем более, что с эклипсом раньше работал), а тестировать всё сразу тяжеловать.
                    Для IDLE моё сознание ещё не достаточно очишено :)
                    lambdafunction, evlan, спасибо за ответы
                      KomodoEdit - приятная IDE, грузится чуть быстрее Eclipse. Но в ней автодополнение у меня работает намного лучше чем в PyDev(может просто чего то не настроил).
                        В качестве IDE могу только NetBeans посоветовать. Сам только ей и пользуюсь, удобно, привычно. Мнение ессно субъективное.
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0244 ]   [ 15 queries used ]   [ Generated: 2.05.24, 20:44 GMT ]