python D13 内置函数

本文深入讲解Python内置函数,包括eval(), exec(), compile(), callable(), float(), complex(), bin(), oct(), hex(), abs(), divmod(), round(), pow(), list(), tuple(), reversed(), slice(), memoryview(), ord(), chr(), ascii(), repr(), sorted(), enumerate(), all(), any(), zip()等函数的使用方法及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 1、内置函数
# 什么是内置函数? 就是python给你提供的. 拿来直接⽤的函数, 比如print., input等等. 截⽌
# 到python版本3.6.2 python⼀共提供了68个内置函数. 他们就是python直接提供给我们的. 有
# ⼀些我们已经⽤过了. 有⼀些还没有⽤过. 还有⼀些需要学完了⾯向对象才能继续学习的. 今
# 天我们就认识⼀下python的内置函数.

# 不熟悉的函数:
# eval() 执⾏字符串类型的代码. 并返回最终结果
# print(eval("2+2")) # 4
# n = 8
# print(eval("2+n")) # 10
# def func():
# print(666)
# eval("func()") # 666

# exec() 执⾏字符串类型的代码
# exec("""
# for i in range(10):
# print(i)
# """)
# exec("""
# def func():
# print("我是周杰伦")
# func()
# """)

# compile() 将字符串类型的代码变异. 代码对象能够通过exec语句来执⾏或者eval()进⾏求值
# '''
# 参数说明:
# 1. resource 要执⾏的代码, 动态代码⽚段
# 2. ⽂件名, 代码存放的⽂件名, 当传⼊了第⼀个参数的时候, 这个参数给空就可以了
# 3. 模式, 取值有3个,
# 1. exec: ⼀般放⼀些流程语句的时候
# 2. eval: resource只存放⼀个求值表达式.
# 3. single: resource存放的代码有交互的时候. mode应为single
# '''
# code1 = "for i in range(10): print(i)"
# c1 = compile(code1, "", mode="exec")
# exec(c1)
# code2 = "1+2+3"
# c2 = compile(code2, "", mode="eval")
# a = eval(c2)
# print(a)
# code3 = "name = input('请输⼊你的名字:')"
# c3 = compile(code3, "", mode="single")
# exec(c3)
# print(name)
# 有返回值的字符串形式的代码⽤eval(). 没有返回值的字符串形式的代码⽤exec(). ⼀般很少⽤
# 到compile()

# callable() ⽤于检查⼀个对象是否是可调⽤的. 如果返回True, object有可能调⽤失败, 但
# 如果返回False. 那调⽤绝对不会成功

# float() 将给定的数据转换成float值. 也就是⼩数
# complex() 创建⼀个复数. 第⼀个参数为实部, 第⼆个参数为虚部. 或者第⼀个参数直接
# ⽤字符串来描述复数
# 进制转换:
# bin() 将给的参数转换成⼆进制
# otc() 将给的参数转换成八进制
# hex() 将给的参数转换成⼗六进制

# 数学运算:
# abs()
# 返回绝对值
# divmode()
# 返回商和余数
# round()
# 四舍五入
# pow(a, b)
# 求a的b次幂, 如果有三个参数.则求完次幂后对第三个数取余

# 和数据结构相关:
# 列表和元组:
# list() 将⼀个可迭代对象转换成列表
# tuple() 将⼀个可迭代对象转换成元组
# reversed() 将⼀个序列翻转, 返回翻转序列的迭代器
# slice() 列表的切片
# st = "⼤家好, 我是麻花藤"
# s = slice(1, 5, 2)
# print(st[s]) # slice:可用于多个文件切割位置相同,而split()只能执行一次一个目标

# memoryview() 查看bytes在内存中的情况
# # 查看bytes字节在内存中的情况
# s = memoryview("麻花藤".encode("utf-8"))
# print(s) # <memory at 0x00ED04A8>

# ord() 输入字符找带字符编码的位置
# chr() 输入位置数字找出对应的字符
# ascii() 是ascii码中的返回该值 不是就返回\u...

# repr() 返回⼀个对象的官⽅表⽰形式
# repr 输出⼀个字符串的官⽅表示形式.
# print(repr('⼤家好,\n \t我叫周杰伦')) # '⼤家好,\n \t我叫周杰伦'
# print('⼤家好我叫周杰伦') #⼤家好我叫周杰伦

# # 当想输出"\"或"\n"等可在打印的字符串前面加r
# print(r"你是大烧饼\n吗") # 你是大烧饼\n吗

# sorted() 对可迭代对象进⾏排序操作(讲完lamda后再讲这个)
# enumerate() 获取集合的枚举对象 # 遍历索引和列表元素
# lst = ["alex", "wusir", "taibai"]
# for index, el in enumerate(lst):
# print(str(index)+"==>"+el)
# 输出结果:0==>alex
# 1==>wusir
# 2==>taibai
# all() 可迭代对象中全部是True,

# x = [1, 2, 3, 4, 5, 7]
# for c, c1 in enumerate(x):
# print(c, c1)

# all() 可迭代对象中全部是True, 结果才是True
# any() 可迭代对象中有⼀个是True, 结果就是True
# zip() 函数⽤于将可迭代的对象作为参数, 将对象中对应的元素打包成⼀个个元组, 然
# 后返回由这些元组组成的开了表. 如果各个迭代器的元素个数不⼀致, 则返回列表⻓度与最短
# 的对象相同.
# l1 = [1,2,3,]
# l2 = ['a','b','c',5]
# l3 = ('*','**',(1,2,3))
# for i in zip(l1,l2,l3): # zip是将l1、l2、l3对应的所以打包在一起,只能用for循环遍历出来
# print(i)
# 打印结果:
# (1, 'a', '*')
# (2, 'b', '**')
# (3, 'c', (1, 2, 3))

转载于:https://www.cnblogs.com/z520h123/p/9897666.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值