Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/208: Рейтинг темы: голосов - 208, средняя оценка - 4.75
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288

Ищу доброго самаритянина по питону

16.01.2019, 16:27. Показов 45200. Ответов 508
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всех приветствую, немного о себе, 27 лет, женат, работаю системным админом в крупной компании. Всегда хотел программировать, но по стечению обстоятельств не сложилось, то работа не позволяла, не было времени, то бытовуха итд. Но вот решил что во что бы то не стало я овладею данной профессией. Начал свой путь программирования с питона. Сейчас читаю книги, прохожу на сайтах различные обучающие уроки итд, на ютюбе нашел не плохой канал где разжевывают все хорошо и вроде потихоньку получается писать (можно было бы идти на курсы, но не позволяет работа, питон питоном, а семью кормить надо, вроде и на работе время есть изучать, но вот уходить на курсы с работы итд, это не варик). Буквально вчера закончил разбираться и написал уже самостоятельно игру камень, ножницы, бумага, где играешь против компа. Ищу человека который просто направлял бы меня в нужное русло, подкидывал материал для изучения, который потом мне пригодится итп, который помог бы в трудностях. Просто учить все подряд без какого либо плана дает итог каши в голове. Если найдется тут такой человек, буду искренне благодарен ему!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.01.2019, 16:27
Ответы с готовыми решениями:

В зависимости от ведённого времени получите сообщение с пожеланием доброго утра, доброго дня, доброго вечера, спокойный
Плииз! Помогите с учёбой! В общем суть задания: В зависимости от ведённого времени (от 0 до 24) получите сообщение с пожеланием доброго...

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

Ищу доброго человечка, который поможет
Здравствуйте. Помогите пожалуйста сверстать небольшую страницу. Html, Css, Font Awesome

508
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
02.03.2019, 19:17  [ТС]
Студворк — интернет-сервис помощи студентам
Viktorrus, спасибо что разжевали)) домой приеду напишу страницы.по поводу 23 24 главы не охото пока возвращаться)) сегодня тот друг про которого писал выше предложил мне перейти на изучение С# дабы помогать мне и потом поспособствовать в трудоустройстве. Но я сказал что раз начал питон, значит изучу его сначала, один фиг джава скрипт и базы в питоне надо будет изучать, а потом если уж дело коснется, через годик или два, всегда смогу перейти на сишарп, он помоему даже проще питона в чем то)
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.03.2019, 20:12
можно ли сделать ток, чтобы он в инт оболочке работал из моей папки и брал классы из моей папки
В интерактивной оболочке выполнить:
Python
1
2
import sys
sys.path.append(твой_каталог_для_скриптов)
Далее все скрипты оттуда станут также доступны для импорта в IDLE.

Чтобы не вводить этот путь постоянно:
создаем в каталоге Python (где находится интерпретатор) файл с любым именем и расширением .pth
В него добавляем нужный каталог. Теперь питон при старте будет знать о наличии твоего каталога и самостоятельно добавлять его в sys.path ко всем остальным путям поиска.
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
02.03.2019, 20:15  [ТС]
Цитата Сообщение от Garry Galler Посмотреть сообщение
Далее все скрипты оттуда станут также доступны для импорта в IDLE.
Чтобы не вводить этот путь постоянно:
создаем в каталоге Python (где находится интерпретатор) файл с любым именем и расширением .pth
В него добавляем нужный каталог. Теперь питон при старте будет знать о наличии твоего каталога и самостоятельно добавлять его в sys.path.
то что надо, спасибо!!
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
02.03.2019, 21:17
Лучший ответ Сообщение было отмечено Lucky64 как решение

Решение

Забыл добавить: если решите использовать именно файл .pth (чтобы ваш путь всегда был известен интерпретатору), придется строже относиться к именованию своих скриптов в этом каталоге.
Ни один из них не должен совпасть по имени со встроенной (или установленной) библиотекой.
Иначе - при перекрытии имен - всегда будет импортироваться именно ваш файл вместо библиотечного.

Добавлено через 44 минуты
Update. Небольшая поправка: лучше закинуть файл .pth в каталог Python\\lib\\site-packages.
Поскольку поиск модуля ведется по каталогам с начала списка sys.path, ваш каталог в sys.path окажется (если повезет) после системных каталогов и после каталогов установленных модулей и не окажет влияния на импорт в случае совпадения имен Python модулей и ваших.

И есть нюанс: в самом site-packages полно других файлов .pth, которые создали какие-то установленные пакеты для своих целей. И пути из этих файлов добавляются в sys.path в порядке нахождения самых .pth файлов - порядок алфавитный.
И если мы хотим, чтобы наш файл .pth был обнаружен самым последним - стоит назвать его как-нибудь так: z.pth.
В этом случае получим то что хотели:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>>> pprint(sys.path)
['',
 'D:\\INSTALL\\Python3\\Lib\\idlelib',
 'D:\\INSTALL\\Python3\\python35.zip',
 'D:\\INSTALL\\Python3\\DLLs',
 'D:\\INSTALL\\Python3\\lib',
 'D:\\INSTALL\\Python3',
 'D:\\INSTALL\\Python3\\lib\\site-packages',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\cpp',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\rsa-3.4.2-py3.5.egg',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\beautifulsoup4-4.5.1-py3.5.egg',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\num2t4ru-2.0.0-py3.5.egg',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\ispras-1.0.2-py3.5.egg',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\mpl_finance-0.10.0-py3.5.egg',
 'd:\\install\\python3\\projects\\scripts\\src\\sphinxapi',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\win32',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\win32\\lib',
 'D:\\INSTALL\\Python3\\lib\\site-packages\\Pythonwin',
 'D:\\INSTALL\\Python3\\PROJECTS\\SCRIPTS']    # добавленный каталог оказался последним
>>>
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
02.03.2019, 21:22
Цитата Сообщение от Garry Galler Посмотреть сообщение
Ни один из них не должен совпасть по имени со встроенной (или установленной) библиотекой.
Иначе - при перекрытии имен - всегда будет импортироваться именно ваш файл вместо библиотечного.

помню целый день ушел (в т.ч. и на этом форуме) на поиск проблемы (назвал файл с раcширением py как один из модулей =)
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
03.03.2019, 01:51
Лучший ответ Сообщение было отмечено Lucky64 как решение

Решение

Цитата Сообщение от Lucky64 Посмотреть сообщение
я сказал что раз начал питон, значит изучу его сначала, один фиг джава скрипт и базы в питоне надо будет изучать, а потом если уж дело коснется, через годик или два, всегда смогу перейти на сишарп, он помоему даже проще питона в чем то)
Если ты планируешь потом переходить на другой язык, то тем более тебе не имеет смысла глубоко изучать питон, а только базовый материал, который поможет тебе легко перейти на изучение другого языка. По этой причине тебе и не имеет смысла осваивать главы дальше главы 28. Иначе ты там надолго застрянешь или просто ничего не усвоишь.
Ты как то обмолвился, что хочешь заняться web программированием. Но тогда тебе нужно будет после изучения части I следующей книги (в которой дается представление о шагах при создании полноценного проекта) тебе нужно будет перейти к изучению части, посвященной web программированию. А для web программирования нужно еще изучить язык HTML. И после web программирования, я бы серьезно занялся парсингом. По моему это интересно, путешествовать по интернету и используя парсинг добывать из него интересующую информацию в автоматическом режиме.
Но смотри сам.
Главное сначала поставить себе конечную цель, а потом продумывать пути для ее достижения и ставить промежуточные цели.
Частая ошибка людей, то что они в подсознании имеют главную цель, даже не осознавая ее, и делают основной целью некоторую промежуточную цель, которая может оказаться не оптимальной для достижения главной цели.
Поэтому сначала нужно продумать, что для тебя является главной, конечной целью. После этого рассмотреть все возможные промежуточные пути для достижения этой главной цели. Выбрать оптимальный путь и тогда уже поставить промежуточные цели, к которым ты будешь стремиться на промежуточном этапе.

Добавлено через 3 минуты
Цитата Сообщение от Garry Galler Посмотреть сообщение
В этом случае получим то что хотели
Garry Galler, У меня к Вам большая просьба. Мне показалось, что Вы знакомы с парсингом.
Если это так, подскажите пожалуйста, что необходимо предварительно освоить, прежде чем целиком углубиться в парсинг?
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
03.03.2019, 10:44  [ТС]
Цитата Сообщение от Viktorrus Посмотреть сообщение
По этой причине тебе и не имеет смысла осваивать главы дальше главы 28.
Значит так и сделаем.
Цитата Сообщение от Viktorrus Посмотреть сообщение
А для web программирования нужно еще изучить язык HTML.
JavaScript тоже необходим?
Цитата Сообщение от Viktorrus Посмотреть сообщение
главное сначала поставить себе конечную цель, а потом продумывать пути для ее достижения и ставить промежуточные цели.
В этом пока проблема Видно я еще не полностью понял все нюансы и тонкости направлений, но web для меня на сегодняшний день очень интересен.
Сегодня по стараюсь добить 27 главу, застрял что то на ней... то работа отвлекает, а сейчас не выспался ппц но постараюсь закончить ее сегодня

Добавлено через 2 минуты
Цитата Сообщение от Garry Galler Посмотреть сообщение
Забыл добавить: если решите использовать именно файл .pth (чтобы ваш путь всегда был известен интерпретатору), придется строже относиться к именованию своих скриптов в этом каталоге.
Ни один из них не должен совпасть по имени со встроенной (или установленной) библиотекой.
Иначе - при перекрытии имен - всегда будет импортироваться именно ваш файл вместо библиотечного.
Добавлено через 44 минуты
Update. Небольшая поправка: лучше закинуть файл .pth в каталог Python\\lib\\site-packages.
Поскольку поиск модуля ведется по каталогам с начала списка sys.path, ваш каталог в sys.path окажется (если повезет) после системных каталогов и после каталогов установленных модулей и не окажет влияния на импорт в случае совпадения имен Python модулей и ваших.
И есть нюанс: в самом site-packages полно других файлов .pth, которые создали какие-то установленные пакеты для своих целей. И пути из этих файлов добавляются в sys.path в порядке нахождения самых .pth файлов - порядок алфавитный.
И если мы хотим, чтобы наш файл .pth был обнаружен самым последним - стоит назвать его как-нибудь так: z.pth.
В этом случае получим то что хотели:
Спасибо большое за разъяснение! исходя из всего этого и того, что мне еще предстоит изучить, я сделал вывод, что пока закину все что нужно в папку по умолчанию, дабы не создавать дополнительных проблем на этом этапе изучения но инфу вроде как усвоил!

Добавлено через 1 час 59 минут
Viktorrus, страница 740, определяем подкласс супер класса персон
class Manager(Person):
вопрос такой, подкласс прописывается в том же файле что и супер класс? То есть весь код подкласса необходимо писать ниже самого супер класса, или нужно создавать новый файл? Лутц ничего не написал по этому поводу, и вот я немного замешкался...
П.С. Возможно я разберусь уже с этим вопросом до того как вы ответите, если разберусь, я сообщу об этом

Добавлено через 21 минуту
Viktorrus, Предыдущий вопрос снимается, все нашел ответ дальше по книге

Добавлено через 3 часа 29 минут
Viktorrus, все шло отлично, все понимал хорошо, но дошел до страницы 749, и не могу доконца понять код на этой странице, вот он:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Department:
    def __init__(self, *args):
        self.members = list(args)
    def addMember(self, person):
        self.members.append(person)
    def giveRaises(self, percent):
        for person in self.members:
            person.giveRaise(percent)
    def showAll(self):
        for person in self.members:
            print(person)
development = Department(bob, sue)
development.addMember(tom)
development.giveRaises(.10)        
development.showAll()
Если вас не затруднит, можете прокомментировать в этом коде что делает каждая из строк, сам что то не могу разобрать...

Вот как этот код выглядит в общей картине классов, которые я сегодня написал по этой главе:

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
class Person:
    def __init__(self, name, job = None, pay = 0): 
        self.name = name                  
        self.job = job                    
        self.pay = pay
    def lastName(self):
        return self.name.split()[-1]
    def giveRaise(self, precent):
        self.pay= int(self.pay * (1 + precent))
    def __str__(self):
        return '[Person: %s, %s]' % (self.name, self.pay)
 
class Manager(Person):
    def __init__(self, name, pay):
        Person.__init__(self, name, 'mgr', pay)
    def giveRaise(self, precent, bonus = .10):
        Person.giveRaise(self, precent + bonus)
 
if __name__ == '__main__':
    bob=Person('Bob Smith')
    sue=Person('Sue Johns', job='develop', pay = 100000)
    tom = Manager('Tom Jones', 50000)
       
#Объединение объектов в составной объект
class Department:
    def __init__(self, *args):
        self.members = list(args)
    def addMember(self, person):
        self.members.append(person)
    def giveRaises(self, percent):
        for person in self.members:
            person.giveRaise(percent)
    def showAll(self):
        for person in self.members:
            print(person)
development = Department(bob, sue) 
development.addMember(tom)
development.giveRaises(.10)        
development.showAll()              
 
if __name__ == '__main__':
    ...
    print('--All three--')
    for object in (bob, sue, tom): 
        object.giveRaise(.10) 
        print(object)
а так вроде все отлично понимаю и очень рад что пока не было серьезных затруднений

Добавлено через 29 минут
Viktorrus, В общем что бы вы не подумали что мне нужны просто ответы и мне лень самому их искать, я тоже проделал работу и вот что у меня получилось:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
'''Создаем супер класс, только почему, если он берет данные из ранее созданных классов...'''
class Department:
'''Создаем инструкцию которая будет автоматически определять полученные данные'''
    def __init__(self, *args):
''' #Заводим что то вроде переменной members = аргументам из инит в виде списка, типа members=[]'''
        self.members = list(args)
'''#создаем функцию аддМемберс(селфб данные из файла person.py, подумал так потому что класс у нас написан с заглавной буквы.'''
    def addMember(self, person):
'''заполняем созданный ранее пустой список данными из файла персон'''
        self.members.append(person)
'''создаем функцию (обьект. Проценты'''
    def giveRaises(self, percent):
'''перебираем в заведенном выше так скажем пустом списке куда мы отправили данные из функции addMember при помощи 
цикла фор иии... что мы с ними дальше делаем не понимаю, что означает строка person.giveRaise(percent)?'''
        for person in self.members:
            person.giveRaise(percent)
'''Ну тут просто создаем функцию, создаем цикл фор и с его помощью печатаем каждый элемент из функции __инит__'''
    def showAll(self):
        for person in self.members:
            print(person)
'''Заводим новый объект, присваиваем его к классу, и вот на этом месте я немного начал въезжать как работает инит...
В Department мы задаем несколько объектов которые автоматически принимаются функцией инит,
 именно по этому там указано *args то есть множество '''
development = Department(bob, sue) 
''' Ну дальше все понятно'''
development.addMember(tom)
development.giveRaises(.10)        
development.showAll()
Как видите не понятных моментов просто море, буду очень признателен за разъяснение в формате комментов к коду...
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
03.03.2019, 11:33
Lucky64, вот предлагаю по этой инструкции - https://www.youtube.com/playli... Olj54HtpjX собери
сайт! =)

Для начала - прям пошагово... =)

Потом разберемся с дизайном - и будешь понимать, что куда
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
03.03.2019, 12:13
Цитата Сообщение от Lucky64 Посмотреть сообщение
JavaScript тоже необходим?
Раньше точно было обязательно. Как обстоят дела сейчас, не знаю. Раньше, когда размещал свой сайт в интернете, я столкнулся с тем, что сервера, предоставляющие место для сайтов, не поддерживали скрипты на питоне. В общем этот вопрос нужно выяснять.
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
03.03.2019, 13:34  [ТС]
IRIP, не рановато ли джанго?))
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
03.03.2019, 13:42
Цитата Сообщение от Lucky64 Посмотреть сообщение
и вот что у меня получилось
Во первых замечание между делом. Текст помещается между тройными кавычками, когда нужно задокументировать модуль, класс, функцию и т.д. И тогда он помещается вначале модуля, класса, функции, и т.д.
Если же ты пишешь комментарий в пределах одной строки то используют символ #
Теперь про классы.
Цитата Сообщение от Lucky64 Посмотреть сообщение
class Department:
Смысл создания класса Department (отдел).
Мы ранее создали класс работников. Затем, что бы выделить из работников менеджеров, у которых расчет зарплаты имеет отличие, мы создали подкласс менеджер, который корректирует класс работников, что бы адаптировать к группе менеджеров.
Когда мы начинали создавать эти классы, то могли предусмотреть, что мы рассматриваем работников относящихся к конкретному отделу. Но если мы вначале не планировали объединять работников отдел, а потом поняли, что это необходимо, то не начинать же весь проект с нуля. Вот данный пример и показывает, как быть, если класс работников уже создан, а мы хотим объединить их в отдел. Мы встраиваем экземпляры класса работников в класс отдел. В реальности, класс отдел, является суперклассом для класса работники, но если мы сразу этого не предусмотрели, то используется такой искусственный прием встраивания экземпляров класса работники в класс отдел, что бы не переписывать весь проект с нуля.
Это кстати показывает, как важно, прежде чем начинать писать код, тщательно продумать структуру реализуемого проекта.
Вообще данный материал, достаточно сложный, потому, что здесь Лутц уже начинает использовать шаблоны, которые он потом будет тщательно изучать в последних главах данной книги, которые ты пока пропустишь. Поэтому, если что то не поймешь, особенно не расстраивайся.
Как я понял, структуру классы-подклассы ты понял, и это главное для понимания ООП. Остальное, это шаблоны (частные приемы программирования) необходимы при более глубоком изучении питона.
Вернемся к анализу кода.
Цитата Сообщение от Lucky64 Посмотреть сообщение
'''Создаем супер класс, только почему, если он берет данные из ранее созданных классов...'''
Как я объяснил выше, Department формально не является суперклассом для класса Person, так как он в определении класса Person не указан в качестве суперкласса. А для того, что бы Department фактически выполнял роль суперкласса, формально таковым не являясь, и используется искусственный прием, в виде шаблона встраивания.
Lucky64, если не понял, то забей на это.

Дальше идет инициализатор
Python
1
    def __init__(self, *args):
В данном случае self , это обобщенное понятие отдела. и метод __init__ запрашивает список работников входящих в конкретный отдел, который создается как экземпляр класса Department (класса отделы).

Python
1
self.members = list(args)
Здесь список работников мы присваиваем в качестве значения для атрибута members обобщенного (то есть любого для этого класса) экземпляра self.

А дальше просто идут методы, для выполнения определенных действий над работниками созданного отдела и переданными в виде списка при создании данного конкретного отдела (как экземпляра класса Department ).
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
03.03.2019, 14:08
Lucky64, да там и джанго то, особого нет (в привычном смысле)

зато есть ООП
зато есть все то, что изучил в Лутце
зато - сможешь понять приблизительно - а надо ли, оно, вообще тебе )

Добавлено через 3 минуты
Lucky64, хотя тот же Олег Молчанов - рекомендует сначала курс по Flask
но я не понял смысла во фласке и все это показалось очень нудным (в джанго и то, много писанины, а во фласке, ее еще больше)
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
03.03.2019, 14:25  [ТС]
Цитата Сообщение от Viktorrus Посмотреть сообщение
Смысл создания класса Department (отдел).
Мы ранее создали класс работников. Затем, что бы выделить из работников менеджеров, у которых расчет зарплаты имеет отличие, мы создали подкласс менеджер, который корректирует класс работников, что бы адаптировать к группе менеджеров.
Когда мы начинали создавать эти классы, то могли предусмотреть, что мы рассматриваем работников относящихся к конкретному отделу. Но если мы вначале не планировали объединять работников отдел, а потом поняли, что это необходимо, то не начинать же весь проект с нуля. Вот данный пример и показывает, как быть, если класс работников уже создан, а мы хотим объединить их в отдел. Мы встраиваем экземпляры класса работников в класс отдел. В реальности, класс отдел, является суперклассом для класса работники, но если мы сразу этого не предусмотрели, то используется такой искусственный прием встраивания экземпляров класса работники в класс отдел, что бы не переписывать весь проект с нуля.
Это кстати показывает, как важно, прежде чем начинать писать код, тщательно продумать структуру реализуемого проекта.
Вообще данный материал, достаточно сложный, потому, что здесь Лутц уже начинает использовать шаблоны, которые он потом будет тщательно изучать в последних главах данной книги, которые ты пока пропустишь.
Еще раз 10 прочту и думаю, что пойму.
Цитата Сообщение от Viktorrus Посмотреть сообщение
Как я объяснил выше, Department формально не является суперклассом для класса Person, так как он в определении класса Person не указан в качестве суперкласса. А для того, что бы Department фактически выполнял роль суперкласса, формально таковым не являясь, и используется искусственный прием, в виде шаблона встраивания.
Lucky64, если не понял, то забей на это.
вроде понял, так хотел закончить сегодня эту главу, осталось каких то 10 страниц, но уже чую что устал...
В принципе ООП достаточно легко дается если сравнивать как тяжело мне было понять работу функций... мб я просто в самом начале еще

Добавлено через 44 секунды
Цитата Сообщение от IRIP Посмотреть сообщение
сможешь понять приблизительно - а надо ли, оно, вообще тебе )
ну на этот вопрос я себе ответил еще до начала обучения))
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
03.03.2019, 14:27
Цитата Сообщение от Lucky64 Посмотреть сообщение
ну на этот вопрос я себе ответил еще до начала обучения))
Тогда попробуй писать свои названия классов, методов и т.п. (не как на видео) =)
будет интересно =)
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
03.03.2019, 14:28  [ТС]
скинул файлы созданные на работе, чтобы скачать их дома и продолжить так что это в личных целях не для публики ребят
Вложения
Тип файла: rar Новая папка (2).rar (1.5 Кб, 0 просмотров)
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
03.03.2019, 14:29  [ТС]
Цитата Сообщение от IRIP Посмотреть сообщение
Тогда попробуй писать свои названия классов, методов и т.п. (не как на видео) =)
будет интересно =)
возможно вечером попробую между делом, так сказать в перерывах
0
 Аватар для IRIP
514 / 146 / 28
Регистрация: 18.04.2015
Сообщений: 1,904
Записей в блоге: 16
03.03.2019, 15:24
Цитата Сообщение от Lucky64 Посмотреть сообщение
скинул файлы созданные на работе, чтобы скачать их дома и продолжить так что это в личных целях не для публики ребят
для этих целей есть github.com

а это курс как им пользоваться =) https://stepik.org/course/4138
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.03.2019, 15:48
Цитата Сообщение от Viktorrus Посмотреть сообщение
что необходимо предварительно освоить, прежде чем целиком углубиться в парсинг
Если под парсингом понимается web-grabbing\web-scrapping (потому что парсинг это общее понятие применимое ко многим сферам: сопоставление строки естественного языка или языка программирования с формальными правилами), то стоит углубиться (или повторить) следующие вещи:

0) Понимание работы сети в принципе ( модель OSI, стек TCP-IP, интерфейс сокетов). Иметь хотя бы общее представление об этом, чтобы не тупить по таким вопросам "почему время ожидания ответа сервера может быть бесконечно долгим" и т.д.)
1) Понимание работы HTTP протокола, знание кодов состояния http (все эти странные циферки 2xx\3xx\4xx\5xx в ответах сервера).
Получить представление о разнице между HTTP 1.1 и HTTP/2.
Специализированные кодировки, которые используются в мире web: percent-encoding\urlencoded,quoted-printable и т.д.
MIME типы данных.
Базовые HTTP заголовки
2) HTML разметка, отличия HTML4 и HTML5. Понимание того что такое DOM - Document Object Model
3) Язык запросов XPATH и похожий на него синтаксис обозначения CSS элементов.
4) Научиться пользоваться встроенным в браузеры отладчиком (Ctrl-Shift-I)
5) Ознакомиться с программными инструментами:
  • а) http клиент для web запросов: в python стандартный клиент это библиотека requests. (Встроенные либы не особо рекомендуется использовать в силу их низкоуровневого API)
  • б) модуль для разбора HTML в Document Object Model: в python это lxml, либо beautifulsoup(bs4). Опять же встроенные либы не особо рекомендуются к использования в силу их низкоуровневого API)
  • в) есть еще специализированные многофункциональные комбайны для скраппинга\граббинга\краулинга типа scrappy, но это для каких-то задач параллельной работы сразу со многими сайтами.

Вот примерно такой путь.
0
 Аватар для Lucky64
20 / 9 / 0
Регистрация: 16.01.2019
Сообщений: 288
03.03.2019, 15:49  [ТС]
Цитата Сообщение от IRIP Посмотреть сообщение
для этих целей есть github.com
да я обычно по почте себе скидываю, в этот раз что то так лень было заходить на ящик
0
1732 / 970 / 199
Регистрация: 22.02.2018
Сообщений: 2,693
Записей в блоге: 6
03.03.2019, 15:59
Цитата Сообщение от Garry Galler Посмотреть сообщение
Если под парсингом понимается web-grabbing\web-scrapping
Garry Galler, Большое спасибо за информацию. Сейчас перенесу ее на свой компьютер, и буду на нее ориентироваться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.03.2019, 15:59
Помогаю со студенческими работами здесь

Ищу доброго человека, который прособеседует по java
Ищу доброго человека чтобы поспрашивал по java, дабы проверить знания. Мечу на позицию java junior. Хочется проверить свои знания перед...

Кр по питону ?
У меня третий вариант и я не могу решить как это делать

Лабораторная по питону
Есть 2 емкости : кубическая с ребром Ф, цилиндрическая с высотой Н и радиусом R. Определить поместится ли жидкость объемом М в первую...

Задание по питону
Дана последовательность случайных чисел длиной n. Выбросить из ряда те элементы, значение которых равно a и b. Вывести полученное, а затем...

Питону не понравилось
import threading, time flag = True def proc(n): while flag==True: print(n) time.sleep(0.3) ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
480
Закрытая тема Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru