python部分源码中方法只有pass占位符解释

转自:https://blog.csdn.net/pansaky/article/details/89242404

首先:

[En]

First of all:

python定义函数,必须有函数体,否则编译就会报错。函数体用一句pass占位是防止报错,并且不会有任何动作。这种只有pass的函数一般有以下几种可能:

1、父类中声明函数,但不声明实现,由继承的子类进行实现,也就是说这就是一个空方法;

2、这个函数的具体实现不用python编写,而是由例如C这种高效语法编写,在包中只用一个空方法占位,调用的时候是调用C语言实现的方法。你说的可能是第二种情况。python中有一些需要大量运算的内置函数是用C或者C++写的。

例如,这里:

[En]

For example, here:

def next(iterator, default=None): # real signature unknown; restored from doc
“””
next(iterator[, default])

Return the next item from the iterator. If default is given and the iterator
is exhausted, it is returned instead of raising StopIteration.

“””
pass
底层函数是用C语言实现的,这里定义的函数类似于借口和说明(只是告诉您如何使用它们,如果您想看c源代码,),因为当您帮助(Str)时,它们将被显示。目标是每个函数所做的事情,一种通过注释反射进行记录的方法。

[En]

The underlying functions are implemented in C language, and the functions defined here are just similar to an excuse and instructions (just telling you how to use them, if you want to see the c source code,), because when you help (str), they will be displayed. The goal is what each function does, a way to document through annotation reflection.

例如,下面定义的函数

[En]

For example, the functions defined below

def func(a: int, b: str):
return b * a
int和str并没有任何作用,但是当你用inspect.getfullargspec(func).annotations的时候能看到每个变量的定义一样,当然定义除了可以是类,还可以是函数,常量等。

[En]

版权声明:本文为CSDN博主《田健胡马羚月鸟》的原创文章,符合CC 4.0BY-SA的版权协议。请附上原始来源链接和此声明以供转载。

[En]

Copyright notice: this article is the original article of CSDN blogger “Tian Jian Hu Ma Ling Yue Bird”, in accordance with the copyright agreement of CC 4.0BY-SA. Please attach the original source link and this statement for reprint.

原文链接:https://blog.csdn.net/pansaky/article/details/89242404

Original: https://www.cnblogs.com/dhcn/p/16382231.html
Author: 辉–
Title: python部分源码中方法只有pass占位符解释

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/6366/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部