千家信息网

Python重要的功能有哪些

发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,这篇文章主要介绍"Python重要的功能有哪些",在日常操作中,相信很多人在Python重要的功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python重要的
千家信息网最后更新 2025年02月23日Python重要的功能有哪些

这篇文章主要介绍"Python重要的功能有哪些",在日常操作中,相信很多人在Python重要的功能有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python重要的功能有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. 生成器——内存效率

打算计算大量的结果,但同时又想避免同时分配所有结果所需内存,这时候会使用生成器。换句话说,它们即时生成值,但不会将先前生成的值存储在内存中,因此只需要将其迭代一次。 生成器常用于读取大型文件或使用关键字yield生成无穷序列。在大多数数据科学项目中,笔者发现它颇有用处。

def  gen(n):    # an infinite sequence  generator that generates integers >= n     while True:         yield n         n += 1 G =  gen(3)     # starts at 3 print(next(G))  # 3 print(next(G))  # 4 print(next(G))  # 5 print(next(G))  # 6

2. 虚拟环境——隔离

若读完本文,只能记住其中一条,那应该是虚拟环境的使用。

Python的应用程序经常使用很多不同的软件包,而这些软件包由具有复杂依赖关系的开发人员开发。不同的应用程序由一种特定的库设置开发出来,其结果无法由其他版本的库复制。没有一种安装程序可以满足所有应用程序的要求。

conda create -n venv pippython=3.7  # select python version source activate venv ... source deactivate

因此,为每个应用程序创建单独的虚拟环境venv至关重要,可以用 pip或conda完成。

3. 列表推导——紧致码

很多人认为lambda、map和filter是每个初学者都应该学习的函数。虽然笔者认为这些函数值得关注,但是由于它们缺乏灵活性,大多时候不是特别有用。 Lambda是将一次性使用的函数生成为一行的方法。若函数被多次调用,性能就会降低。另一方面,map将一种函数应用于列表中的所有元素,而filter则会获取集合中满足用户定义条件的元素子集。

add_func  = lambda z: z ** 2 is_odd =  lambda z: z%2 == 1 multiply  = lambda x,y: x*y aList =  list(range(10)) print(aList) 4 # [0, 1,  2, 3, 4, 5, 6, 7, 8, 9]

列表推导是一种简洁灵活的方法,可从其他具有灵活表达式和条件的列表中创建新列表。它由一个带有表达式或函数的方括号构成,只有当元素满足特定条件时,才能应用于列表中的每个元素。它也可以通过嵌套来处理嵌套列表,这比用map和filter要灵活得多。

# Syntax of list comprehension [ _expression(x) for x in aList if optional_condition(x)]
print(list(map(add_func,  aList))) print([x  ** 2 for x in aList]) # [0, 1,  4, 9, 16, 25, 36, 49, 64, 81] # [0, 1,  4, 9, 16, 25, 36, 49, 64, 81] print(list(filter(is_odd,  aList))) print([x  for x in aList if x%2 == 1]) # [1, 3,  5, 7, 9] # [1, 3,  5, 7, 9]

4. 列表操作——循环列表

Python允许在aList[-1]== aList[len(aList)-1]中出现负索引。因此,可以通过调用aList[-2]等其他元素来获取列表中的倒数第二个元素。

还可以用aList[start:end:step]语法对列表进行切片,该语法包括起始元素,但不包括终止元素。因此,调用aList[2:5]会得到[2, 3, 4]。也可以通过调用aList[::-1]来反转列表,笔者发现这种技巧非常简洁。

列表也可以解压缩为单独的元素,或者解压缩为元素和子列表,两者混在一起,用星号标出。

a, b, c,  d = aList[0:4] print(f'a  = {a}, b = {b}, c = {c}, d = {d}') # a = 0,  b = 1, c = 2, d = 3 a, *b,  c, d = aList print(f'a  = {a}, b = {b}, c = {c}, d = {d}') # a = 0,  b = [1, 2, 3, 4, 5, 6, 7], c = 8, d = 9

5. 压缩(Zipping)和列举(enumerate) ——for循环

压缩 (Zip)函数创建了一种迭代程序,该程序可聚合来自多个列表的元素。它允许在for循环中并行遍历列表并进行并行分类。用星号即可将其解压缩。

numList  = [0, 1, 2] engList  = ['zero', 'one', 'two'] espList  = ['cero', 'uno', 'dos'] print(list(zip(numList,  engList, espList))) # [(0,  'zero', 'cero'), (1, 'one', 'uno'), (2, 'two', 'dos')] for num,  eng, esp in zip(numList, engList, espList):     print(f'{num} is {eng} in English and  {esp} in Spanish.') # 0 is  zero in English and cero in Spanish. # 1 is  one in English and uno in Spanish. # 2 is  two in English and dos in Spanish.
Eng =  list(zip(engList, espList, numList)) Eng.sort()  # sort by engList a, b, c  = zip(*Eng) print(a) print(b) print(c) #  ('one', 'two', 'zero') #  ('uno', 'dos', 'cero') # (1, 2,  0)

乍一看,列举(Enumerate) 可能有点吓人,但是后来就会发现,在很多情况下使用列举都很方便。它是一种经常用于for循环的自动计数器,因此无需在counter = 0 和counter += 1的情况下创建并初始化变量计数器。列举(enumerate) 和压缩(zip)是创建for循环时会用到的两种功能很强大的工具。

upperCase  = ['A', 'B', 'C', 'D', 'E', 'F'] lowerCase  = ['a', 'b', 'c', 'd', 'e', 'f'] for i,  (upper, lower) in enumerate(zip(upperCase, lowerCase), 1):     print(f'{i}: {upper} and {lower}.') # 1: A  and a. # 2: B  and b. # 3: C  and c. # 4: D  and d. # 5: E  and e. # 6: F  and f.

到此,关于"Python重要的功能有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

元素 函数 程序 生成 应用 重要 功能 学习 循环 应用程序 内存 可以通过 方法 条件 环境 生成器 笔者 结果 开发 不同 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 大数据相对传统数据库速度差异 鼓楼区网络安全 服务器配置与承载能力 数据库营销策略与运营方法曾智辉 江苏南通基础数据库改革 dz论坛备份数据库 选择数据库的语句 2021年 网络安全宣传周 我的世界基岩版服务器插件整合包 软件开发项目劳务合同 数据库逻辑运算符 学网络安全有哪些限制 蓝桥杯软件开发真题 怎样把复制的内容粘贴到数据库 网络机柜深度不够怎么安装服务器 第八届网络安全宣传周在哪举行 腾讯游戏完美世界服务器查询 orcl登录不上去数据库卡住 软件开发测试机构需要多少钱 漫画网络安全美术 广东网络安全工程师入行门槛低 深圳网悦互联网科技有限公司 数据库 803 顺丰服务器在哪 监控 服务器 西门子 嘉定区软件开发费用 冰刃软件开发者 怎样把复制的内容粘贴到数据库 计算机网络技术基础必会英语 sql里的数据库不响应
0