Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 18, 2015 08:55:48

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

День добрый.
Наверное уже тысячу раз отвечали на подобные вопросы, но возможно я задам их по своему, для меня это важно, прошу отнестись с пониманием и снисходительностью.
Суть вопросов в том, что начал учить Python, к сожалению семейные обстоятельства не позволяют сидеть по 3 и более часов за ПК, в основном вечером когда спят или по возможности на работе (читаю с телефона книги). Все очень медленно конечно, но дело не в этом. Учить - значит практикаваться, это ясно. Но со своего опыта, программисты, подскажите (научите), как понять, что нужно зазубривать, что помнить а что иметь ввиду и знать где искать. Например есть много строковых методов, много параметров форматирования, и подобное. Мне реально нужно их все заучивать, т.е. я должен знать на зубок? Правильно ли будет подход учить как иностранный язык - чем больше слов тем богаче понимание языка? Как разграничить глубину погружения в язык для новичка, чтобы и толк был и не завяз в ненужных (возможно пока) подробностях и нюансах?
С благодарностью и вниманием приму любые советы, подсказки и подзатыльники (обоснованные).

Офлайн

#2 Авг. 18, 2015 09:15:32

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Зазубривать никогда ничего не надо. По крайней мере в точных науках. Нужно понимать, что ты делаешь, зачем и почему именно так. Я вас уверяю, невозможно знать весь справочный материал. Нереально, например, выучить и держать в памяти всю библиотеку .Net да и незачем совершенно. Под рукой всегда есть интернет, где можно посмотреть доку по любому модулю, современные ИДЕ обладают мощными средствами для помощи программисту, а всовременные языки программирования имеют средства для документирования программ. Всегда можно посмотреть в код неизвестного вам класса или функции, почитать комментарии и докстринги. Нет никакой нужны запоминать всю подряд информацию. Главный скилл программиста - способность алгоритмировать, вот его и нужно развивать.



Офлайн

#3 Авг. 18, 2015 09:15:46

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Вы не написали для чего изучаете питон. Это может существенно изменить стратегию изучения.
Думаю что учить все не требуется. Желательно полностью прочитать основополагающие учебники, включая описание стандартной библиотеки. Надо чтобы вы поняли какие задачи можно решить, и в каком месте искать рецепт по их решению. Если задачи будут часто возникать оно само выучится, если нет - оно вам и не надо значит.
Важно разобраться с тем как работает интерпретатор, загрузка модулей, как имена связываются со значениями, как идет поиск имен, на зубок надо знать как использовать help проводить интроспекцию объектов -чтобы можно было при желании разобраться с незнакомыми модулями. Очевидно надо знать основняе управляющие конструкции и связанный с этим вопрос что такое итератор в питоне. Что из себя представляют классы, метаклассы что такое mro и зачем он нужен.
Важно почитать книги вообще про стили программирования.
Обязательная часть чтение чужих кодов. Благо в питоне это просто.
Если телефон позволяет поставьте на него питон. Программировать неудобно, но при чтении книги посмотреть как работает та или иная конструкция можно.



Офлайн

#4 Авг. 18, 2015 11:55:29

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Спасибо за подсказки и советы.
Немного конкретизирую на примере из ‘Изучаем Python’ М.Лутц, приведены строковые методы. Мне по идее нужно их понять и выучить, чтобы двигаться дальше, или придется подсматривать в хелпе что обозначает тот илииной метод, раз я его на изусть не помню?
S.capitalize()
S.ljust(width )
S.center(width ))
S.lower()
S.count(sub [, start ])
S.lstrip()
S.encode([encoding ])
S.maketrans(x[, y])
S.endswith(suffix [, start ])
S.partition(sep)
S.expandtabs()
S.replace(old, new )
S.find(sub [, start ])
S.rfind(sub [,start ])
S.format(fmtstr, *args, **kwargs)
S.rindex(sub [, start ])
S.index(sub [, start ])
S.rjust(width )
S.isalnum()
S.rpartition(sep)
S.isalpha()
S.rsplit([sep])
S.isdecimal()
S.rstrip()
S.isdigit()
S.split([sep ])
S.isidentifier()
S.splitlines()
S.islower()
S.startswith(prefix [, start ])
S.isnumeric()
S.strip()
S.isprintable()
S.swapcase()
S.isspace()
S.title()
S.istitle()
S.translate(map)
S.isupper()
S.upper()
S.join(iterable)
S.zfill(width)
Пока точно не определися, в каком направлении буду работать (заниматься), склонен к прикладным программаи, но интереснв и фреймвеки.
Да, интерпритарот установил на телефон. Пока читаю Лутца.

Офлайн

#5 Авг. 18, 2015 12:50:43

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Originator
как понять, что нужно зазубривать, что помнить а что иметь ввиду и знать где искать.
Это тонкий вопрос.
Ты едешь на машине и знаешь, что на ней можно улететь с обрыва, знаешь, что делать, если улетел с обрыва, что там надо будет вылазить, перевязываться и звонить родным. Но ты ни разу не улетаешь, ты просто знаешь. Но если ты не знаешь ничего, то ты и улетишь, и не соориентируешься после.

Так вот, когда тебе надо отцентрировать строку, ты знаешь, что такая функция вообще в природе существует, и начинаешь искать её в питоне, находишь её и уже знаешь, как она работает, потому что где-то пользовался ей. Если же ты про неё не знаешь, то ты не знаешь не только, что она есть, но и её название. Начинаешь писать велосипед, который называется как-то необычно и центрирует немного неправильно.

Мне, например, не надо учить C#, но я уже знаю, что там есть средство форматирования строки, и я знаю, как его применять, хотя ни разу им не пользовался, просто видел на картинках, что там то же самое, что и в питоне.

У тебя как бы проблема первого языка. Он самый трудный, потому что учишь всё в первый раз. Зато потом ты будешь языки пачками учить, потому что дальше всё будет сводится к построению аналогий и соединению новой информации с давно усвоенной базой.



Отредактировано py.user.next (Авг. 18, 2015 12:53:37)

Офлайн

#6 Авг. 18, 2015 13:47:35

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

py.user.next
У тебя какбы проблема первого языка. Он самый трудный, потому что учишь всё в первый раз
Спасибо за хороший сравнительный образ.
Но у меня немного не стандартный случай. У меня в голове образы языков которые учил в свое время - Бейсик, Фортран. Да ребята, я старик в вашем коллективе по возрасту. Мне за 40 лет, увы. Но, я реально, всегда отличался хорошим программированием, мне это было всегда интересно, немного писал на Асемблере (еще под ZXSpectrum).
Т.е. то что знал в языке хорошо применял, сейчам языки иные, вот и загвоздочка у меня.
Большое Вам всем за помощь, всегда с благодарность приму еще любые советы.

Офлайн

#7 Авг. 18, 2015 19:19:27

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Originator
Но у меня немного не стандартный случай. У меня в голове образы языков которые учил в свое время - Бейсик, Фортран. Да ребята, я старик в вашем коллективе по возрасту. Мне за 40 лет, увы. Но, я реально, всегда отличался хорошим программированием
Господи, перестань ныть, не ты один тут такой, не ты первый кто меняет профессию, не ты один кому за….
Если умный человек - бери, изучай и всё в твоих руках, через две недели сможешь работать. Ты пришёл на форум самого лёгкого в мире языка программирования и просишь сострадания? Дорогой, если у тебя не получается изучать питон, то тебе не надо программировать. Можешь продавать билеты в трамвае, осеменять коров, писать сайты на джумле и так далее - ищи работу по способностям!



Офлайн

#8 Авг. 18, 2015 19:41:00

4kpt_III
Зарегистрирован: 2014-12-22
Сообщения: 999
Репутация: +  39  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Мой первый комп тоже был ZX-Spectrum и что? Я тоже учил отмороженный бейсик, потом паскаль, потом делфи, потом матлаб потом… Да фиг уже всего упомнишь. Мне тоже уже за 30. Реально. Берите и учите. Если учиться самостоятельно не разучились и хоть более или менее математический склад ума, то все у Вас получится…

Офлайн

#9 Авг. 18, 2015 19:44:44

Originator
От: Харьков, Украина
Зарегистрирован: 2015-08-01
Сообщения: 29
Репутация: +  1  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Ну я и не ныл, может так показалось, сорри.
Просто….. ну хотелось получить немного направление в правильнов векторе изучения, а то сам себя запутал и все переусложнил.
Спасибо всем за советы и подзатыльники

Офлайн

#10 Авг. 19, 2015 01:01:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Еще раз об правильном обучении языку, выскажись и поделись опытом.

Originator
У меня в голове образы языков которые учил в свое время - Бейсик, Фортран.
Ну, и какой из них ты знаешь полностью? Или на сколько процентов?

Originator
немного писал на Асемблере (еще под ZXSpectrum).
А что на нём можно писать? Я только сейчас взялся за Asm, так как понадобилась обратная инженерия в одном деле (дизассемблировании dll-шки).



Отредактировано py.user.next (Авг. 19, 2015 01:03:13)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version