PYTHONL Telegram 5056
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Walrus оператор := — присвоение прямо в выражении

В Python есть малоизвестная фишка: можно использовать оператор присваивания := (его ещё называют «walrus»). Он позволяет присваивать значение прямо внутри выражения. Это делает код короче и избавляет от повторных вызовов функций.

📌 Особенности:
• Работает в while, if, list comprehension.
• Удобен для сокращения кода и избежания дублирования.
• Но злоупотребление может сделать код менее читаемым.

🟢Пример: удобно при чтении строк из файла или работе с регулярными выражениями.


Чтение строк из файла с walrus-оператором

def read_file(path):
with open(path) as f:
while (line := f.readline()):
print("Строка:", line.strip())

# Поиск совпадения через regex
import re
pattern = re.compile(r"\d+")

if (match := pattern.search("abc123xyz")):
print("Нашли число:", match.group())

# Применение в list comprehension
nums = [s for s in ["42", "hello", "100"] if (n := s.isdigit())]

print(nums) # ['42', '100']


📌 Больше фишек Python

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍10🔥8😱3



tgoop.com/pythonl/5056
Create:
Last Update:

🖥 Walrus оператор := — присвоение прямо в выражении

В Python есть малоизвестная фишка: можно использовать оператор присваивания := (его ещё называют «walrus»). Он позволяет присваивать значение прямо внутри выражения. Это делает код короче и избавляет от повторных вызовов функций.

📌 Особенности:
• Работает в while, if, list comprehension.
• Удобен для сокращения кода и избежания дублирования.
• Но злоупотребление может сделать код менее читаемым.

🟢Пример: удобно при чтении строк из файла или работе с регулярными выражениями.


Чтение строк из файла с walrus-оператором

def read_file(path):
with open(path) as f:
while (line := f.readline()):
print("Строка:", line.strip())

# Поиск совпадения через regex
import re
pattern = re.compile(r"\d+")

if (match := pattern.search("abc123xyz")):
print("Нашли число:", match.group())

# Применение в list comprehension
nums = [s for s in ["42", "hello", "100"] if (n := s.isdigit())]

print(nums) # ['42', '100']


📌 Больше фишек Python

@pythonl

BY Python/ django


Share with your friend now:
tgoop.com/pythonl/5056

View MORE
Open in Telegram


Telegram News

Date: |

The administrator of a telegram group, "Suck Channel," was sentenced to six years and six months in prison for seven counts of incitement yesterday. Activate up to 20 bots Just as the Bitcoin turmoil continues, crypto traders have taken to Telegram to voice their feelings. Crypto investors can reduce their anxiety about losses by joining the “Bear Market Screaming Therapy Group” on Telegram. Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa.
from us


Telegram Python/ django
FROM American