当前位置:
首页 > Python基础教程 >
-
Python基础(十二)(3)
, '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
type()
-
函数定义:
type(object_or_name, bases, dict)
-
函数说明:查看对象的类型(其实
type()
既是函数,又是元类(创造类的类),可以通过type()
创建一个类)
print(type(list()))
运行结果:
<class 'list'>
zip()
-
函数定义:
zip(iter1 [,iter2 [...]])
- 函数说明:拉链函数,返回一个迭代器,将所有可迭代对象的元素按照位置打包成元组,直到耗尽项数最少的可迭代对象
lst1 = [1, 2, 3]
lst2 = [1, 2, 3, 4, 5]
print(zip(lst1, lst2))
print(list(zip(lst1, lst2)))
运行结果:
<zip object at 0x00000204D6E621C8>
[(1, 1), (2, 2), (3, 3)]
bool()
-
函数定义:
bool(x)
- 函数说明:将传入的参数转换成布尔值,若不填入参数返回False
print(bool())
print(bool(123))
运行结果:
False
True
(三)高阶函数(熟练)
-
高阶函数全部需要结合规则函数,利用lambda匿名函数构造规则函数
-
filter() 筛选过滤 map() 映射 sorted() 排序 max() 求最大值 min() 求最小值 reduce() 累计算
-
filter()
- 筛选过滤功能
-
函数定义:
filter(function or None, iterable)
- 函数说明:返回一个迭代器,该迭代器返回满足规格函数的可迭代对象中的元素,若函数为None,返回可迭代对象中为True的元素
# 规则函数为None,返回可迭代对象中True的元素 print(list(filter(None, [0, 1, 2, 3]))) 运行结果: [1, 2, 3]
# 返回满足规则函数可迭代对象中的元素 print(list(filter(lambda x: x > 1, [0, 1, 2, 3]))) 运行结果: [2, 3]
-
map()
- 映射功能
-
函数定义:
map(func, *iterables)
- 函数说明:创建一个迭代器,它使用可迭代对象中的每个元素当作参数执行规则函数,直到最短的可迭代对象耗尽为止
print(list(map(lambda x: x ** 2, [1, 2, 3]))) 运行结果: [1, 4, 9]
-
sorted()
- 排序功能
-
函数定义:
sorted(*args, **kwargs)
-
函数说明:返回一个列表,按照可迭代对象中的元素升序排列,还可以指定
key=规则函数
按照规则函数来排序,还可以指定reverse=True
来降序排列 -
与列表中
list.sort()
的区别:-
list.sort()
改变的是原有列表 -
sorted()
建立的新列表
-
lst = [4, 2, 3, 7, 1] print(sorted(lst)) print(lst) # 不改变原来列表 运行结果: [1, 2, 3, 4, 7] [4, 2, 3, 7, 1]
dic = {"k1": 3, "k2": 13, "k3": 1} print(sorted(dic, key=lambda x: dic[x], reverse=True)) 运行结果: ['k2', 'k1', 'k3']
-
max()
-
返回最大值
-
函数定义:
-
max(iterable, *[, default=obj, key=func])
-
max(arg1, arg2, *args, *[, key=func])
-
-
函数说明:
- 使用单个可迭代对象,返回其中的最大值,可填入俩个关键字参数,当可迭代对象为空的时候返回default的值,可指定规则函数
lst1 = [1, 2, 3, 4, 5, -6] lst2 = [] print(max(lst1)) print(max(lst1, key=abs)) # 制定规则参数,返回绝对值最大的元素 print(max(lst2, default=1)) # 当lst2为空的时候返回1 运行结果: 5 -6 1
- 使用两个或更多的参数,返回其中最大的参数
a = 5 b = 10 print(max(a, b)) 运行结果: 10
-
-
min()
-
返回最小值
-
函数定义:
-
min(iterable, *[, default=obj, key=func])
-
min(arg1, arg2, *args, *[, key=func])
-
-
函数说明:
- 使用单个可迭代对象,返回其中的最小值,可填入俩个关键字参数,当可迭代对象为空的时候返回default的值,可指定规则函数
lst1 = [1, -2, 3, -4, 5, -6] lst2 = [] print(min(lst1)) print(min(lst1, key=abs)) print(min(lst2, default=1)) 运行结果: -6 1 1
- 使用两个或更多的参数,返回其中最小的参数
a = 5 b = 10 print(min(a, b)) 运行结果: 5
-
-
reduce()
- 累计算
-
函数定义:
reduce(function, sequence, initial=None)
- 函数说明:按照规则函数将序列从左到右累计算,若有initial参数则作为序列的第一项,并在序列为空时作为默认值
from functools import reduce print(reduce(lambda x, y: x * y, [1, 2, 3, 4, 5])) print(reduce(lambda x, y: x * y, [1, 2, 3, 4, 5], 5)) print(reduce(lambda x, y: x * y, [], 5)) 运行结果: 120 600 5
(四)面向对象函数
-
classmethod() delattr() getattr() hasattr() issubclass() isinstance() object() property() setattr() staticmethod() super() -
后续补充...
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式