python中68个常见的内置函数

本文详细介绍了Python中的内置函数,包括数字类型转换、数学运算、序列操作如列表和元组、字符串处理、数据集合如字典和集合,以及作用域、迭代器生成器、内存管理、文件操作、模块导入、帮助函数和对象属性的查看。内容覆盖了Python基础的重要方面,适合初学者参考学习。
摘要由CSDN通过智能技术生成

本文将这68个内置函数综合整理为12大类,正在学习Python基础的读者一定不要错过,建议收藏学习!在这里插入图片描述

  • 和数字相关
      1. 数据类型
      1. 进制转换
      1. 数学运算
  • 和数据结构相关
      1. 序列
      1. 数据集合
      1. 相关内置函数
  • 和作用域相关
  • 和迭代器生成器相关
  • 字符串类型代码的执行
  • 输入输出
  • 内存相关
  • 文件操作相关
  • 模块相关
  • 帮 助
  • 调用相关
  • 查看内置属性

一、和数字相关

1. 数据类型

  • bool : 布尔型(True,False)
  • int : 整型(整数)
  • float : 浮点型(小数)
  • complex : 复数

2. 进制转换

  • bin() 将给的参数转换成二进制
  • oct() 将给的参数转换成八进制
  • hex() 将给的参数转换成十六进制
   print(bin(10))  # 0b1010
   print(oct(10))  # 0o12
   print(hex(10))  # 0xa

3. 数学运算

  • abs() 返回绝对值
  • divmode() 返回商和余数
  • round() 四舍五入
  • pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余
  • sum() 求和
  • min() 求最小值
  • max() 求最大值
	print(abs((-2)))
	print(divmod(20, 3))  # (6, 2)
	print(round(4.52))
	print(pow(10, 2, 3))  # 1 如果给了第三个参数,表示最后取余1
	print(sum([1, 2, 3, 4, 5]))
	print(max(3, 5, 2, 6, 8))  # 8
	print(min(3, 5, 2, 6, 8))  # 2

二、和数据结构相关

1. 序列

(1)列表和元组

  • list() 将一个可迭代对象转换成列表
  • tuple() 将一个可迭代对象转换成元组
	print(list((1, 2, 3, 4, 5)))  # [1, 2, 3, 4, 5]
	print(tuple([2, 3, 6, 6, 7, 5]))  # (2, 3, 6, 6, 7, 5)

(2)相关内置函数

  • reversed() 将一个序列翻转, 返回翻转序列的迭代器
  • slice() 列表的切片
	res = 'wqnmlgb'
	lst = reversed(res)
	print(list(lst))  # ['b', 'g', 'l', 'm', 'n', 'q', 'w']
	
	ll = [1, 2, 3, 4, 5, 6, 7]
	print(ll[1::2])  # [2, 4, 6]
	
	s = slice(1, 7, 2)
	print(ll[s])  # # [2, 4, 6]

(3)字符串

  • str() 将数据转化成字符串
  • format() 与具体数据相关, 用于计算各种小数, 精算等
	s = 'hello world!'
	print(format(s, '^20'))  # 将hello world!居中
	print(format(s, '<20'))  # 将hello world!左对齐
	print(format(s, '>20'))  # 将hello world!右对齐
	# 运行结果如下:
	'''
	    hello world!    
	hello world!        
	        hello world!
	'''
	print(format(3, 'b'))  # 二进制11
	print(format(97, 'c'))  # 转换成unicode字符:a
	print(format(11, 'd'))  # 十进制 11
	print(format(11, 'o'))  # 八进制 13
	print(format(11, 'x'))  # 十六进制(小写字母:b)
	print(format(11, 'X'))  # 十六进制(大写字母:B)
	print(format(11, 'n'))  # 和d一样 11
	print(format(11))  # 和d一样 11
	print(format(1234134234, 'e'))  # 科学计数法
	print(format(1234134234, '0.2e'))
	print(format(1234134234, '0.2E'))
	print(format(1234134234, 'f'))
	print(format(1234134234, '0.2f'))
	print(format(1234134234, '0.2F'))
	print(format(1234134234, '0.10f'))
	print(format(1234134234e+3, 'F'))

  • bytes() 把字符串转化成bytes类型
	res = bytes('早上好,tony', encoding='utf8')
	print(res)  # b'\xe6\x97\xa9\xe4\xb8\x8a\xe5\xa5\xbd\xef\xbc\x8ctony'
  • bytearray() 返回一个新字节数组. 这个数字的元素是可变的, 并且每个元素的值得范围是[0,256)
	res = bytearray('kevin', encoding='utf8')
	print(res[0])  # 107
	print(res)  # bytearray(b'kevin')
	res[0] = 107  # 107的位置K赋值给res[0]
	print(str(res))  # bytearray(b'kevin')
  • ord() 输入字符找带字符编码的位置
  • chr() 输入位置数字找出对应的字符
  • ascii() 是ascii码中的返回该值 不是就返回u
	print(ord('a'))  # 字母a在编码中的位置97
	print(ord('中'))  # 中在编码中的位置20013
	print(chr(65))  # 已知码位,求字符是什么:A
	print(chr(199999)) #
	
	for i in range(65535):
	    print(chr(i), end=' ')
	print(ascii('@'))
  • repr() 返回一个对象的string形式
	s = '今天\n吃了%s顿\t饭' % 3
	print(s)
	print(repr(s))  # '今天\n吃了3顿\t饭'

2. 数据集合

  • 字典:dict 创建一个字典
  • 集合:set 创建一个集合
  • frozenset() 创建一个冻结的集合,冻结的集合不能进行添加和删除操作。

3. 相关内置函数

  • len() 返回一个对象中的元素的个数
  • sorted() 对可迭代对象进行排序操作 (lamda)
    语法:sorted(Iterable, key=函数(排序规则), reverse=False)
  • Iterable: 可迭代对象
  • key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数. 根据函数运算的结果进行排序
  • reverse: 是否是倒叙. True: 倒叙, False: 正序
	lst = [5, 7, 6, 12, 1, 13, 9, 18, 5]
	lst.sort()
	print(lst)  # [1, 5, 5, 6, 7, 9, 12, 13, 18]
	
	ll = sorted(lst)
	print(ll)  # [1, 5, 5, 6, 7, 9, 12, 13, 18]
	
	l2 = sorted(lst, reverse=True)  # [18, 13, 12, 9, 7, 6, 5, 5, 1]
	print(l2)


	# 根据字符串长度排序
	lst = ['one', 'two', 'three', 'four', 'five', 'six']
	def index(s):
	    return len(s)
	    
	ll = sorted(lst, key=index, )
	print(ll)  # ['one', 'two', 'six', 'four', 'five', 'three']
  • enumerate() 获取集合的枚举对象
# enumerate()获取集合的枚举对象
lst = ['one', 'two', 'three', 'four', 'five', 'six']
for k, v in enumerate(lst, 1):  # 把索引和元素一起获取,索引默认从0开始,可以更改
    print(k)
    print(v)

# 运行结果如下:
'''
    1
    one
    2
    two
    3
    three
    4
    four
    5
    five
    6
    six

'''
  • all() 可迭代对象中全部是True, 结果才是True
  • any() 可迭代对象中有一个是True, 结果就是True
  • zip() 函数用于将可迭代的对象作为参数, 将对象中对应的元素打包成一个元组, 然后返回由这些元组组成的列表. 如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同
lst1 = [1, 2, 3, 4, 5]
lst2 = ['醉乡民谣', '驴得水', '放牛班的春天', '美丽人生', '辩护人', '被嫌弃的松子的一生']
lst3 = ['美国', '中国', '法国', '意大利', '韩国', '日本']
print(zip(lst1, lst2, lst3))  # <zip object at 0x0000011079B6A1C8>

for e in zip(lst1, lst2, lst3):
    print(e)
# 运行结果如下:
'''
(1, '醉乡民谣', '美国')
(2, '驴得水', '中国')
(3, '放牛班的春天', '法国')
(4, '美丽人生', '意大利')
(5, '辩护人', '韩国')
'''
  • fiter() 过滤 (lamda)
    语法:fiter(function. Iterable)
    function: 用来筛选的函数. 在filter中会自动的把iterable中的元素传递给function. 然后根据function返回的True或者- False来判断是否保留留此项数据 , Iterable: 可迭代对象
def func(i):  # 判断奇数
    return i % 2 == 1


lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
ll = filter(func, lst)  # ll是迭代器
print(list(ll))  # [1, 3, 5, 7, 9]

  • map() 会根据提供的函数对指定序列列做映射(lamda)
    语法 : map(function, iterable)
    可以对可迭代对象中的每一个元素进行映射. 分别去执行 function
def func(i):
    return i


lst = [1, 2, 3, 4, 5, 6, 7, 8, 9]
it = map(func, lst)
print(list(it))  # [1, 2, 3, 4, 5, 6, 7, 8, 9]

三、和作用域相关

  • locals() 返回当前作用域中的名字
  • globals() 返回全局作用域中的名字
def func():
    a = 10
    print(locals())  # 当前作用域的内容
    print(globals())  # 全局作用域的内置
    print('today is very more')


func()

四、和迭代器生成器相关

  • range() 生成数据
  • next() 迭代器向下执行一次, 内部实际使用了__ next__()方法返回迭代器的下一个项目
  • iter() 获取迭代器, 内部实际使用的是__ iter__()方法来获取迭代器
for i in range(15, -1, -5):
    print(i)  # 15 10 5 0

lst = [1, 2, 3, 4]
it = iter(lst)
print(it.__iter__())
print(it.__next__())
print(it.__next__())
print(it.__next__())

五、字符串类型代码的执行

  • eval() 执行字符串类型的代码. 并返回最终结果
  • exec() 执行字符串类型的代码
  • compile() 将字符串类型的代码编码. 代码对象能够通过exec语句来执行或者eval()进行求值
s1 = input('请输入a+b:')
# eval()可以动态执行代码,代码必须有返回值
print(eval(s1))  # 请输入a+b:1+2 3
s2 = 'for i in range(5): print(i)'
a = exec(s2)

code1 = 'for i in range(3):print(i)'
com = compile(code1, "", mode='exec')
exec(com)

六、输入输出

  • print() : 打印输出
  • input() : 获取用户输出的内容

七、内存相关

  • hash() : 获取到对象的哈希值(int, str, bool, tuple). hash算法:(1) 目的是唯一性 (2) dict 查找效率非常高, hash表.用空间换的时间 比较耗费内存
s = 'alex'
print(hash(s))
lst = [1, 2, 3, 4, 5]
# print(hash(lst))  # 列表是不可哈希的
print(id(s))

八、文件操作相关

  • open() : 用于打开一个文件, 创建一个文件句柄

九、模块相关

  • __ import__() : 用于动态加载类和函数

十、帮 助

  • help() : 函数用于查看函数或模块用途的详细说明

十一、 调用相关

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

十二、查看内置属性

  • dir() : 查看对象的内置属性, 访问的是对象中的__dir__()方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值