LINUX.ORG.RU

История изменений

Исправление Norgat, (текущая версия) :

https://docs.python.org/3/library/functions.html

Я бы переводил functions тут как возможности, а не как функции. Или функциями, но как в контексте синтаксиса их вызова.

Ну а вообще:

>>> type(int)
<class 'type'>
>>> type(int.__init__)
<class 'wrapper_descriptor'>
>>> type(any)
<class 'builtin_function_or_method'>
>>> def foo(): return 1
...
>>> type(foo)
<class 'function'>
>>> type(type)
<class 'type'>

Те int(a) это инстанцирование класса, как ты верно написал. Ну и как бы функции это тоже классы, строго говоря. А вызов функций это просто вызов соответствующего метода something. С точки зрения написания интерпретатора так точно легче чем делать и функции и объекты сущностями первого порядка.

Причина - реализация математики поверх процессоров. man int_max, int_min приколы. Потому что в python числа у нас обернуты в объекты:

>>> a = 1
>>> a.__init__
<method-wrapper '__init__' of int object at 0x00007FFC206B09B8>

Касательно примера int('3', base=4) - так в синтаксисе python такой вызов функций тоже есть, так что это просто сахар на который можно не обращать внимания.

Исправление Norgat, :

https://docs.python.org/3/library/functions.html

Я бы переводил functions тут как возможности, а не как функции. Или функциями, но как в контексте синтаксиса их вызова.

Ну а вообще:

>>> type(int)
<class 'type'>
>>> type(int.__init__)
<class 'wrapper_descriptor'>
>>> type(any)
<class 'builtin_function_or_method'>
>>> def foo(): return 1
...
>>> type(foo)
<class 'function'>
>>> type(type)
<class 'type'>

Те int(a) это инстанцирование класса, как ты верно написал. Ну и как бы функции это тоже классы, строго говоря. А вызов функций это просто вызов соответствующего метода something. С точки зрения написания интерпретатора так точно легче чем делать и функции и объекты сущностями первого порядка.

Причина - реализация математики поверх процессоров. man int_max, int_min приколы. Потому что в python числа у нас обернуты в объекты:

>>> a = 1
>>> a.__init__
<method-wrapper '__init__' of int object at 0x00007FFC206B09B8>

Касательно примера int(3, base=3) - так в синтаксисе python такой вызов функций тоже есть, так что это просто сахар на который можно не обращать внимания.

Исправление Norgat, :

https://docs.python.org/3/library/functions.html

Я бы переводил functions тут как возможности, а не как функции.

Ну а вообще:

>>> type(int)
<class 'type'>
>>> type(int.__init__)
<class 'wrapper_descriptor'>
>>> type(any)
<class 'builtin_function_or_method'>
>>> def foo(): return 1
...
>>> type(foo)
<class 'function'>
>>> type(type)
<class 'type'>

Те int(a) это инстанцирование класса, как ты верно написал. Ну и как бы функции это тоже классы, строго говоря. А вызов функций это просто вызов соответствующего метода something. С точки зрения написания интерпретатора так точно легче чем делать и функции и объекты сущностями первого порядка.

Причина - реализация математики поверх процессоров. man int_max, int_min приколы. Потому что в python числа у нас обернуты в объекты:

>>> a = 1
>>> a.__init__
<method-wrapper '__init__' of int object at 0x00007FFC206B09B8>

Исходная версия Norgat, :

https://docs.python.org/3/library/functions.html

Я бы переводил functions тут как возможности, а не как функции.

Ну а вообще:

>>> type(int)
<class 'type'>
>>> type(int.__init__)
<class 'wrapper_descriptor'>
>>> type(any)
<class 'builtin_function_or_method'>
>>> def foo(): return 1
...
>>> type(foo)
<class 'function'>
>>> type(type)
<class 'type'>

Те, что int(a) это инстанцирование класса. Потому что в python числа у нас обернуты в объекты:

>>> a = 1
>>> a.__init__
<method-wrapper '__init__' of int object at 0x00007FFC206B09B8>

Причина - реализация математики поверх процессоров. man int_max, int_min приколы.