当前位置:网站首页>全部内置函数详细认识(中篇)
全部内置函数详细认识(中篇)
2022-08-10 14:59:00 【华为云】
文章目录
前言
前言
承接上篇博客,以下我要讲解的是Python中剩余的重要内置函数,其中比较重要的会详细讲解,比较简单的会直接结合代码进行剖析
一、exec和eval内置函数
️1、exec内置函数
python内置函数exec支持动态执行python代码,传入exec函数的object实参可以是字符串,也可以是字节码对象。如果object实参是字符串则会被exec函数编译并执行,如果是字节码对象则会被直接执行。通常exec配合compile函数来使用。
描述
exec 执行储存在字符串或文件中的 Python 语句,相比于 eval,exec可以执行更复杂的 Python 代码。语法
以下是 exec 的语法:exec(object[, globals[, locals]])
参数
object:必选参数,表示需要被指定的 Python 代码。它必须是字符串或 code 对象。如果 object 是一个字符串,该字符串会先被解析为一组 Python 语句,然后再执行(除非发生语法错误)。如果 object 是一个 code 对象,那么它只是被简单的执行。
globals:可选参数,表示全局命名空间(存放全局变量),如果被提供,则必须是一个字典对象
locals:可选参数,表示当前局部命名空间(存放局部变量),如果被提供,可以是任何映射对象。如果该参数被忽略,那么它将会取与 globals 相同的值。
返回值
exec 返回值永远为 None。
️2、eval内置函数
eval只能用在你明确知道你要执行的代码是什么的时候,且一般情况下不会使用
描述
eval() 函数用来执行一个字符串表达式,并返回表达式的值。语法
以下是 eval() 方法的语法:eval(expression[, globals[, locals]])
参数
expression -- 表达式。
globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
返回值
返回表达式计算结果。
️3、代码实练总结exec和eval内置函数
- eval有返回值 ———— 适用于有结果的简单计算
- exec没有返回值 ———— 适用于简单的流程控制
函数代码
二、compile内置函数
描述
compile() 函数将一个字符串编译为字节代码。
计算机是不认识print等,必须将他们编译成字节码才能让计算机能够识别
语法
以下是 compile() 方法的语法:
compile(source, filename, mode[, flags[, dont_inherit]])
参数
source -- 字符串或者AST(Abstract Syntax Trees)对象。。
filename -- 代码文件名称,如果不是从文件读取代码则传递一些可辨认的值。
mode -- 指定编译代码的种类。可以指定为 exec, eval, single。
flags -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。。
flags和dont_inherit是用来控制编译源码时的标志
代码理解:
三、complex内置函数
描述
complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。语法
complex 语法:class complex([real[, imag]])
参数说明:real -- int, long, float或字符串;
imag -- int, long, float;
返回值
返回一个复数。代码理解:
四、 bin、oct、和hex内置函数
- bin:返回一个整数 int 或者长整数 long int 的二进制表示。
- oct:将一个整数转换成 8 进制字符串,8 进制以 0o 作为前缀表示。
- hex:用于将一个指定数字转换为 16 进制数。
五、abs内置函数
返回数字的绝对值
六、divmod内置函数
Python divmod() 函数接收两个数字类型(非复数)参数,返回一个包含商和余数的元组(a // b, a % b)。
在 python 3.x 版本该函数不支持复数。
函数语法
divmod(a, b)
参数说明:
- a: 数字,非复数。
- b: 数字,非复数。
如果参数 a 与 参数 b 都是整数,函数返回的结果相当于 (a // b, a % b)。
如果其中一个参数为浮点数时,函数返回的结果相当于 (q, a % b),q 通常是 math.floor(a / b),但也有可能是 1 ,比小,不过 q * b + a % b 的值会非常接近 a。
如果 a % b 的求余结果不为 0 ,则余数的正负符号跟参数 b 是一样的,若 b 是正数,余数为正数,若 b 为负数,余数也为负数,并且 0 <= abs(a % b) < abs(b)。
七、pow内置函数
pow(x,y) 方法返回 xy(x的y次方) 的值。
内置的 pow() 方法
语法:
pow(x, y[, z])
函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z
注意:
pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。
八、sum内置函数
描述
sum() 方法对序列进行求和计算。
语法
以下是 sum() 方法的语法:
sum(iterable[, start])
参数
- iterable -- 可迭代对象,如:列表、元组、集合。
- start -- 指定相加的参数,如果没有设置这个值,默认为0。
返回值
返回计算结果。
九、max和min内置函数
描述
max() /min()方法返回给定参数的最大值/(最小值),参数可以为序列。
语法
以下是 max() /min()方法的语法:
max( x, y, z, .... )min( x, y, z, .... )
参数
- x -- 数值表达式。
- y -- 数值表达式。
- z -- 数值表达式。
返回值
返回给定参数的最大值/最小值。
边栏推荐
- Zijin Example
- 一文让你快速了解大小端概念!
- Summary of tensorflow installation stepping on the pit
- SWIG Tutorial "One"
- LeetCode_2598_剑指Offer Ⅱ 091.粉刷房子
- NFT digital collection development issue - digital collection platform
- How to code like a pro in 2022 and avoid If-Else
- TCP为什么是三次握手和四次挥手?
- 易基因|深度综述:m6A RNA甲基化在大脑发育和疾病中的表观转录调控作用
- pm2之静态文件服务
猜你喜欢
QOS function introduction
metaForce佛萨奇2.0系统开发功能逻辑介绍
社区动态——恭喜海豚调度中国区用户组新晋 9 枚“社群管理员”
fatal error C1083 Unable to open include file 'io.h' No such file
NFT digital collection development issue - digital collection platform
Oracle数据库备份dmp文件太大,有什么办法可以在备份的时候拆分成多个dmp吗?
物资采购小程序开发制作功能介绍
NFT数字藏品——数字藏品发行平台开发
2022年网络安全培训火了,缺口达95%,揭开网络安全岗位神秘面纱
线上线下课程教学培训小程序开发制作功能介绍
随机推荐
APP automation testing with Uiautomator2
TestLink Export Use Case Transformation Tool
波士顿房价预测
兆骑科创创业赛事活动发布平台,创业赛事,项目路演
How to code like a pro in 2022 and avoid If-Else
NFT digital collection development issue - digital collection platform
DB2查询2个时间段之间的所有月份,DB2查询2个时间段之间的所有日期
pm2 static file service
软件测试用例篇
Parallels 将扩展桌面平台产品,以进一步改善在 Mac 上运行 Windows 的用户体验和工作效率
const修饰的指针变量(详解)
程序员=加班??——掌握时间才能掌握人生
12海里、24海里、200海里的意义及名称
PyTorch multi-machine multi-card training: DDP combat and skills
紫金示例
符合信创要求的堡垒机有哪些?支持哪些系统?
《论文阅读》PLATO: Pre-trained Dialogue Generation Model with Discrete Latent Variable
数据类型与整型存储
Basic learning of XML
QOS功能介绍