PYPROGLIB Telegram 7084
🔥 Новое в Python 3.14: functools.Placeholder

functools.partial давно помогает замораживать аргументы функций. Но раньше были ограничения: если аргументы были только позиционные, их нельзя было зафиксировать через partial с именованными параметрами.

В Python 3.14 это решает новый functools.Placeholder.

➡️ Пример: удаление пунктуации

До 3.14 приходилось писать обёртку:
import string

_table = str.maketrans("", "", string.punctuation)

def remove_punctuation(s):
return s.translate(_table)

print(remove_punctuation("Hello, world!")) # Hello world


С Placeholder можно напрямую зафиксировать второй аргумент:
from functools import partial, Placeholder
import string

_table = str.maketrans("", "", string.punctuation)
remove_punctuation = partial(str.translate, Placeholder, _table)

print(remove_punctuation("Hello, world!")) # Hello world


Что нужно понимать:
📝 Placeholder резервирует место для аргумента, который придёт позже.
📝 Вызов remove_punctuation("text") превращается в str.translate("text", _table).
📝 Удобнее импортировать короче:
  from functools import Placeholder as _P


Теперь partial можно использовать и с функциями, где аргументы позиционные-only.
Это открывает дорогу к более лаконичному и гибкому коду, без лишних обёрток.

🐸 Библиотека питониста

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍98🤔3🔥2



tgoop.com/pyproglib/7084
Create:
Last Update:

🔥 Новое в Python 3.14: functools.Placeholder

functools.partial давно помогает замораживать аргументы функций. Но раньше были ограничения: если аргументы были только позиционные, их нельзя было зафиксировать через partial с именованными параметрами.

В Python 3.14 это решает новый functools.Placeholder.

➡️ Пример: удаление пунктуации

До 3.14 приходилось писать обёртку:

import string

_table = str.maketrans("", "", string.punctuation)

def remove_punctuation(s):
return s.translate(_table)

print(remove_punctuation("Hello, world!")) # Hello world


С Placeholder можно напрямую зафиксировать второй аргумент:
from functools import partial, Placeholder
import string

_table = str.maketrans("", "", string.punctuation)
remove_punctuation = partial(str.translate, Placeholder, _table)

print(remove_punctuation("Hello, world!")) # Hello world


Что нужно понимать:
📝 Placeholder резервирует место для аргумента, который придёт позже.
📝 Вызов remove_punctuation("text") превращается в str.translate("text", _table).
📝 Удобнее импортировать короче:
  from functools import Placeholder as _P


Теперь partial можно использовать и с функциями, где аргументы позиционные-only.
Это открывает дорогу к более лаконичному и гибкому коду, без лишних обёрток.

🐸 Библиотека питониста

#буст

BY Библиотека питониста | Python, Django, Flask




Share with your friend now:
tgoop.com/pyproglib/7084

View MORE
Open in Telegram


Telegram News

Date: |

best-secure-messaging-apps-shutterstock-1892950018.jpg Choose quality over quantity. Remember that one high-quality post is better than five short publications of questionable value. Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. Click “Save” ; Each account can create up to 10 public channels
from us


Telegram Библиотека питониста | Python, Django, Flask
FROM American