@PesyCorm

Что за ... вместо тела функции?

Привет!
Иногда заглядываю в исходники и ничего для себя не нахожу, потому что вместо тела функции после двоеточия стоят ...
def connect_ex(self, address: Union[_Address, bytes]) -> int: ...
def detach(self) -> int: ...
def dup(self) -> socket: ...

Что это такое? Как посмотреть исходники функции?
Спасибо
  • Вопрос задан
  • 345 просмотров
Решения вопроса 2
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Вы бы хоть погуглили что за файл вы там пытаетесь глянуть:

.pyi файлы - это стабы (stubs), их назначение и формат описаны в PEP 484. Эти файлы вообще никак не используются интерпретатором, их назначение - предоставлять информацию о типизации кода. К примеру, у тебя есть сторонний модуль без типизации, который не твой, редактировать его ты не можешь, а прописать типы хотелось бы:

# fizz.py

def greet(who):
    return f'Hello {who}'


Выход находится с помощью стаба: создаешь файл fizz.pyi, который содержит типизированную сигнатуру greet без имплементации:

# fizz.pyi

def greet(who: str) -> str:
    ...

В этих файлах имплементация кода НЕ ПРЕДУСМОТРЕНА.
Ответ написан
Комментировать
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
.pyi - stab-файлы, которые нужны только для тайпчекинга и не используются в рантайме.
https://www.python.org/dev/peps/pep-0484/#id44
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы