PRO_PYTHON_CODE Telegram 1057
😮 5 удивительных скрытых возможностей Python

Секрет 1. ELSE в циклах FOR и WHILE

Когда мы начинаем программировать, одним из первых знакомств являются условные операторы (if-else). Они позволяют изменять поток кода в зависимости от значения определенной переменной. В блоке if проверяется логическое условие, и если оно не выполняется, выполняется код, определенный в блоке else.

🟠Но также можно использовать ключевое слово else в циклах for и while. В этом случае, функциональность else сводится к выполнению кода только при успешном завершении цикла без оператора break.

Это может быть полезно, например, если у нас есть список чисел и мы хотим написать логику, которая определяет, является ли любое из чисел в списке четным:
# определяем список чисел
numbers: list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# также определяем переменную-флаг, которая укажет, было ли найдено четное число
found_even: bool = False

for num in numbers:
# если остаток после деления на 2 равен 0, то число четное
if num % 2 == 0:
print(f"{num} is even")
# устанавливаем флаг в True, потому что нашли четное число
found_even = True
# мы можем остановить выполнение, потому что нашли четное число
break

# если значение флага False, то четных чисел не найдено
if not found_even:
print("No even numbers found")


🟠Эта логика относительно проста. Применяем флаг (в данном случае переменная found_even) для обозначения того, найдено ли четное число или нет. Если в процессе итерации находится четное число, используем ключевое слово break, чтобы остановить выполнение цикла.

Вышеприведенное можно записать следующим образом:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print(f"{num} is even")
break
else:
print("No even numbers found")


🟠Теперь переменная-флаг found_even больше не требуется. Мы можем использовать ключевое слово else, чтобы вывести “Четные числа не найдены” только в том случае, если ключевое слово break так и не будет задействовано в процессе итерации цикла.

Секрет 2. Оператор walrus

🟠Оператор walrus (:=) был введен в версию Python 3.8. Он используется для назначения переменных со значениями в качестве выражений.

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

🟠Предположим, нам нужно получить 10. Обычно пишем что-то вроде:
import random

rand = None
while True:
# генерация случайного числа от 1 до 100
rand = random.randint(1, 100)
# если случайное число равно 10, прервать выполнение
if rand != 10:
print(rand)
else:
break

# это будет выполнено только в том случае, если мы получим 10 и прервем цикл
print("We got a 10!")

Генерируем в цикле случайное число и сохраняем его в переменной rand. Количество итераций зависит от значения переменной rand. Чем быстрее rand станет равным 10, тем быстрее прервем цикл.

🟠Теперь с помощью оператора walrus получим ту же функциональность, используя приведенный ниже код:
import random

while (rand := random.randint(1, 100)) != 10:
print(rand)

print("We got a 10!")


Здесь сообщаем Python, что хотим, чтобы цикл while выполнялся до тех пор, пока значение rand не станет равно 10. Кроме того, сообщаем ему, что rand будет получать свое значение из random.randint(1, 100) с каждой новой итерацией.

📌 Секрет 3. Многоточие (и др. секреты)

@pro_python_code
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥53🥰2👏1



tgoop.com/pro_python_code/1057
Create:
Last Update:

😮 5 удивительных скрытых возможностей Python

Секрет 1. ELSE в циклах FOR и WHILE

Когда мы начинаем программировать, одним из первых знакомств являются условные операторы (if-else). Они позволяют изменять поток кода в зависимости от значения определенной переменной. В блоке if проверяется логическое условие, и если оно не выполняется, выполняется код, определенный в блоке else.

🟠Но также можно использовать ключевое слово else в циклах for и while. В этом случае, функциональность else сводится к выполнению кода только при успешном завершении цикла без оператора break.

Это может быть полезно, например, если у нас есть список чисел и мы хотим написать логику, которая определяет, является ли любое из чисел в списке четным:
# определяем список чисел
numbers: list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# также определяем переменную-флаг, которая укажет, было ли найдено четное число
found_even: bool = False

for num in numbers:
# если остаток после деления на 2 равен 0, то число четное
if num % 2 == 0:
print(f"{num} is even")
# устанавливаем флаг в True, потому что нашли четное число
found_even = True
# мы можем остановить выполнение, потому что нашли четное число
break

# если значение флага False, то четных чисел не найдено
if not found_even:
print("No even numbers found")


🟠Эта логика относительно проста. Применяем флаг (в данном случае переменная found_even) для обозначения того, найдено ли четное число или нет. Если в процессе итерации находится четное число, используем ключевое слово break, чтобы остановить выполнение цикла.

Вышеприведенное можно записать следующим образом:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for num in numbers:
if num % 2 == 0:
print(f"{num} is even")
break
else:
print("No even numbers found")


🟠Теперь переменная-флаг found_even больше не требуется. Мы можем использовать ключевое слово else, чтобы вывести “Четные числа не найдены” только в том случае, если ключевое слово break так и не будет задействовано в процессе итерации цикла.

Секрет 2. Оператор walrus

🟠Оператор walrus (:=) был введен в версию Python 3.8. Он используется для назначения переменных со значениями в качестве выражений.

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

🟠Предположим, нам нужно получить 10. Обычно пишем что-то вроде:
import random

rand = None
while True:
# генерация случайного числа от 1 до 100
rand = random.randint(1, 100)
# если случайное число равно 10, прервать выполнение
if rand != 10:
print(rand)
else:
break

# это будет выполнено только в том случае, если мы получим 10 и прервем цикл
print("We got a 10!")

Генерируем в цикле случайное число и сохраняем его в переменной rand. Количество итераций зависит от значения переменной rand. Чем быстрее rand станет равным 10, тем быстрее прервем цикл.

🟠Теперь с помощью оператора walrus получим ту же функциональность, используя приведенный ниже код:
import random

while (rand := random.randint(1, 100)) != 10:
print(rand)

print("We got a 10!")


Здесь сообщаем Python, что хотим, чтобы цикл while выполнялся до тех пор, пока значение rand не станет равно 10. Кроме того, сообщаем ему, что rand будет получать свое значение из random.randint(1, 100) с каждой новой итерацией.

📌 Секрет 3. Многоточие (и др. секреты)

@pro_python_code

BY Python RU


Share with your friend now:
tgoop.com/pro_python_code/1057

View MORE
Open in Telegram


Telegram News

Date: |

Just at this time, Bitcoin and the broader crypto market have dropped to new 2022 lows. The Bitcoin price has tanked 10 percent dropping to $20,000. On the other hand, the altcoin space is witnessing even more brutal correction. Bitcoin has dropped nearly 60 percent year-to-date and more than 70 percent since its all-time high in November 2021. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. Don’t publish new content at nighttime. Since not all users disable notifications for the night, you risk inadvertently disturbing them. Those being doxxed include outgoing Chief Executive Carrie Lam Cheng Yuet-ngor, Chung and police assistant commissioner Joe Chan Tung, who heads police's cyber security and technology crime bureau. Channel login must contain 5-32 characters
from us


Telegram Python RU
FROM American