一文搞懂python的内建函数,自己添加一个print函数

简介: 写python的同学应该都用过print函数,这个函数我们没有定义为什么可以调用?

写python的同学应该都用过print函数,这个函数我们没有定义为什么可以调用?


答案就是因为 print 是内建函数,python的内建函数式都是常用的工具函数,也是系统内置的函数,今天就说下内建函数,结合例子看下,废话不多说,开始


1、什么是内建函数?


python内建函数指的是python自带的函数,这种函数不需要定义,并且不同的内建函数具有不同的功能,可以直接使用。


#!/usr/bin/python2.6
# -*- coding: utf-8 -*-
import builtins
def test():
    print("dsada")
if __name__ == '__main__':
    #   增加内建函数
    builtins.__dict__["testFunc"] = test
    testFunc()
    pass
复制代码


2、内置的内建函数多有哪些?


官方的文档说明链接:docs.python.org/3.9/library…


这里我截图了函数,可以做一个概览,看名字也能猜出这些函数都是做什么的

3c2b3cd2f2e4417e8c7f35965a228fdf~tplv-k3u1fbpfcp-zoom-in-crop-mark_1304_0_0_0.webp.jpg

对上面的函数进行分组:


数学类:sum(),pow(),sum(),round()


随机类:choice(),random(),seed(),shuffle(),uniform()


数字类:abs(),min(),max(),divmod(),ascii()


系统类:xxxattr,xxxmethod,


数据类型:set(),map(),tuple(),list(),bool(),int(),str(),


综合类:其他的可以归于此类


3、特殊函数说明

3.1 exec


格式:exec obj


obj对象可以是字符串(如单一语句、语句块),文件对象,也可以是已经由compile预编译过的代码对象。

举个例子


exec( "print('香菜')")
复制代码


3.2 eval


格式:eval( obj[, globals=globals(), locals=locals()] )


obj可以是字符串对象或者已经由compile编译过的代码对象。globals和locals是可选的,分别代表了全局和局部名称空间中的对象,其中globals必须是字典,而locals是任意的映射对象。


x = 3
print(eval('3*x'))
复制代码


输出结果是9 ,eval 可以引用上下文

3.3 compile


格式:compile( str, file, type )


compile语句是从type类型(包括’eval’: 配合eval使用,’single’: 配合单一语句的exec使用,’exec’: 配合多语句的exec使用)中将str里面的语句创建成代码对象。file是代码存放的地方,通常为”。


compile语句的目的是提供一次性的字节码编译,就不用在以后的每次调用中重新进行编译了。


compile()函数将string编译为代码对象,编译生成的代码对象接下来被exec语句执行,接着能利用eval()函数对其进行求值。filename参数应是代码从其中读出的文件名。如果内部生成文件名,filename参数值应是相应的标识符。kind参数指定string参数中所含代码的类别


3.4 globals和locals


globals()会以字典类型返回当前位置的全部全局变量。


locals()以字典类型返回当前位置的全部局部变量。


对于函数, 方法, lambda 函式, 类, 以及实现了 call 方法的类实例, 它都返回 True。


4、自己增加一个内置函数


在开发过程有些函数经常调用,但是每次都要导包什么的还挺麻烦的,就想着能不能把某几个工具函数加入到内建函数,只要有问题,其他人就会有同样的问题,其实解决的办法很简单,就是在builtins 中dict中添加函数就可以了,下面是个例子:


#!/usr/bin/env python
# encoding: utf-8
"""
#Author: 香菜
@time: 2021/10/10 0010 下午 10:22
"""
import builtins
def test():
    print("dsada")
if __name__ == '__main__':
    #   增加内建函数
    builtins.__dict__["testFunc"] = test
    testFunc()
    pass
复制代码


5、总结


python的内置函数并没有什么特殊的,只不过是系统提供的一些工具方法,实现也都很简单,记住这些常用的工具方法,在开发中一定可以事半功倍,

目录
相关文章
|
1天前
|
开发者 Python
Python入门:8.Python中的函数
### 引言 在编写程序时,函数是一种强大的工具。它们可以将代码逻辑模块化,减少重复代码的编写,并提高程序的可读性和可维护性。无论是初学者还是资深开发者,深入理解函数的使用和设计都是编写高质量代码的基础。本文将从基础概念开始,逐步讲解 Python 中的函数及其高级特性。
Python入门:8.Python中的函数
|
1月前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
32 3
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
45 2
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
Python
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
Python中的函数是**一种命名的代码块,用于执行特定任务或计算
64 18
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8
|
2月前
|
Python
Python中的函数
Python中的函数
62 8
|
9月前
|
算法 Python 容器
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
Python编程 - 不调用相关choose库函数,“众数“挑选器、随机挑选器 的源码编程实现
113 0
|
5月前
|
算法 Python
Python编程的函数—内置函数
Python编程的函数—内置函数
31 0
|
9月前
|
算法 Python
Python编程实验四:函数的使用
Python编程实验四:函数的使用
129 0

热门文章

最新文章

推荐镜像

更多