我知道当这些功能指代其他功能时,内在名称被分配以指代功能。例如: f=max 是 f 固有名称还是 max?
问问题
1875 次
3 回答
6
如果您指的是__name__
属性,则它是在def
创建函数的语句中使用的名称。
Python 3.3.1 (v3.3.1:d9893d13c628, Apr 6 2013, 20:25:12) [MSC v.1600 32 bit (In
tel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def f ():
... return 0
...
>>> f.__name__
'f'
>>> g = f
>>> g.__name__
'f'
>>>
内置函数具有__name__
与其预设名称匹配的属性。
>>> max.__name__
'max'
>>> h = max
>>> h.__name__
'max'
>>>
通过语句以外的其他方式创建的函数def
可能具有属性的默认值__name__
。
>>> (lambda: 0).__name__
'<lambda>'
>>>
于 2013-09-08T23:56:10.293 回答
1
您可以将内部名称视为用户定义def
函数的名称。考虑两种将函数绑定到名称的方法square
:
def square(x):
return x * x
在此def
语句中,创建函数和分配名称同时发生,并且此def
语句为函数提供了一个固有名称。square
这里是“功能广场”。
square = lambda x : x * x
然而,lambda
创建一个lambda x : x * x
没有名称的函数。赋值语句square =
将函数的值赋给名称。square
这里是“函数lambda ”。
于 2016-09-10T15:07:26.960 回答
0
最好看看框架。
f = max
max = 3
f(2,3,4)
全局框架
f ----------------> func max(...) # 对象
最大:3
请注意,函数对象表示 max。那是内在的名字!
于 2021-06-01T01:25:03.903 回答