Kangaroo
2.27K subscribers
112 photos
61 files
432 links
Kangaroo — о программировании и технологиях.

Python, серверная разработка, инфраструктура, ИИ и собственные проекты. Статьи, технические разборы, эксперименты и наблюдения из практики.

Иногда — математика и котики :)

По всем вопросам: @Lodhel
Download Telegram
Вчера мы создали функцию которая принимала в качестве аргумента имя пользователя и обращалась к пользоветелю с текстовым шаблонном.

Сегодня я хотел бы показать как получить конретного пользователя в Django.
А так же написать различие между

objects.get()
objects.filter()


Когда в базе данных имеется множество пользователей а нам нужно чтобы наша программа находила конкретного пользователя по номеру телефона (учитывая что номер телефона для пользователя значение уникальное, т.е. один телефонный номер не может быть более чем у одного пользователя).

Так вот сразу отмечу что для нахождения одного пользователя используется

.get()

Теперь создадим функцию, которая в качестве аргумента будет принимать номер телефона, и возвращать объект т.е. нашего пользователя.

def get_user(phone_number):
try:
user = User.objects.get(phone_number=phone_number)
except:
user = None

return user

Сдесь так же учитвается что в модели User определено поле phone_number.

Блок try/except используется для исключения ошибки в програмном коде, если пользователя с таким номером нет, будет выведено исключение и переменной user будет присвоено значение None.

Внимание! Если необходимо найти несколько пользователей, например по полу используем:

objects.filter(gender='male')


#python #django
#ORM #development
#SQL #models
Доброго времени суток, канал расширяет публикационное пространство и теперь мы открываем группу вконтакте
https://vk.com/kangarooteampy

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

👍👍👍
Распознавание объектов на Python / Глубокое машинное обучение
В ходе урока вы создадите программу, которая будет распознавать объекты на фото, а также на видео и выводить названия этих объектов.

#видеодня

https://prglb.ru/jbk7
Доброго времени суток!

Представляю Вам канал своего партнера от известной компании!

https://t.me/mrgchamps
ООП в python.

Давайте создадим объект, пусть это будет персонаж в игре:


class Character:
pass

P.S. название классов с большой буквы

Какие же атрибуты имеет персонаж в игре, ну например в TES это было бы хп(жизнь), мана(магия), ну и сила(или выносливость)


class Character:
def get_atribut(hp, mana, power):
atributs {
'hp': hp,
'mana': mana,
'power': power
}
return atributs

Итак мы создали обьект, внутри которого поместили метод получения его атрибутов.

Обьект имеет атрибуты и методы. Атрибуты это какие то качества, свойства объекта, а методы это какие то действия или события связанные с объектом.(Да да мы еще не рассмотрели методы) Завтра мы детально рассмотрим нашего персонажа компьютерной игры а так же разберем тему наследование обьектов.
Forwarded from Библиотека программиста
ТОП-10 книг по Python: эффективно, емко, доходчиво

В любом обучении важен сам процесс и то, какой материал вы используете. Предлагаем рассмотреть подборку книг по Python на любой случай.

https://prglb.ru/2rkku
Тем временем

https://russia404.net
Ребят на случай блокировки рунета скину вам полезное приложение:
https://play.google.com/store/apps/details?id=io.mfbox
JS corp - приглашает в команду молодых специалистов различных направлений, новаторов, общественные организации и представителей бизнеса.
Команда - это то, без чего ни один стоящий проект не воплотится в жизнь. JS corp. уверены, что молодые специалисты достойны шанса попробовать свои силы даже в самых смелых проектах, тем самым принести пользу как себе, так и основателям этих проектов.
#startup #innovation #projec #junior #team

Заходи в группу вконтакте, нажимай хочу в команду и вперед!

https://vk.com/jscorp
Доброго времени суток народ! Я не всегда вовремя публикую статьи по программированию на питоне, в связи с тем что бываю занят. Но все же я хочу уделять каналу больше времени и публиковать чаще полезный материал, который будет вам интересен.

В связи с этим, хотел порадовать Вас тем, что мы теперь есть и в Яндекс Дзен!

https://zen.yandex.ru/media/id/5cbb4adabc785500b3b6b47b/o-sebe-5cbb4e5d4500ff00b30aa2a1
Итак допустим у нас есть персонаж:

class Character:
…

# создадим метод
# левел апа
def level_up():
…
char.level += 1
char.save()
return JsonResponse(
{
'request': char.level
})



Теперь у нас есть персонаж, и каждый раз при вызове метода класса level_up уровень персонажа будет повышаться на один.

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

class Mage(Character):
def fire_boll():
# логика
…


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

Таким образом в питоне наследуются объекты.

Скоро мы поговорим о такой фиче в пайтон как супер!
Forwarded from Библиотека программиста
Быстрый путеводитель по Python: cписки за 7 минут

Не путайте в Python списки и массивы: в первых можно хранить разнородные объекты. Здесь кратко описаны все основные методы списков Python 3.x.

https://prglb.ru/3wj22
Порой бывает так, что нужно воспользоваться методом родительского класса, который имеет то же название что и в дочернем классе.

В таком случае нам на помощь приходит функция супер!


super().get(self, request, *args, **kwargs)


Таким образом вызвав функцию super мы вызвали метод get, но не тот который мы определили в нашем дочернем классе, а тот от которого мы унаследовали класс.

#ООП #python #development
Ассоциативные массивы, слышал ли кто нибудь такое? Так вот с чем же их едят в python. На самом деле это словарь в питоне. И сегодня мы обсудим как обращаться по ключу и получать значение заданное в ключе.


array_auto = {
'Nissan': ['skyline',
'almera'],
'Lada': ['kalina', 'priora']
}


В нашем словаре имеются название автомобилей, если мы обратимся к названию автомобиля то конкретизируем нашу марку и получим данные о производителе.

Так вот например нам нужен Nissan:


array_auto['Nissan']

На что мы получим массив:

['skyline', 'almera']

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


…
[{'skyline': ['r32', 'r33', 'r34']},
'almera'],
…

В таком случае для того чтобы получить Nissan Skyline R34 нам пришлось бы обратиться по следующему ключу

array_auto['Nissan']
['skyline']

Получили массив
[ 'r32', 'r33', 'r34']
И после обратимся по индексу, т.к в питоне индентификация с нуля, укажем значение индентификатора 2.

array_auto['Nissan']
['skyline'][2]


Так обращаются в python по ключу, и получают значения…
Доброго времени суток!

Сегодня пост интерактивный, а все потому что я столкнулся с одной проблемой.

Сейчас я пытаюсь связать Django Rest framework и Channels.

Задал вопрос на стаковерфлоу

https://ru.stackoverflow.com/questions/975974/Связка-django-rest-framework-и-channels

Если есть компетентные в этом вопросе напишите мне @Lodhel

После решения этой проблемы, напишу туториал для всех 😉
Требования к Python-разработчику на мировом рынке 2019 года
Исследование о наборе навыков, необходимых Python-разработчику в 2019 году. Будьте самым востребованным на мировом рынке труда!

#статьядня

https://prglb.ru/22gh6