Python Glossary English

все Python 3socketпонятие

socket.SocketType

создание сокетов

Базовый класс сокетов из модуля _socket: годится для isinstance(), но это не тот класс, что создаёт socket.socket().

Синтаксис

isinstance(obj, socket.SocketType)

isinstance(sock, socket.SocketType) истинно, а type(sock) is socket.SocketType — ложно: объекты создаёт подкласс socket.socket. Экземпляр самого SocketType урезан — у него нет makefile() и протокола with, поэтому создавать сокеты им не стоит. Наследоваться и создавать нужно от socket.socket; SocketType пригоден разве что для проверки типа.

Примеры

import socket
with socket.socket() as s:
    print(isinstance(s, socket.SocketType))  # → True
    print(type(s) is socket.SocketType)  # → False
    print(type(s) is socket.socket)  # → True
print(socket.SocketType is socket.socket)  # → False

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности