Python3,不知道Python内置库函数,不要错过这篇,必须收藏!!!

简介: Python3,不知道Python内置库函数,不要错过这篇,必须收藏!!!

1、引言

最近在整理我的小作业本,顺便翻到了Python内置库,

感觉自己在小本本上写的也挺凌乱的,索性一不做二不休,

重新整理!

小屌丝:鱼哥,你终于作对了一件有意义的事情。

小鱼:What

小屌丝:你脱什么你脱,赶紧分享干货!!

此时小鱼的表情,就是这样的!!

而小屌丝的表情,是这样的!!

2、内置库详解

Python一共提供了68个内置函数,我们先看一下,都

有哪些

abs()           dict()        help()         min()         setattr()
all()           dir()         hex()          next()        slice() 
any()           divmod()      id()           object()      sorted() 
ascii()         enumerate()   input()        oct()         staticmethod() 
compile()       globals()     map()          reversed()    __import__() 
complex()       hasattr()     max()          round() 
delattr()       hash()        memoryview()   set()
bin()           eval()        int()          open()        str() 
bool()          exec()        isinstance()   ord()         sum() 
bytearray()     filter()       issubclass()   pow()         super() 
bytes()         float()        iter()         print()       tuple() 
callable()      format()      len()          property()    type() 
chr()           frozenset()   list()         range()       vars() 
classmethod()   getattr()     locals()       repr()        zip() 

小屌丝:唉我去~~ 这么多,我怎么记得住?

小鱼:如果这68个内置库想象成妹子的兴趣爱好,然后对应12个妹子,你能能记住吗???

小屌丝:那…这… 必须能啊。

小鱼:… 你真的是…

小屌丝:有妹子,好办事! !

我们把这68个内置函数,分成12个大类,如下:

  • 数据相关
  • 数据结构相关
  • 作用域相关
  • 迭代器生成器相关
  • 字符串类型代码的执行
  • 输入输出
  • 内存相关
  • 文件操作相关
  • 模块相关
  • 帮助
  • 查看内置属性
  • 调用相关

2.1 数据

2.1.1 数学运算

  • abs() 返回绝对值
  • divmode() 返回商和余数
  • round() 四舍五入
  • pow(a, b) 求a的b次幂, 如果有三个参数. 则求完次幂后对第三个数取余
  • sum() 求和
  • min() 求最小值
  • max() 求最大值

代码展示:

# 绝对值
print(abs(-4)) 
# 求商和余数
print(divmod(20,3)) 
# 四舍五入
print(round(12.34))
# 取余:1
print(pow(11,3,2))  
# 求和:55
print(sum([11,22,33,44,55,66,77,88])) 
 #最小值:6 
print(min(25,13,99,42,6,10)) 
#最大值:99
print(max(25,13,99,42,6,10))  

结果截图:

2.1.2 数据类型

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

2.1.3 进制制转换

  • bin() :将转换成二进制
  • otc() :将转换成八进制
  • hex() :将转换成十六进制

代码展示:

#八进制
print(oct(8))  
#二进制
print(bin(8)) 
#十六进制
print(hex(8))  

结果截图:

2.2 数据结构相关

2.2.1 序列

1、列表和元组

  • list() 将一个可迭代对象转换成列表
  • tuple() 将一个可迭代对象转换成元组

代码展示:

 #列表输出
print(list((11,12,13,14,15,16))) 
#元组输出
print(tuple([11,12,13,14,15,16]))  

结果截图:

2、切片和翻转

  • reversed() 将一个序列翻转, 返回翻转序列的迭代器
  • slice() 列表切片

代码展示:

#定义list
lst = "carl_奕然"
# 返回一个迭代器
res = reversed(lst) 
#输出结果:['然', '奕', '_', 'l', 'r', 'a', 'c']
print(list(res))  

结果截图:

#定义list
lst = [10, 11, 12, 13, 14, 15, 16]
#输出结果:[12, 13, 14, 15]
print(lst[2:6:1])  
#切片
spl = slice(2, 6, 1) 
#输出结果[12, 13, 14, 15]
print(lst[spl]) 

结果截图:

3、字符串

  • str() 将数据转化成字符串

代码展示:

res = "hello Carl_奕然!"
#居中,
print(format(res, "^30")) 
#左对齐 
print(format(s, "<30"))
#右对齐
print(format(s, ">30")) 

结果截图:

# 二进制:6
print(format(6, 'd' ))
# 转换成unicode字符:o    
print(format(111, 'c' )) 
# ⼗进制:11 
print(format(11, 'd' )) 
# 八进制:13  
print(format(11, 'o' )) 
# 十六进制(⼩写字母):b  
print(format(11, 'x' ))
# 十六进制(大写字母):B   
print(format(11, 'X' )) 
 # 小数点计数法. 保留4位小数:2.3456   
print(format(2.341567289, '0.4f' )) 
# 小数点计数法. 保留6位小数:2.341567  
print(format(2.341567289, 'f' ))
# 科学计数法: 默认保留6位小数:2.341567e+09
print(format(2341567289, 'e' )) 
 # 科学计数法: 保留4位小数:1.23e+08    
print(format(2341567289, '0.4e' ))

输出结果:

  • bytes() :把字符串转化成bytes类型
as
ast = bytes("今天下雨呢!!", encoding="utf-8")
#输出结果:b'\xe4\xbb\x8a\xe5\xa4\xa9\xe4\xb8\x8b\xe9\x9b\xa8\xe5\x91\xa2\xef\xbc\x81\xef\xbc\x81'
print(ast)  
   bytearray()    #返回一个新字节数组,并且每个元素的值得范围都是[0,256)
rst = bytearray("alex" ,encoding ='utf-8')
#输出结果:108
print(rst[1])  
#输出结果:bytearray(b'alex')
print(rst)  
#把108的位置A赋值给ret[1]
rst[1] = 108 
#输出结果;#bytearray(b'alex')
print(str(rst))  
  • ord(): 输入字符找带字符编码的位置
  • chr() :输入位置数字找出对应的字符
  • ascii() :是ascii码中的返回该值 不是就返回u
# 获取字母s在编码表中的码位:115
print(ord('s'))  
# '国'字在编码表中的位置:22269
print(ord('国'))  
# 已知码位,求字符:c
print(chr(99))   
for i in range(65536):  
  #把65535的字符都打印出來,可以参照截图
    print(chr(i), end=" ")

输出结果截图:

把65535的字符都打印出來

  • repr() 返回一个对象的string形式
res = "小鱼\n今天撩了%d个 妹子" % 1 
print(res) 
#输出结果:小鱼
         #今天撩了1个 妹子
#原样输出
print(repr(res))   
#输出结果:'小鱼\n今天撩了1个 妹子'

2.2.2 数据集合

字典:dict 创建字典

集合:set 创建集合

frozenset() 创建一个冻结的集合,

注:

冻结的集合不能进行添加和删除操作。

2.2.3 内置函数

len() 返回对象中的元素的个数


sorted() 对可迭代对象进行排序操作 (lamda)

语法:sorted(Iterable, key=函数(排序规则), reverse=False)


Iterable: 可迭代对象


key: 排序规则(排序函数), 在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数。根据函数运算的结果进行排序


reverse: 是否是倒叙. True: 倒叙, False: 正序

代码展示:

#定义list
lst = [25,7,16,92,11,63,889,100,1]
# sort是list里面的一个方法
lst.sort()  
#输出结果:[1, 7, 11, 16, 25, 63, 92, 100, 889]
print(lst)  
# 内置函数. 返回一个新的且被排序的列表 
lat = sorted(lst) 
#输出结果:[1, 7, 11, 16, 25, 63, 92, 100, 889]
print(lat)  
#倒序
ldt = sorted(lst,reverse=True)  
#输出结果:[889, 100, 92, 63, 25, 16, 11, 7, 1]
print(l2)  

结果截图:

  • enumerate() :获取集合的枚举对象
lst = ['one','two','three','four','five']
# 同时获取索引和元素,索引默认从0开始,但是可更改
for index, el in enumerate(lst,1):    
    print(index)
    print(el)

结果截图:

  • all(): 迭代对象全部为True,才返回True
  • any() :迭代对象一个为True,就返回True
#输出结果:True
print(all([11,'carl_奕然',True]))  
#输出结果:True
print(any([99,False,'Nice',97,True])) 

结果截图:

  • zip() :将可迭代的对象作为参数, 把对象中对应的元素打包成一个元组, 返回列表。

    如果各个迭代器的元素个数不一致, 则返回列表长度与最短的对象相同。
lst1 = [1, 2, 3, 4, 5, 6]
lst2 = ['异型', '小兵张嘎', '急速快递', '人生不可重来', '这是一道伪命题', '白马王子的一生']
lst3 = ['MA', 'CN', 'FR', 'ITA', 'KR', 'SE']
print(zip(lst1, lst1, lst3))  
for sa in zip(lst1, lst2, lst3):
    print(sa)

结果截图:

  • fiter() :过滤 (lamda)
    语法:fiter(function. Iterable)

function: 用来筛选的函数。

①在filter中会自动的把iterable中的元素传递给function;

②然后根据function返回的True或者False来判断是否保留留此项数据 ,

Iterable: 可迭代对象。

# 判断奇数
def func(i):    
    return i % 2 == 1
    lst = [11,22,33,44,55,66,77]
#ls是迭代器
la = filter(func, lst)  
#<filter object at 0x000001CE3CA98AC8>
print(la)  

结果截图:

  • map() :根据提供的函数对指定序列做映射(lamda)
    语法 : map(function, iterable)
    注:
    可以对可迭代对象中的每一个元素进行映射。
    分别去执行 function
def f(i):   
  return i
lst = [11,12,13,14,15,16,17]
 # 把可迭代对象中的每一个元素传递给前面的函数进行处理并返回迭代器
st = map(f, lst)
print(list(it)) 

截图截图:

2.3 作用域相关

  • locals() :返回当前作用域中的名字
  • globals() :返回全局作用域中的名字
def func():
    a = 10
    # 打印当前作用域中的内容
    print(locals())
    # 打印全局作用域中的内容  
    print(globals())  
    print("打印全部内容")
func()

结果截图:

2.4 迭代器生成器相关

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

结果截图:

lst = [11,12,13,14,15]
st = iter(lst)  #  __iter__()获得迭代器
print(st.__next__())
#第一次
print(next(st))  
#第二次
print(next(st))  

结果截图:

2.5 字符串类型代码的执行

  • eval() :执行字符串类型的代码. 并返回最终结果
  • exec() :执行字符串类型的代码
  • compile(): 将字符串类型的代码编码。代码对象能够通过exec语句来执行或者eval()进行求值
#输入:8+9
st1 = input("请输入a+b:")  
# 17 可以动态的执行代码. 代码必须有返回值
print(eval(st1))  
st2 = "for i in range(9): print(i)"
# exec 执行代码不返回任何内容
ast = exec(st2) 
print(ast)  #None

结果截图:

# 动态执行代码
exec("""
def func():
    print(" 我是Carl_奕然")
""" )
func()  #我是Carl_奕然

结果截图:

code1 = "for i in range(9): print(i)"
# compile并不会执行你的代码.只是编译
cst = compile(code1, "", mode="exec")   
# 执行编译的结果
exec(com)   

结果截图:

code2 = "1+2+3+4"
cst2 = compile(code2, "", mode="eval")
print(eval(cst2))

结果截图:

code3 = "sexuality = input('请输入你的性别:')"  
cst3 = compile(code3, "", mode="single")
exec(cst3)
print(sexuality)

结果截图:

2.6 输入输出

  • print() : 打印输出
  • input() : 获取用户输出的内容
#sep:打印出的内容用什么连接,end:以什么为结尾
print("Hello", "Carl_奕然", sep=",", end="★") 

结果截图:

2.7 内存相关

hash() : 获取到对象的哈希值(int, str, bool, tuple)。

hash算法:

  • 目的是唯一性
  • dict 查找效率非常高,

hash表:用空间换的时间 比较耗费内存。

2.8 文件操作相关

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

f = open('filepath',mode='w',encoding='utf-8')
f.read()
f.close()

2.9 模块相关

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

# 让用户输入一个要导入的模块
import os
path = input("你要导入的模块:")
__import__(path)    # 可以动态导入模块

2.10 调用相关

  • callable() : 用于检查一个对象是否是可调用的。

如果返回True, object有可能调用失败;

但如果返回False. 那调用绝对不会成功。

sat = 11
print(callable(sat))  #False  

2.11 帮助

  • help() : 函数用于查看函数或模块用途的详细说明
#help调用
print(help())
#查看字符串的用途
print(help(str))  

2.11 帮助

  • help() : 函数用于查看函数或模块用途的详细说明
#help调用
print(help())
#查看字符串的用途
print(help(str))  

结果截图:

2.12 查看内置属性

  • dir() : 查看对象的内置属性, 访问的是对象中的__dir__()方法
print(dir())
#查看列表
print(dir(list))
#查看元组
print(dir(tuple))

结果截图:

3、总结

小屌丝:呦呵~ 这整理的,挺立正啊!

小鱼:这还行吧,毕竟我很谦虚的。

写到这里,Python的内置库函数,也算是整理的明明白白的了。

当然,我们也可以参照官方文档来学习,

但是,官方文档,没有小鱼写的这么生动活泼。

所以,小鱼建议,先收藏,在学习,毕竟,一次性记住这么多内置函数,有点难。

如果智商跟小鱼一样高,可以一试。

毕竟,超过50的,都是普通人

最后,瞅瞅时间,泡杯咖啡,小鱼也该写作业去了~ ~

目录
相关文章
|
4天前
|
调度 开发者 Python
Python中的异步编程:理解asyncio库
在Python的世界里,异步编程是一种高效处理I/O密集型任务的方法。本文将深入探讨Python的asyncio库,它是实现异步编程的核心。我们将从asyncio的基本概念出发,逐步解析事件循环、协程、任务和期货的概念,并通过实例展示如何使用asyncio来编写异步代码。不同于传统的同步编程,异步编程能够让程序在等待I/O操作完成时释放资源去处理其他任务,从而提高程序的整体效率和响应速度。
|
7天前
|
数据采集 存储 数据挖掘
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第27天】在数据分析领域,Python的Pandas库因其强大的数据处理能力而备受青睐。本文介绍了Pandas在数据导入、清洗、转换、聚合、时间序列分析和数据合并等方面的高效技巧,帮助数据分析师快速处理复杂数据集,提高工作效率。
27 0
|
6天前
|
数据采集 JSON 测试技术
Python爬虫神器requests库的使用
在现代编程中,网络请求是必不可少的部分。本文详细介绍 Python 的 requests 库,一个功能强大且易用的 HTTP 请求库。内容涵盖安装、基本功能(如发送 GET 和 POST 请求、设置请求头、处理响应)、高级功能(如会话管理和文件上传)以及实际应用场景。通过本文,你将全面掌握 requests 库的使用方法。🚀🌟
27 7
|
7天前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
18 3
|
10天前
|
数据采集 数据可视化 数据处理
如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`)
本文介绍了如何使用Python实现一个交易策略。主要步骤包括:导入所需库(如`pandas`、`numpy`、`matplotlib`),加载历史数据,计算均线和其他技术指标,实现交易逻辑,记录和可视化交易结果。示例代码展示了如何根据均线交叉和价格条件进行开仓、止损和止盈操作。实际应用时需注意数据质量、交易成本和风险管理。
29 5
|
8天前
|
存储 数据挖掘 数据处理
Python数据分析:Pandas库的高效数据处理技巧
【10月更文挑战第26天】Python 是数据分析领域的热门语言,Pandas 库以其高效的数据处理功能成为数据科学家的利器。本文介绍 Pandas 在数据读取、筛选、分组、转换和合并等方面的高效技巧,并通过示例代码展示其实际应用。
20 1
|
11天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
13天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
15天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
21 4
|
18天前
|
数据可视化 数据挖掘 Python
Seaborn 库创建吸引人的统计图表
【10月更文挑战第11天】本文介绍了如何使用 Seaborn 库创建多种统计图表,包括散点图、箱线图、直方图、线性回归图、热力图等。通过具体示例和代码,展示了 Seaborn 在数据可视化中的强大功能和灵活性,帮助读者更好地理解和应用这一工具。
31 3

热门文章

最新文章