«Отсутствие в словаре значения для переменной missing приводит к тому, что метод substitute() возбуждает исключение KeyError. В то же время метод safe substitute() вместо возбуждения исключения перехватывает его и оставляет в тексте само выражение переменной».
«Ключевым отличием шаблонов от строковых подстановок (интерполяции) и форматирования с помощью метода format() является то, что они не учитывают тип аргументов. Значения преобразуются в строки, а строки вставляются в результат. Опции форматирования полностью отсутствуют. Например, не существует способа управлять количеством цифр, используемых для представления значений с плавающей запятой.
Однако шаблоны обладают тем неоспоримым преимуществом, что использование их метода safe_substitute() позволяет избежать возникновения исключений в тех случаях, когда не все значения, в которых нуждаются шаблоны, представлены
аргументами».
👍1👎1
🧩 Что покажет t.pattern.pattern?
Anonymous Quiz
24%
Саму строку шаблона '$var'
31%
Регулярку, используемую для поиска переменных в шаблоне
35%
Покажет саму строку шаблона "\\$[a-zA-Z_][a-zA-Z0-9_]"
10%
Error
😱3
«Значением атрибута t.pattern является скомпилированное регулярное выражение, но исходная строка доступна через его атрибут pattern:
\$(?:
(?P<escaped>\$) | # Escape sequence of two delimiters
(?P<named>(?a:[_a-z][_a-z0-9]*)) | # delimiter and a Python identifier
{(?P<braced>(?a:[_a-z][_a-z0-9]*))} | # delimiter and a braced identifier
(?P<invalid>) # Other ill-formed delimiter exprs
)»
Это сложное регулярное выражение с именованными группами, которое обрабатывает различные варианты синтаксиса переменных в шаблонах Python.
🗿3
🤨2
«pandas.melt(frame, id_vars=None, value_vars=None, var_name=None, value_name='value', col_level=None, ignore_index=True)
Изменяет представление данных с «широкого» на «длинный», при необходимости оставив заданные идентификаторы
То есть у каждого из трех id появится по три строки (по одной на каждую метрику — height, weight, age).
🤯1
👍1👎1
DataFrame.dropna(*, axis=0, how=<no_default>, thresh=<no_default>, ...) Удаляет записи с пропущенными значениями. ...
Параметры:
...
thresh : int, optional
Порог отсечки по пустоте столбца.
В задаче выше удаляться все столбцы, чья заполненность ниже 80%.
GitHub
pandas/pandas/core/frame.py at v2.3.1 · pandas-dev/pandas
Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more - pandas-dev/pandas
👍2❤1
🧩 Как узнать длину словаря?
Anonymous Quiz
7%
my_dict.length()
3%
count(my_dict)
79%
len(my_dict)
11%
my_dict.size()
👍2
Возвращает длину (количество элементов) объекта. Аргумент может быть последовательностью (например, строкой, байтами, кортежем, списком или диапазоном) или коллекцией (например, словарём, набором или фиксированным набором).
👍1👎1
🧩 Какой объект не является базовым типом данных?
Anonymous Quiz
7%
set
28%
complex
38%
nan
27%
Все являются
👍1😱1
«... Допускается вызывать метод без экземпляра при условии, что метод его не ожидает, и метод вызывается только через класс и никогда через экземпляр. То есть Python будет передавать экземпляр методам только для вызовов через экземпляр. При вызове через класс передавать экземпляр вручную понадобится только в случае, если метод его ожидает:
class Selfless:
def __init__(self, data):
def selfless(arg1, arg2): # Простая функция
return arg1 + arg2
def normal(self, arg1, arg2): # При вызове ожидается экземпляр
return
X = Selfless(2)
X.normal(3, 4) # Экземпляр передается self автоматически: 2+(3+4)
print(Selfless.normal(X, 3, 4)) # Метод ожидает self: передать вручную
print(Selfless.selfless(3, 4)) # Без передачи экземпляра
Последний тест работает из-за того, что такие методы трактуются как простые функции, не нуждающиеся в экземпляре. Несмотря на то что в Python З.Х перестают отлавливаться некоторые потенциальные ошибки (что, если программист забыл передать экземпляр?), появляется возможность использовать методы класса как простые функции до тех пор, пока им не передается аргумент экземпляра self и они не рассчитывают на него.
👍1👎1
👍3👎1
... Если не определить метод str или repr в классе, то используется реализация по умолчанию, которая возвращает строку с именем класса и адресом объекта в памяти.
Именно это и происходит в вашем примере.
Python documentation
3. Data model
Objects, values and types: Objects are Python’s abstraction for data. All data in a Python program is represented by objects or by relations between objects. (In a sense, and in conformance to Von ...
👍1👎1
😐8👍2👎1
«... Избегайте лишних пробелов в следующих ситуациях:
...
... непосредственно перед открывающей скобкой, которая начинает список аргументов вызова функции:
spam(1) # верно
spam (1) # неверно»
Пробел между названием функции и скобкой не уронит программу.
Python Enhancement Proposals (PEPs)
PEP 8 – Style Guide for Python Code | peps.python.org
This document gives coding conventions for the Python code comprising the standard library in the main Python distribution. Please see the companion informational PEP describing style guidelines for the C code in the C implementation of Python.
👍2👎1