当前位置: 首页 > 面试题库 >

->在Python函数定义中是什么意思?

督翰学
2023-03-14
问题内容

我最近在查看Python 3.3语法规范时发现了一些有趣的东西:

funcdef: 'def' NAME parameters ['->' test] ':' suite

在Python 2中缺少可选的“箭头”块,并且在Python 3中找不到有关其含义的任何信息。事实证明这是正确的Python,并已被解释器接受:

def f(x) -> 123:
    return x

我认为这可能是某种前提语法,但是:

  • 我无法x在此处进行测试,因为它仍未定义,
  • 无论我在箭头(例如2 < 1)后面加上什么,它都不会影响功能行为。
    熟悉此语法的任何人都可以解释吗?

问题答案:

更详细地讲,Python 2.x具有文档字符串,使您可以将元数据字符串附加到各种类型的对象。这非常方便,因此Python 3通过允许您将元数据附加到描述其参数和返回值的函数来扩展了该功能。

没有预想的用例,但PEP建议了几个。一种非常方便的方法是允许您使用期望的类型注释参数。这样就很容易编写一个装饰器来验证注释或将参数强制为正确的类型。另一个是允许特定于参数的文档,而不是将其编码为文档字符串。



 类似资料:
  • 问题内容: 嗨,我遇到了以下代码 这到底是怎么回事?我不确定“&”在做什么。 问题答案: 回答 该符号是按位与运算符。与1一起使用时,基本上会屏蔽该值以提取最低位,换句话说,它将告诉您该值是偶数还是奇数。 有关Python运算符的更多信息 有关更多信息,请参见:http : //wiki.python.org/moin/BitwiseOperators 为什么检查奇数与偶数比较有效 编辑:添加此部

  • 在这里做什么,它是否将这个函数附加到其他函数?

  • 问题内容: 所以我正在学习Java。我有一个月的时间,我刚刚了解了构造函数。但是我看不到创建一个的全部目的。为什么我什么时候要使用?我知道它没有主方法,您可以从主类中调用构造函数。任何人都可以启发我这个话题,这对我有很大帮助。 问题答案: 构造函数是用来初始化/设置类实例的对象。 如果您有一个对象需要一些处理才能使用(例如,初始化成员),则应在构造函数中执行此操作。 理想情况下,您永远不应拥有“部

  • 问题内容: 只是想知道在这里,让变量在程序中存储无限值有什么意义?是否有实际用途,并且在任何情况下都更可取,还是只是为了插入而插入了一个小片段? 问题答案: 它用作比较的无上限上限值。这对于查找某物的最低值很有用。例如,计算遍历树木时的路径路线成本。 例如,在选项列表中找到“最便宜”的路径: 如果您没有空余时间,您将使用什么价值?就足够-消除了这个猜测。

  • 问题内容: 代码是什么 在构造函数内部吗? 例如,这是我的课程的构造函数 它和超类有关吗? 问题答案: 它调用父类的构造函数

  • 问题内容: 我尝试搜索互联网,但找不到可哈希的含义。 当他们说物体是什么或什么意思? 问题答案: 从Python词汇表中: 如果对象的哈希值在其生命周期内始终不变(需要一个方法),并且可以与其他对象进行比较(需要一个方法),则该对象是可哈希的。比较相等的可哈希对象必须具有相同的哈希值。 散列性使对象可用作字典键和set成员,因为这些数据结构在内部使用散列值。 Python的所有不可变内置对象都是可