#python #python-3.5
#python #python-3.5
Вопрос:
Я пытался переопределить функциональность isspace()
для своих личных экспериментов, поэтому я попытался перейти к исходному источнику. Я приземлился на builtins.py при следующей реализации:
def isspace(self): # real signature unknown; restored from __doc__
"""
S.isspace() -> bool
Return True if all characters in S are whitespace
and there is at least one character in S, False otherwise.
"""
return False
Мне стало любопытно, где реализована эта встроенная функция, но я не смог разобраться в этом (возможно, из-за отсутствия основательного опыта программирования).
Я всегда могу написать свои реализации, но было бы неплохо узнать немного больше в этом направлении, чтобы улучшить мое общее понимание python, если кто-нибудь может указать на это.
Комментарии:
Ответ №1:
Существуют интерпретаторы Python, написанные на нескольких языках. Это, оригинал, написано на C по своей сути. Некоторые из его библиотечных функций также написаны на C. Это одна из таких функций. Нигде нет реализации кода Python isspace()
. Чтобы найти реализацию, вам нужно будет посмотреть на C-код.
ОБНОВЛЕНИЕ: я только что видел комментарий @Amadan. Я думаю, он нашел код C.
UPDATE2: у меня лежал код CPython, поэтому я посмотрел сам. Я думаю, что @Amadan был близок, но я думаю, что фактическая реализация — это unicode_isspace_impl
функция в этом файле C
Комментарии:
1. Обратите внимание, что функция Python
isspace
отличается от стандартной функции C с тем же именем (объявленной в<ctype.h>
).