Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Python 3 (Самообучение) - вопросы.  (Прочитано 14526 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #30 : 17 Марта 2013, 02:41:53 »
Хорошо, не стану прыгать к Tkinter. Если рано значит рано.
Ех... Побольше бы практики. Книга хорошая но практики в ней мало.
Чтобы руку набить.

Xanych

  • Гость
Re: Python 3 (Самообучение) - вопросы.
« Ответ #31 : 17 Марта 2013, 02:45:23 »
 Хм, в конце каждой главы есть упражнения.  Штук пять по-моему(ну не считал).  Разбирайтесь с примерами, которые автор дает в главах (особенно, если учесть, что часть упражнений построено на модификации этих самых примеров.).  Какую вам еще практику вам еще нужно?

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #32 : 17 Марта 2013, 02:55:46 »
Хм, в конце каждой главы есть упражнения.  Штук пять по-моему(ну не считал).  Разбирайтесь с примерами, которые автор дает в главах (особенно, если учесть, что часть упражнений построено на модификации этих самых примеров.).  Какую вам еще практику вам еще нужно?
Я все перечитываю 1ю главу. Уже в 4й раз. Сейчас я ее записываю в тетрадку. По первой главе практики мало. Я все выполняю что пишет автор, даже его примеры которые не требуется писать, я пишу. Чтобы рука привыкала.
Почему 4й раз, потому, что мне трудно понять зачем срезы и зачем нужны списки и картежи.
Вот автор рассказал как их создавать, и как этим пользоваться, но где применить нет. А предложенный вами Пример программы в начале темы, для меня еще рановато судя по коду. Больше вопросов возникнет чем ответов.


Пользователь решил продолжить мысль 17 Марта 2013, 03:05:52:
Вот к примеру.
доступ к элементам последовательностей.
>>>"hard times"[5]
't'
Как это работает я понял. А где применять не пойму.
Я имею в виду где применять это в полноценной программе такой как например mp3 плеер или Браузер.
« Последнее редактирование: 17 Марта 2013, 03:05:52 от winlox »

Оффлайн Daynin

  • Любитель
  • *
  • Сообщений: 88
    • Просмотр профиля
    • Google+
Re: Python 3 (Самообучение) - вопросы.
« Ответ #33 : 17 Марта 2013, 03:16:45 »
Больше вопросов возникнет чем ответов.

Это суть программирования.

Вот к примеру.
доступ к элементам последовательностей.
>>>"hard times"[5]
't'

Еще раз повторюсь: поставьте перед собой задачу (не просто переписать что-то из учебника, а реализовать что-то в некотором смысле полезное), иначе вы и не поймете зачем все это нужно. Из простейших элементов строятся огромнейшие системы. Прочитайте про машину Тьюринга. По сути она может выполнять минимальное число атомарных операций, но тем не менее она может решить любую решаемую задачу. По сути даже ваша операционная система может быть реализована на машине Тьюринга.

P.S.
Без практики понимание не придет. Вы не поймете зачем нужен тот или иной элемент языка, пока перед вами не появится задача, для решения которой его можно применить.
Замечательный тут у вас форум! Много интересных людей.

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #34 : 17 Марта 2013, 03:37:41 »
Да, я об этом и говорю.
Вы говорите, что суть программирования в том, что возникает больше вопросов.
Я просто не хочу бежать впереди автора.
А найти его объяснениям определённых деталей практику, не выходит. Потому как программы предлагаемые поисковой системой содержат код который автор еще не описал. И получается замкнутый круг.
Вот и зубрю. Не понимая где буду применять.
Понимаю, что не правильно поступаю просто заучивая, но выход какой?
Разбирать программы с неизвестным кодом?
Как скажете, так и поступлю. У вас опыта хоть отбавляй. Уверен плохого не посоветуете.

Пользователь решил продолжить мысль 17 Марта 2013, 03:48:53:
Слушайте я походу понял.
Списки можно использовать для создания базы.
к примеру список "Продукты" Может содержать списки "Молочные" "Овощи" "Мясные" "морепродукты"
А те в свою очередь могут содержать еще списки к примеру в списке "Морепродукты"
Списки "Рыба" "Консервы" и т.д. 8) :D

Пользователь решил продолжить мысль 17 Марта 2013, 04:09:24:
>>> print("Type integers, each followed by Enter; or just Enter to Finish")
Type integers, each followed by Enter; or just Enter to Finish
>>> total = 0
>>> count = 0
>>> while True:
line = input("integer: ")
if line:
try:

SyntaxError: expected an indented block
>>>
Почему ошибка? Все с учебника.
« Последнее редактирование: 17 Марта 2013, 04:09:24 от winlox »

Оффлайн Jack Sparrow

  • Активист
  • *
  • Сообщений: 630
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #35 : 17 Марта 2013, 04:58:30 »
Этой книги у меня нет, но пример либо не полный, либо читаете в плохо распознанной версии. У блоков, первая строчка которых заканчивается на двоеточие (например, while, if или try), следующие строки должны быть с отступом, что-то типа этого:
Код: (Python) [Выделить]
while True:
    line = input("Integer: ")
    if line:
        try:
            # тут идет основной код
        except:
            # а этот код выполняется только тогда, когда в блоке try возникла ошибка
В Питоне очень важны отступы. Из-за них часто возникают ошибки, т.к. пробелы не видно, и не знаешь, сколько их там. Часто ошибки возникают, когда код копируется откуда-то (с сайта, с PDF и т.п.).

Пользователь решил продолжить мысль 17 Марта 2013, 05:06:33:
Да, а для баз данных словари подходят лучше, чем списки. И еще есть специальный модуль dbm. Он позволяет работать с многими базами данных.
« Последнее редактирование: 17 Марта 2013, 05:06:33 от Jack Sparrow »
Linux is only free if your time has no value (c) Jamie Zawinski

Xanych

  • Гость
Re: Python 3 (Самообучение) - вопросы.
« Ответ #36 : 17 Марта 2013, 06:06:10 »
 Для баз данных лучше всего подходят... базы данных.

 Списки можно использовать, например, для создания матриц:
1 2 3
4 5 6
7 8 9
>>>matrix=[[1,2,3],
           [4,5,6],
           [7,8,9]]
>>>matrix[1][1]
5
>>>matrix[2][0]
7
>>>matrix[0][2]
3

 Для создания таблиц лучше использовать словари, как упоминал Jack Sparrow. Ключи будут использоваться в качестве заголовков полей.

>>> print("Type integers, each followed by Enter; or just Enter to Finish")
Type integers, each followed by Enter; or just Enter to Finish
>>> total = 0
>>> count = 0
>>> while True:
             line = input("integer: ")
             if line:
          * try: *
     
SyntaxError: expected an indented block
>>>
В выделенной "*"-ами строке нехватает отступа у try:
>>> print("Type integers, each followed by Enter; or just Enter to Finish")
Type integers, each followed by Enter; or just Enter to Finish
>>> total = 0
>>> count = 0
>>> while True:
              line = input("integer: ")
              if line:
                  try:
     
SyntaxError: expected an indented block
>>>
  Как уже сказал, Jack Sparrow, в питоне очень важны отступы. Отступы предназначены не только для повышения удобочитаемости, но и для выделения блоков кода( у C/C++ составной блок выделяется при помощи {}, у Pascal/Lazarus/Delphi - парами begin/end, а у питона отступами.)  Причем отступы должны быть одного типа: либо табуляция, либо пробелы. Смешивать не допускается. Кстати, именно об этом и говорит вам интерпретатор:
SyntaxError: expected an indented blockЧто если перевести, означает:

Синтаксическая ошибка: Ожидался отступ блока.

 Насколько я помню, первая глава у Саммерфилда -введение, где он рассказывает о "Золотом запасе" питона. Если так, то естественно, что там мало что понятно. Он галопом по Европам вводит читателя в курс дела. А вот со второй автор начинает знакомить читателя с материалом более глубже. Если это так, и я ничего не напутал, то смело переходите к следующей главе.

Цитировать
Как скажете, так и поступлю. У вас опыта хоть отбавляй. Уверен плохого не посоветуете.
Советую: Читайте книгу. Особо не заморачивайтесь первый раз. Не пытайтесь зубрить, пытайтесь понять. Не тормозите на одной главе - все равно с первого раза ничего не выйдет. После каждой главы есть упражнения - пытайтесь их выполнить. Не получается, спрашивайте совета. Прочитали первый раз? Отложите книгу на некоторое время - дайте информации усвоится. Отдохнули. Погнали по второму разу. По себе знаю, с первого раза мало, что ясно. Особенно, если раньше не сталкивались с программированием вообще.
« Последнее редактирование: 17 Марта 2013, 06:09:15 от Nuclear Device »

Оффлайн Jack Sparrow

  • Активист
  • *
  • Сообщений: 630
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #37 : 17 Марта 2013, 13:13:06 »
Причем отступы должны быть одного типа: либо табуляция, либо пробелы. Смешивать не допускается.
Не допускается в одном блоке, а если разные, то можно. Например, можно так:
Код: (Python) [Выделить]
x = input("Введите число: ")
if x < 0:
    print ("x - отрицательное число") # отступ из пробелов;
    # здесь можно вставить еще код, но отступы должны быть из пробелов; это все один блок.
else:
    print("x - неотрицательное число") # отступ из табуляции
    print("т.е. меньше или равно нулю") # здесь отступ должен быть только из табуляции, т.е. как и предыдущий
Вообще-то, рекомендуют ВСЕГДА использовать отступы из пробелов (как правило, 4 пробела). Так будет меньше путаницы. В специализированных редакторах можно настроить автоматический отступ, а также бывает опция "заменять знаки табуляции на пробелы".
Я в свое время помучился с такой проблемой, когда вставляешь код, взятый из интернета, а он не работает. Приходится вручную удалять все отступы из делать их заново.

PS. Конечно, тут советуют разные книги. Если уж взялся за одну, то и идти нужно до конца. Но я просто советую на будущее, или как альтернативу книгу Think Python
Я по ней Питон изучал. Предназначена как раз для таких, как ТС, т.е. с, практически, нулевым опытом. Разжевывает все подробно. Не просто свойства языка, мол, эта комданда для этого, а эта - для того. Но приводит примеры использования. Там уже ясно будет, для чего нужны срезы, и где их использовать. Причем, у него там много довольно занимательных упражнений, которые просто интересно выполнять.

Кстати, я сейчас занимаюсь переводом этой книги на русский. Уже две трети закончено. В интернете есть русская версия Чаплыгина, но, к сожалению, она не полная. Похоже, что он не довел дело до конца. Жаль, а книга хорошая, причем, бесплатная. Планирую выложить тут для проверки, как только закончу. А может быть уже давно есть ее хороший перевод, а я не знаю?

Пользователь решил продолжить мысль 17 Марта 2013, 13:19:55:
Вдогонку.
У автора книги есть и другие, построенные по той же схеме. Так что если, например, понравилась книга о Питоне, то есть и другие: Think C++ и Think Java.
« Последнее редактирование: 17 Марта 2013, 13:19:55 от Jack Sparrow »
Linux is only free if your time has no value (c) Jamie Zawinski

Оффлайн ZubrZubr

  • Любитель
  • *
  • Сообщений: 83
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #38 : 17 Марта 2013, 13:57:50 »
Jack Sparrow,
А перевод его книг есть? Или исключительно eng вариант?

Оффлайн Jack Sparrow

  • Активист
  • *
  • Сообщений: 630
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #39 : 17 Марта 2013, 18:30:23 »
Я же сказал, что в русском варианте я видел только для Питона, перевод Чаплыгина. Но там чуть ли половины не переведено. Про другие не знаю (видел только на английском).

Кстати, читал и по C++. Тоже понравилось. Правда, он там использует какие-то учебные классы, типа apstring и другие, тоже начинающиеся на ap... Это какие-то упрощенные классы для американских школ или что-то подобное. Но я пробовал использовать обычные, т.е. без ap (например, string), и все работало нормально. У меня была старая версия С++, с небольшими ошибками. Сейчас там обновленная версия.

Он хорошо иллюстрирует работу с классами. Подводит к их идее, идя от простого к сложному. Вообще, у него такой подход: показать простое решение "с лоб", а затем сказать, что лучше сделать вот так и так. Т.е. сначала проводит через неправильные или неоптимальные решения, а затем подводит к лучшему или общепринятому. Там, где другие авторы просто сразу дают "правильное" решение, говорят, что нужно делать так, он проводит через весь процесс, и ты понимаешь лучше, что хорошо, а что не очень. И, главное, понимаешь, почему это так.

Та же команда для обращения строки, которую тут упоминали - string[::-1]. У него были упражнения для того, чтобы научиться строку печатать в обратном порядке. Нужно было самому писать функцию, которая использует цикл для этого. И лишь через несколько глав он привел эту идиому.

Т.е. у него подход не просто рассказать о свойствах языка, но, скорее, научить думать как компьютерный специалист (примерно так и переводится название книги). Поэтому мне его книги и нравятся.
Linux is only free if your time has no value (c) Jamie Zawinski

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #40 : 17 Марта 2013, 19:57:12 »
Насколько я помню, первая глава у Саммерфилда -введение, где он рассказывает о "Золотом запасе" питона. Если так, то естественно, что там мало что понятно. Он галопом по Европам вводит читателя в курс дела. А вот со второй автор начинает знакомить читателя с материалом более глубже. Если это так, и я ничего не напутал, то смело переходите к следующей главе.
Вы нечего не напутали. Так и есть. Только, что проснулся. Налил себе термос кофе, купил 3 пачки сигарет. И готов приступить не отходя от книги в бой со 2й главой.
Отступы запомнил. Буду внимательней.
Ну вперед ко 2й главе.

Пользователь решил продолжить мысль 17 Марта 2013, 21:42:21:
Во 2й главе, автор говорит про PyLint, и дает ссылку на скачивание. По ссылке я скачал tar.gz, поиск в интернете находит версии только для Linux. Есть версии PyLint под Windows?

Пользователь решил продолжить мысль 18 Марта 2013, 00:01:54:
Jack Sparrow,
Дай почитать то, что перевел пожалуйста.

Пользователь решил продолжить мысль 18 Марта 2013, 00:25:22:
Во второй главе очень тяжёлая тема обсуждается - голая теория и не единого примера практики. Автор по-моему не понимает сам для кого пишет учебник. Я даже читать его больше не хочу. Слов нет одни маты. Закрыл книгу на 76 странице. И удалил с компа.
« Последнее редактирование: 18 Марта 2013, 00:25:22 от winlox »

Оффлайн Jack Sparrow

  • Активист
  • *
  • Сообщений: 630
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #41 : 18 Марта 2013, 00:44:53 »
Слишком сыро еще. Там нужно корректировать, сверять и т.п. Пока только 70% переведено. Да и не знаю я, куда его выложить. Он у меня в сжатом виде 595 кб занимает уже. А тут только 200 можно выложить.
Linux is only free if your time has no value (c) Jamie Zawinski

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #42 : 18 Марта 2013, 01:11:55 »
Тогда будем пребывать: Лутц М. - Изучаем Python (4-е издание) [2011, DjVu, RUS]

Xanych

  • Гость
Re: Python 3 (Самообучение) - вопросы.
« Ответ #43 : 18 Марта 2013, 01:19:36 »
winlox,
    Практика у него в конце каждой главы практически. Он приводит пару примеров, и несколько упражнений. Без теории недалеко уедешь. Хотя может быть, конечно, Саммерфилд для совсем новичка сложен. По мне, так очень хорошая книга.  Но у меня есть опыт программирования(Pascal, как бы его не ругали, но основы закладывает хорошо).

Оффлайн winlox

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Re: Python 3 (Самообучение) - вопросы.
« Ответ #44 : 18 Марта 2013, 01:41:40 »
winlox,
    Практика у него в конце каждой главы практически. Он приводит пару примеров, и несколько упражнений. Без теории недалеко уедешь. Хотя может быть, конечно, Саммерфилд для совсем новичка сложен. По мне, так очень хорошая книга.  Но у меня есть опыт программирования(Pascal, как бы его не ругали, но основы закладывает хорошо).
Представь, как совсем новичок должен с абсолютно непонятным и сложным материалом из главы, доползти до гонца главы, чтобы из головы нечего не вылетело, и закрепить все практикой.
Вот автор разделяет в главе разделы. Почему бы после раздела по теме раздела не дать 5-10 упражнений? Автор пишет хорошо. Но не дает закрепить. И по пути, к концу главы все из головы вылетает, и нечего не понятно. Словно читаю иероглифы.

Пользователь решил продолжить мысль 18 Марта 2013, 01:59:04:
Если кому не сложно, заняться репетиторством, буду очень признателен.
Первая тема из второй главы: Идентификаторы и ключевые слова.
Если дадите упражнения в которых мне придётся логически подумать, буду очень рад.
Смогу попрактиковаться и запомнить материал.

Пользователь решил продолжить мысль 18 Марта 2013, 02:00:42:
Чем больше задач, тем лучше.

Пользователь решил продолжить мысль 18 Марта 2013, 03:10:38:
Начал читать Лутц М. - Вроде неплохо, На торренте его, те кто знает хотя бы один ЯП, ругают за разжеванность и воду. А новички радуются. Попробуем :)
« Последнее редактирование: 18 Марта 2013, 03:10:38 от winlox »

 

Страница сгенерирована за 0.041 секунд. Запросов: 25.