Найти - Пользователи
Полная версия: Ищу наставника
Начало » Python для новичков » Ищу наставника
1 2 3 4 5 6
py.user.next
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'
>>>

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

А всё потому, что ты первую функцию пришпилил к формату первого редуктора, который немного отличается от формата второго редуктора и полностью отличается от формата третьего.
Kir_B
Всем привет. Кто хочет обучаться python в команде? Кому интересно отзовитесь. Разбираться вместе легче намного, также можем начать общий не сложный проект.
я в скайпе: kirill7629
4kpt_III
Kir_B
Очень жаль это говорить, но это провальная затея. На форуме уже собиралось команд 7 на моей памяти. Ни к чему это не привело Хотя все может быть Просто особых надежд питать не стоит
doza_and
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. Желательно иметь возможность дописывать скрипты установки для разных источников и разных архиваторов.

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

Kon52
py.user.next

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

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

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

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

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

Kon52
Вы пытаетесь передать в функцию атрибут класса в виде метода для принимаемого этой функцией объекта?
Чего? Да там экземпляр передаётся. Считай, что это аналог редуктора, который передаётся в функцию, которая как-то на него воздействует. А другие экземпляры - это другие редукторы, с которыми функция вываливается.
tiprhbz
Здравствуйте. А как думаете можно начать обучение с книги “Майкл Доусон - Программируем на Python”. и есть ли преимущества?
Snowman8526
doremi
и есть практическая задача: спарсить все картинки с сайта

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

This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB