• 【Python基础篇011】Python全部内置函数详细认识(中篇)


    目录

    💓前言

    🍀一、exec和eval内置函数

    ☘️1、exec内置函数

    ☘️2、eval内置函数

    ☘️3、代码实练总结exec和eval内置函数

    🍀二、compile内置函数

    🍀三、complex内置函数

    🍀四、 bin、oct、和hex内置函数

    🍀五、abs内置函数

    🍀六、divmod内置函数

    🍀七、pow内置函数

    🍀八、sum内置函数

    🍀九、max和min内置函数

    💓结语


    💓前言

    承接上篇博客,以下我要讲解的是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内置函数

    1.     eval有返回值     ————  适用于有结果的简单计算
    2.     exec没有返回值 ———— 适用于简单的流程控制

    函数代码

    1. exec('print("我是字符串内的输出")')
    2. eval('print("我是字符串内的输出")')
    3. print(exec('1+2+3+4')) #exec没有返回值
    4. print(eval('1+2+3+4')) #eval有返回值
    5. '''简单的流程控制'''
    6. code = '''for i in range(4):
    7. print(i*'*')
    8. '''
    9. exec(code)
    10. 输出结果:
    11. 我是字符串内的输出
    12. 我是字符串内的输出
    13. None
    14. 10
    15. *
    16. **
    17. ***

    🍀二、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是用来控制编译源码时的标志

    代码理解:

    1. >>> #流程语句使用exec
    2. >>> code1 = 'for i in range(0,10): print (i)'
    3. >>> compile1 = compile(code1,'','exec')
    4. >>> exec (compile1)
    5. 1
    6. 3
    7. 5
    8. 7
    9. 9
    10. >>> #简单求值表达式用eval
    11. >>> code2 = '1 + 2 + 3 + 4'
    12. >>> compile2 = compile(code2,'','eval')
    13. >>> eval(compile2)
    14. >>> #交互语句用single
    15. >>> code3 = 'name = input("please input your name:")'
    16. >>> compile3 = compile(code3,'','single')
    17. >>> name #执行前name变量不存在
    18. Traceback (most recent call last):
    19. File "<pyshell#29>", line 1, in <module>
    20. name
    21. NameError: name 'name' is not defined
    22. >>> exec(compile3) #执行时显示交互命令,提示输入
    23. please input your name:'pythoner'
    24. >>> name #执行后name变量有值
    25. "'pythoner'"

    🍀三、complex内置函数

    描述
    complex() 函数用于创建一个值为 real + imag * j 的复数或者转化一个字符串或数为复数。如果第一个参数为字符串,则不需要指定第二个参数。

    语法
    complex 语法:

    class complex([real[, imag]])
    参数说明:

    real -- int, long, float或字符串;
    imag -- int, long, float;
    返回值
    返回一个复数。

    代码理解:

    🍀四、 bin、oct、和hex内置函数

    1. bin:返回一个整数 int 或者长整数 long int 的二进制表示。
    2. oct:将一个整数转换成 8 进制字符串,8 进制以 0o 作为前缀表示。
    3. hex:用于将一个指定数字转换为 16 进制数。
    1. print(bin(10)) #二进制
    2. print(oct(10)) #八进制
    3. print(hex(10)) #十六进制
    4. 输出结果:
    5. 0b1010
    6. 0o12
    7. 0xa

    🍀五、abs内置函数

    返回数字的绝对值

    1. print(abs(-5))
    2. print(abs(22))
    3. 输出结果:
    4. 5
    5. 22

    🍀六、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)。

    1. print(divmod(5,4))
    2. print(divmod(4,5))
    3. print(divmod(5,-4))
    4. 输出结果:
    5. (1, 1)
    6. (0, 4)
    7. (-2, -3)

    🍀七、pow内置函数

    pow(x,y) 方法返回 xy(x的y次方) 的值。

    内置的 pow() 方法

    语法:

    pow(x, y[, z])

    函数是计算x的y次方,如果z在存在,则再对结果进行取模,其结果等效于pow(x,y) %z

    注意:

    pow() 通过内置的方法直接调用,内置方法会把参数作为整型,而 math 模块则会把参数转换为 float。

    1. print(pow(2,3))
    2. print(pow(2,3,3))
    3. print(pow(3,2,1)) #幂运算之后在取余
    4. 输出解果:
    5. 8
    6. 2
    7. 0

    🍀八、sum内置函数

    描述

    sum() 方法对序列进行求和计算。

    语法

    以下是 sum() 方法的语法:

    sum(iterable[, start])

    参数

    • iterable -- 可迭代对象,如:列表、元组、集合。
    • start -- 指定相加的参数,如果没有设置这个值,默认为0。

    返回值

    返回计算结果。

    1. print(sum([1,2,3,4,5,6]))
    2. print(sum([1,2,3,4,5,6],10))
    3. 输出结果:
    4. 21
    5. 31

    🍀九、max和min内置函数

    描述

    max() /min()方法返回给定参数的最大值/(最小值),参数可以为序列。


    语法

    以下是 max() /min()方法的语法:

    max( x, y, z, .... )
    min( x, y, z, .... )
    

    参数

    • x -- 数值表达式。
    • y -- 数值表达式。
    • z -- 数值表达式。

    返回值

    返回给定参数的最大值/最小值。

    1. print(min(1,2,3,4))
    2. print(min([1,2,3,4]))
    3. print(min([1,2,3,-4],key=abs)) #判断绝对值的最小值
    4. 输出结果:
    5. 1
    6. 1
    7. 1

    💓结语

    💖💖💖感谢各位能够看到这里💖💖💖:在鲁迅一篇未发表的文章中说过:“代码看懂了不是懂✨一定要自己实际操作哇✨这样才能更好的理解和吸收。”
    最后来一句:一个人可以在任何他怀有无限热忱的事情上成功,让我们一起进步吧✨✨

  • 相关阅读:
    关于激光雷达传感器分类及简介
    HJ20 密码验证合格程序
    Java Fasn 带您谈谈——开源、闭源
    1010 一元多项式求导
    【无标题】
    (最优化理论与方法)第三章优化建模-第二节:回归分析
    iview table 表格合并单元格
    vue循环滚动字幕
    网格管理安全巡检系统—助企业全面安全检查
    MySQL数据库
  • 原文地址:https://blog.csdn.net/weixin_64471900/article/details/125632113