• Что такое self в Python?

    Сам очень долго не мог понять, но сейчас стал немного понимать, хотя наверное и не до конца. Может кому-то мое объяснение поможет.

    Вот код с leetcode к вот этой задаче:
    Там нужно сложить два числа, записанные в строках, без всяких int и выдать результат также в str.

    class Solution(object):
        def addStrings(self, num1, num2):
            len1 = len (num1)
            len2 = len (num2)
            z1 = 0
            z2 = 0
            for i in range(len1):
                last1 = ord(num1[i]) - 48
                next1 = z1 * 10
                z1 = last1 + next1
            for i in range(len2):
                last2 = ord(num2[i]) - 48
                next2 = z2 * 10
                z2 = last2 + next2     
            return str(z1 + z2)


    Дальше вызываем его с разными данными

    p = Solution()
    print(p.addStrings('192','312'))   # 504
    print(p.addStrings('193','312'))   # 505
    print(p.addStrings('001','100'))   # 101


    Т.е. "p" как был встала после "p = Solution()" на место "self", а после этого уже можно подставлять разные данные и получать результат.

    А что, если попытаться обратиться к классу напрямую, не создавая объекта p (который стал self'ом) ? Это глупо и неправильно, но попробуем.

    print (Solution.addStrings('32','532'))

    И получаем ошибку:
    TypeError: Solution.addStrings() missing 1 required positional argument: 'num2'


    Пайтон посчитал первое значение - "33" как название объекта (мы же класс создали, а в нем должен быть объект!) , второе значение "532" как первое значение внутренней функции addStrings и говорит - а где второе-то значение???

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

    print (Solution.addStrings('p2','111','111'))

    Выдаст нам правильный результат - "222", но объект с именем "p2" не был создан.

    Если мы запросим после этого тип "p" и "p2", то получим такой ответ

    print (type(p)) 
    #<class '__main__.Solution'>
    
    print (type(p2)) 
    NameError: name 'p2' is not defined
    Ответ написан
    Комментировать
  • Где найти других программистов?

    Ответ написан
    Комментировать
  • Возможно ли стать полноценным PHP разработчиком, пройдя комплекс онлайн курсов как Coursera, Code Academy итд?

    Мне кажется, что тут многое зависит от вас
    1. Настойчивость и трудолюбие.
    2. Ваши умения и способности, особенно понимание математики/алгебры.

    Я прошел PHP курс от Codeacademy, но понял, что программирование - это не мое, к большому сожалению. Т.ч. тут курс мне помог. Если после того, как вы пройдете пару курсов - у вас этого ощущения не появится, дерзайте.
    Я знал одного парня, у него было только три курса технического вуза (бросил потом), потом он сам выучил самостоятельно множество программных продуктов (во времена, когда Интернет только появился и не было ни онлайн-курсов, ни информации нормальной) и сдавал на отлично на сертификаты от Microsoft. Сейчас имеет свою фирму по обучению в IT-сфере.
    Ответ написан
    Комментировать
  • Как найти работу аналитику требований в Германии без знания немецкого?

    Ответ один - учите немецкий.

    Без знания языка могут взять (вернее со знанием только английского), если вы какой-то очень классный спец. К тому же для Blau Karte нужно профильное техническое образование - т.е. какая-то корочка ТЕХНИЧЕСКОГО вуза в СНГ. Если ее нет, шансы минимальные.

    Немецкий можно выучить до приемлемого уровня и за год. В век Интернет, youtube и торрентов - информации море. Залил книги на планшет, аудио-файлы на телефон/MP3-плейер, учи в дороге.
    Я начинал учить немецкий, когда этого не было, записывал в тетрадку по десять слов в день и зубрил/зубрил. Свободное время есть всегда, в транспорте, утром на час раньше встать и т.д.
    Ответ написан
    5 комментариев
  • Какой это разъем (выход) на древней цифровой камере?

    Nedder
    @Nedder Автор вопроса
    Похоже на 3 контакта, увеличительного стекла нет под рукой. Найду - посмотрю.
    Ответ написан
  • Как называется человек, который находит клиентов?

    Официально - менеджер по продажам, но человек, который сам ищет клиентов и сам продает им продукт - это именно продажник. Таких 1% от всех возможных менеджеров по продажам. Обычный менеджер по продажам - студент на ставке (невысокой, как правило) и ждет, когда ему позвонят в офис и сами закажут у него что-то. Т.е. обычный офисный планктон.
    Продажник - человек, который весит на телефоне 5-6 часов в день как минимум, легко срывается с места и едет к клиенту за 300-400-700 км, знает не только свой продукт наизусть, но и все продукты конкурентов. Ну, и конечно, хорошо подвешенный язык. Я вот за десять лет объездил все областные центры, многие по 3-4 раза, мелкие города и не считаю. Продажник имеет хорошую ставку + % от продаж. Но если продукт г.., ни один продажник на работу не пойдет, невыгодно ему только на ставку жить.
    Ответ написан
    Комментировать
  • Как отказаться от посылки в Америке?

    Если английский язык позволяет, позвоните и объясните ситуацию. Часто один звонок позволяет решить проблемы, которые в режиме email не решаются неделями.
    Ответ написан
    1 комментарий
  • Проверяют ли носители информации при въезде/выезде в/из США?

    Покупай карту памяти на 64 Гб. Туда архив закинуть, потом карту в мобилку.
    Ответ написан
  • Какой лучше купить или сделать компьютерный стол?

    Выбор невелик.
    1) Посмотреть в салонах вашего города и у них на сайтах. Выбрать наиболее близкий к тому, что хотелось бы.

    Если денег не жалко на хороший стол, то:

    2) Взять какую-то программку для конструирования мебели, хотя бы Pro100, посидеть пару дней, сделать то, что хочется, потом пойти в небольшую фирму, которая может сделать это чудо по вашим эскизам.
    Ответ написан
  • Какие есть методы тренировки памяти?

    Собери денег и пройди обследование в 1-2 других клиниках, не упоминая о первом обследовании. Есть большая доля вероятности неправильного диагноза.
    Ответ написан
    Комментировать
  • Не правильная дата рождения в gmail

    Как менять год я не знаю, но попробуйте выйти из гугл (гмейл) и зарегистрироваться на youtube на временный емейл, например на mail.ru, а потом пристегнуть к гмейл.
    Ответ написан
    1 комментарий
  • Как не забывать дела?

    Дублирование напоминаний. У меня это Microsoft Outlook с его календарями, задачами + напоминание в мобилке.
    Ответ написан
    Комментировать
  • Какой выбрать бесплатный антивирус для компьютера родителей?

    Avast! Юзаю полтора года уже, все ок.
    Ответ написан
    Комментировать
  • Как можно вывести Яндекс деньги на карту приватбанка в Украине

    1. Можно попробовать что-то купить на них в Российском магазине с доставкой в Украине. Например вот, ozon.ru. Купить что-то нужное себе или легко перепродаваемое.
    У меня когда-то «висели» баксов 70 на Amazon в партнерке, а чеки с 100$ высылали. Купил полный сборник книг о Гарри Поттере на английском + Властелин Колец (все в мягком переплете). Как раз с пересылкой и хватило. Потом перепродал и еще даже баксов 15-20 сверху заработал.

    2. Если что-то нужно сделать, можно зарегистрироваться на сайте фри-ланса и потратить деньги как оплату за работу. Например, free-lance.ru. Находишь клиента в Украине, он платит тебе деньги за работу, ты нанимаешь работника на фри-лансе, платишь своими яндекс-мани.
    Ответ написан
    Комментировать
  • Получение PayPal

    SWIFT — это от 20 до 40 долларов и далеко не все умеют делать такие переводы.

    Из самого простого MoneyGram и moneybookers (Skrill теперь называются).
    Ответ написан