Home  >  Article  >  Backend Development  >  How to view the source code of python built-in functions

How to view the source code of python built-in functions

(*-*)浩
(*-*)浩Original
2019-06-29 10:29:499469browse

在用Python进行各种分析的时候,我们会用到各种各样的函数,比如,我们用SQL时,经常使用join、max等各种函数,那么想看Python是否有这个函数,这个时候可能大部分人会百度,那么如何不使用百度,而用Python本身来查找函数,学习函数的用法呢?

How to view the source code of python built-in functions

这里还可以使用help函数:(推荐学习:Python视频教程

import math
help(math)

help函数会得到一个带有说明的函数列表,如下:

How to view the source code of python built-in functions

如果还是对函数不是特别了解,可以到方法的文件中去看函数的定义,利用***.__file__查看位置,然后打开后缀名为.py的文件。

import random
random.__file__

结果为:这样就可以到这个py文件中查看源码

'D:\\Anaconda2\\envs\\py3\\lib\\random.py'

这里需要注意一下:

***.pyc的文件是编译后的文件,打开是看不懂的,所以要看***.py文件。

在里面可以搜想看的函数,具体的定义,比如说,我搜了expovariate函数,下面把该方法贴出来,这样就可以看到该方法是如何声明的辣,这样是不是也很方便,而且了解的更加透彻呢~

def expovariate(self, lambd):
        """Exponential distribution.
        lambd is 1.0 divided by the desired mean.  It should be
        nonzero.  (The parameter would be called "lambda", but that is
        a reserved word in Python.)  Returned values range from 0 to
        positive infinity if lambd is positive, and from negative
        infinity to 0 if lambd is negative.
        """
        # lambd: rate lambd = 1/mean
        # ('lambda' is a Python reserved word)
 
        # we use 1-random() instead of random() to preclude the
        # possibility of taking the log of zero.
        return -_log(1.0 - self.random())/lambd

更多Python相关技术文章,请访问Python教程栏目进行学习!

The above is the detailed content of How to view the source code of python built-in functions. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:How to use redis cacheNext article:How to use redis cache