Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.17.203.68] |
|
Сообщ.
#1
,
|
|
|
1. Действительно ли все поля класса всегда открытые (public) и нельзя управлять ли их видимостью?
2. True/False/None надо обязательно писать именно так, с большой буквы? 3. Посоветуете ли какую-нибудь IDE? Глюки Eric'а уже поднадоели. Нужно нормальное автодополнение (для начала, анализ классов). Было бы неплохо получить интеграцию с Qt. И, если ответы на 1 и 2 утвердительны, намечается ли какое-нибудь изменение этого в третьей версии? Спасибо |
Сообщ.
#2
,
|
|
|
1. Действительно. Всё на вашей совести. По соглашению, поля и методы, имена которых начинаются с символа «_», являются приватными, и их вызов вне класса считается плохим тоном, но ничто не мешает их использовать извне.
2. Да, это ключевые слова, обязательно их писать так, привыкайте. 3. IDLE, встроенная в Python/PythonPortable — отличная штука для начала. Сам использую Eclipse + PyDev — писаю лимонадом от счастья. :) По интеграции с Qt ищите в интернетах PyQt. По вопросам 1 и 2: в третьей версии не просто не намечается изменений — их не будет (AFAIR). Чувствуется дух старой школы, вам стóит полностью очистить сознание перед тем, как лезть в Python. :) |
Сообщ.
#3
,
|
|
|
Цитата lambdafunction @ спасибо, как раз его уже и использую. Хотелось интеграции с IDE, но это не принципиально.По интеграции с Qt ищите в интернетах PyQt. Цитата lambdafunction @ да, уже трижды передёрнуло... стараюсь Чувствуется дух старой школы, вам стóит полностью очистить сознание перед тем, как лезть в Python. |
Сообщ.
#4
,
|
|
|
Цитата lambdafunction @ 1. Действительно. Всё на вашей совести. По соглашению, поля и методы, имена которых начинаются с символа «_», являются приватными, и их вызов вне класса считается плохим тоном, но ничто не мешает их использовать извне. >>> 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' Два подчёркивания. |
Сообщ.
#5
,
|
|
|
О как! А поля/функции, начинающиеся с двух подчёркиваний не считаются ли служебными? То есть использование этого свойства не будет ли грязным хаком?
|
Сообщ.
#6
,
|
|
|
Цитата negram @ О как! А поля/функции, начинающиеся с двух подчёркиваний не считаются ли служебными? То есть использование этого свойства не будет ли грязным хаком? Согласно Саммерфилду, нет. Нельзя что бы начинались и заканчивались двумя подчёркиваниями. |
Сообщ.
#7
,
|
|
|
negram
Цитата 3. Посоветуете ли какую-нибудь IDE? http://code.google.com/p/pyscripter/ http://www.wingware.com/downloads |
Сообщ.
#8
,
|
|
|
NetVir, спасибо, попробую попозже. Пока-что приглянулся PyDev (тем более, что с эклипсом раньше работал), а тестировать всё сразу тяжеловать.
Для IDLE моё сознание ещё не достаточно очишено lambdafunction, evlan, спасибо за ответы |
Сообщ.
#9
,
|
|
|
KomodoEdit - приятная IDE, грузится чуть быстрее Eclipse. Но в ней автодополнение у меня работает намного лучше чем в PyDev(может просто чего то не настроил).
|
Сообщ.
#10
,
|
|
|
В качестве IDE могу только NetBeans посоветовать. Сам только ей и пользуюсь, удобно, привычно. Мнение ессно субъективное.
|