Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 6, 2015 13:19:57

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

Ищу наставника

Kon52
Если сможете, на пальцах.

Хороший вариант функции
>>> def mul3(obj):
...     return obj * 3
... 
>>> mul3(1)
3
>>> 
>>> mul3('a')
'aaa'
>>> 
>>> mul3([1, 2, 3])
[1, 2, 3, 1, 2, 3, 1, 2, 3]
>>> 
>>> mul3(mul3('abc'))
'abcabcabcabcabcabcabcabcabc'
>>> 
>>> mul3([mul3('abc')])
['abcabcabc', 'abcabcabc', 'abcabcabc']
>>> 
>>> mul3([tuple(mul3([mul3('abc'), mul3(mul3(3))]))])
[('abcabcabc', 27, 'abcabcabc', 27, 'abcabcabc', 27), ('abcabcabc', 27, 'abcabcabc', 27, 'abcabcabc', 27), ('abcabcabc', 27, 'abcabcabc', 27, 'abcabcabc', 27)]
>>> 
>>> mul3('a') * mul3(2)
'aaaaaaaaaaaaaaaaaa'
>>> 
>>> mul3('a') + mul3('bb')
'aaabbbbbb'
>>>

Плохой вариант функции
>>> def mul3(obj):
...     obj.x *= 3
...     return obj
... 
>>> class A:
...     x = 1
... 
>>> a = mul3(A())
>>> 
>>> mul3(1)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in mul3
AttributeError: 'int' object has no attribute 'x'
>>> 
>>> mul3('a')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in mul3
AttributeError: 'str' object has no attribute 'x'
>>> 
>>> mul3([1, 2, 3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in mul3
AttributeError: 'list' object has no attribute 'x'
>>> 
>>> mul3(A()) + mul3(A())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for +: 'A' and 'A'
>>> 
>>> mul3(A()) * mul3(A())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for *: 'A' and 'A'
>>>

Вот то же касается и редуктора. Если ты написал функцию для редуктора, это значит, что для другого редуктора ты будешь писать ещё одну функцию, функцию для другого редуктора. А когда надо будет писать функцию для третьего редуктора, ты будешь писать ещё одну функцию, но уже для третьего редуктора.

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



Отредактировано py.user.next (Авг. 6, 2015 16:21:12)

Офлайн

#2 Авг. 6, 2015 16:46:42

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

Ищу наставника

Всем привет. Кто хочет обучаться python в команде? Кому интересно отзовитесь. Разбираться вместе легче намного, также можем начать общий не сложный проект.
я в скайпе: kirill7629

Офлайн

#3 Авг. 6, 2015 16:49:07

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

Ищу наставника

Kir_B
Очень жаль это говорить, но это провальная затея. На форуме уже собиралось команд 7 на моей памяти. Ни к чему это не привело Хотя все может быть Просто особых надежд питать не стоит

Офлайн

#4 Авг. 6, 2015 22:26:55

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

Ищу наставника

Kir_B
я в скайпе: kirill7629
Для обучения нужна задача, заинтересованность в ее решении, возможность общаться (возможно).

Чтобы вернуть дискуссию в конструктивное русло предлагаю обсудить такую задачу:

Нам походу нужен кроссплатформенный менеджер пакетов (не для питона а для прочего П.О.).
Типа:
https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8
https://ru.wikipedia.org/wiki/Advanced_Packaging_Tool
https://en.wikipedia.org/wiki/Yellowdog_Updater,_Modified
https://ru.wikipedia.org/wiki/Dpkg
http://wpkg.org/Main_Page
https://ru.wikipedia.org/wiki/Pacman_(%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D1%83%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F_%D0%BF%D0%B0%D0%BA%D0%B5%D1%82%D0%B0%D0%BC%D0%B8)
http://windowspackager.org/

Почему не устраивает то что есть:
1. Система гетерогенная -ставить надо и на UNIX и на WINDOWS. Желательно единообразно.
2. Значительная часть системы пишется на python, логично на питоне и реализовать менеджер. Python хороший язык для такой задачи.
3. Система конфигурируется yaml файлами, поэтому желательно конфигурировать аналогично описание пакетов.
4 билд система и система поиска по распределенным репозиториям заказчику не нужны - можно сильно упростить систему.
5. Желательно иметь возможность дописывать скрипты установки для разных источников и разных архиваторов.

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



Офлайн

#5 Авг. 7, 2015 12:24:30

Kon52
Зарегистрирован: 2015-01-31
Сообщения: 66
Репутация: +  3  -
Профиль   Отправить e-mail  

Ищу наставника

py.user.next

Простите, очень тяжело с Вами

py.user.next
Хороший вариант функции
Здесь вроде всё понятно.

py.user.next
Плохой вариант функции
А тут что?
Только сегодня про классы начал читать, я б до такого не додумался.
Вы пытаетесь передать в функцию атрибут класса в виде метода для принимаемого этой функцией объекта?
Для чего это всё?

Ладно, не суть. Вообще, мне кажется неплохой идеей написание классов для, например, вала и шестерни, которые, при последующем наследовании и адаптации, подойдут для редукторов любого типа, как- то так..
Пойду- ка я лучше ещё почитаю

Офлайн

#6 Авг. 7, 2015 13:51:58

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

Ищу наставника

Kon52
А тут что?
Только сегодня про классы начал читать, я б до такого не додумался.
А, ну там не видно исключений, ведь неизвестно, что это.

Kon52
Вы пытаетесь передать в функцию атрибут класса в виде метода для принимаемого этой функцией объекта?
Чего? Да там экземпляр передаётся. Считай, что это аналог редуктора, который передаётся в функцию, которая как-то на него воздействует. А другие экземпляры - это другие редукторы, с которыми функция вываливается.



Офлайн

#7 Авг. 10, 2015 15:43:23

tiprhbz
Зарегистрирован: 2015-08-10
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Ищу наставника

Здравствуйте. А как думаете можно начать обучение с книги “Майкл Доусон - Программируем на Python”. и есть ли преимущества?

Офлайн

#8 Авг. 10, 2015 21:07:11

Snowman8526
Зарегистрирован: 2015-06-26
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Ищу наставника

doremi
и есть практическая задача: спарсить все картинки с сайта

Я сам новичок в python-е, но расскажу, как Я изучал а вдруг кому-то пригодится.
Я взял незатейливую задачу посчитать ссылки на сайте. Открыл youtube и нашёл курсы. После проб и банов (потому что система считала, что Я делаю DDoS атаку) остановился на сайте Yandex. Сначала программа работала с памятью, но после 2-х дней работы память закончилась, а цикл выполнялся больше 10 секунд (остался недоволен). Переписал с привязкой к БД она работает, но Я недоволен. Хочу, чтобы она работала на нескольких машинах и завершалась корректно (для минимизации отклонений результатов). Дальше Я планирую прикрутить интерфейс и автоматическое обновление.
Сейчас мой код состоит около 300 строк и выполняется за секунду, но Я недоволен и хочу улучшить код вот к чему надо стремиться. Это моё мнение.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version