<MyRusakov.ru />

Разработчик игр на Unreal Engine

Разработчик игр на Unreal Engine

Этот комплект с нуля всего за 7 месяцев сделает Вас Unreal-разработчиком. И при этом учиться достаточно 1 час в день.

Начнёте Вы с основ программирования, постепенно перейдя к C++. Затем очень подробно изучите Unreal Engine, и после научитесь программировать на C++ в Unreal Engine. В конце создадите крупный проект на C++ в Unreal Engine для своего портфолио.

Комплект содержит:

- 416 видеоуроков

- 95 часов видео

- 1024 задания для закрепления материала из уроков

- 3 финальных тестирования

- 4 сертификата

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Оператор звездочка в Python

Оператор звездочка в Python

Достаточно универсальным и при этом удобным оператором в Python является оператор *. Давайте рассмотрим его, но для начала вспомним о множественном присваивании в Python.

Код ниже распределяет значения по переменным в соответствии с их порядком.

 a, b, c = 1, 2, 3
print(a,b,c)

То же самое будет и со значением в виде списка.

 a, b, c = ["hi", 2, False]
print(a,b,c)

Но если мы добавим четвертый параметр в список, то получим ошибку, то же самое и с меньшим количеством параметров.

 a, b, c = ["hi", 2, False, True] #слишком много значений для распаковки.
a
, b, c = ["hi", 2] #слишком мало значений.  

Вот здесь-то нам и пригодится вышеупомянутый оператор *. Просто поставим его перед одной из наших переменных:


a
, b, *c = ["hi", 2, False, True, 10, 11]
 

При этом присваивание произведется по порядку, начиная с первого, а вывод будет следующим:

 hi, 2, [True, 10, 11]

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

 *a, b, c = ["hi", 2, False, True, 10, 11]

# вывод:
["hi", 2, False, True,], 10, 11

Подобные операции присваивания справедливы для любых объектов последовательностей, в том числе для строк

 *a, b, с = "Hello World"
print(a,b,с)

#Также возможно присваивание переменным меньшего количества значений:
*a, b, с = 1, 2

#вывод:
[], 1, 2   # т.е. переменной *a ,был присвоен пустой список.

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


*a, b, с = 1 # недостаточно значений

Еще один пример, но уже с функцией:

 def f(a, b, с, d):
   
print(a, b, с, d)

f
(1, 2, 3, 4)

Но если попытаться передать в функцию список:

 a = ["hello", True, 70, [4,6,8]]

f
(a) # то выйдет ошибка т.к. требуется передать четыре параметра:


# решение следующее

f
(*a) # здесь наш оператор распаковывает массив и передает его элементы по порядку в функцию.

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

 def f (*args):
     
print(args)

f
(1,4,7)

f
() # можно вызвать функции без передачи аргументов


#обход элементов кортежа по значению
def f (*args):
     
print(i)


# нахождение суммы чисел в кортеже:
def f (*args):
     s
= 0
     
for i in args:
         s
+=i
     
return s

print(f(1,2,34,67,7))

Т.о. сегодня мы свами узнали, как с помощью всего одного оператора упростить написание кода.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.