Поиск типов функций - PullRequest
0 голосов
/ 13 июля 2020
def hello():
    x=1
    return
print(type(hello))

дает <class 'function'> на выходе, а

def hello():
    x=1
    return
print(type(hello()))

дает <class 'NoneType'> на выходе. Почему так?

Ответы [ 2 ]

0 голосов
/ 13 июля 2020

Вы определили функцию с именем hello, поэтому, когда вы распечатаете type переменной hello, вы получите ее тип:

print(type(hello))

Вывод:

<class 'function'>

Однако, когда вы печатаете тип hello(), вы не печатаете переменную, а печатаете тип того, что функция возвращает после выполнения. В вашем определении hello ничего не возвращает или None, поэтому вывод печати типа результата выполнения hello правильно None:

print(type(hello())) 

Вывод:

<class 'None'>
0 голосов
/ 13 июля 2020

это потому, что hello его Переменная типа функции

typeof() функция получает переменную

когда вы помещаете () после имени функции, которую вы играете в функцию, и это больше не переменная.

и typeof() функции не могут ссылаться на нее как на переменную и не могут ее идентифицировать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...