16 个必知必会的 Python 教程!

拥有AI助手便能解放双手?——抖音直播脚本的生成 科技改变生活,AI助手帮你完成抖音创作! 阅读详情

Python 是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松,编写代码更高效。

本文中将探讨一些鲜为人知的 Python 技巧,这些技巧非常有用,但并不广为人知。通过学习和使用这些技巧,可以帮你节省时间和精力,并使你的代码更加优雅和高效。那么,让我们深入探索 Python 语言的这些隐藏宝藏吧!

1.三元运算符

三元运算符是 if-else 语句的简写。语法是value_if_true if condition else value_if_false。三元运算符是一行代码,可以替代多行 if-else 语句,使你的代码更加简洁。

a = 5    b = 10    max = a if a > b else b  # value_if_true if condition else value_if_false      print(max)   # 10   

上面的代码通过检查“a”是否大于“b”,如果为真则返回“a”,如果为假则返回“b”。

2.枚举函数

enumerate()函数向可迭代对象添加一个计数器,并以枚举对象的形式返回。当你想要遍历列表并跟踪索引时,此函数很有用。

fruits = ['apple', 'banana', 'mango']    for index, fruit in enumerate(fruits):        print(index, fruit)      # 0 apple   # 1 banana   #2  mango   

3. 压缩函数

zip()函数聚合来自每个可迭代对象的元素并返回一个元组迭代器。当你想同时遍历两个或多个列表时,此函数很有用。

list1 = [1, 2, 3]    list2 = ['a', 'b', 'c']    for x, y in zip(list1, list2):       print(x, y)      # 1 a   # 2 b   # 3 c   

4. 列表生成式

列表生成式是一种从现有列表或任何可迭代对象创建列表的简洁方法。这是一种可以替代 for 循环的单行代码,使你的代码更加高效,并使代码的可读性更强。

squared_numbers = [x**2 for x in range(1, 6)]      print(squared_numbers)   # [1, 4, 9, 16, 25]   

5. 匿名函数

Lambda 函数是使用lambda关键字定义的匿名函数。当你需要编写一次性的小函数并且不想使用关键字def来定义命名函数时,它们很有用。微信搜索公众号:架构师指南,回复:架构师 领取资料 。

add = lambda x, y: x + y       result = add(3, 4)      print(result)   # 7   

6.any()和all()函数

any()函数和all()函数返回True或False基于 iterable 中元素的真实性。如果 iterable 中的任何元素为真,则函数any()返回True,如果 iterable 中的所有元素都为真,则函数all()返回True。

numbers = [1, 2, 3, 0, 4]    result = any(numbers) # True    result = all(numbers) # False。0使结果为False   

7. 迭代模块

itertools模块提供了一组函数来处理迭代器。该模块中的函数包括chain、product和permutations。

import itertools    numbers = [1, 2, 3]    result = list(itertools.permutations(numbers))          # 输出所有排列组合    # [(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]   

8. 生成器

生成器是一种可迭代的类型,它可以即时生成值,而不是将它们存储在内存中。它是使用yield关键字定义的,用于创建自定义迭代器。

# 使用yield关键字创建生成器    def fibonacci_series(n):       a, b = 0, 1       for i in range(n):           yield a           a, b = b, a + b      # 输出迭代器中的值    for number in fibonacci_series(10):       print(number)      # 0   # 1   # 1   # 2   # 3   # 5   # 8   # 13   # 21   # 34   

9.装饰器

装饰器是一种修改函数或类行为的方法。使用@符号进行定义,可用于向函数添加功能,例如日志记录、计时或身份验证。

def log_function(func):       def wrapper(*args, **kwargs):           print(f'Running {func.__name__}')           result = func(*args, **kwargs)           print(f'{func.__name__} returned {result}')           return result       return wrapper      @log_function   def add(x, y):       return x + y         print(add(5,7))      # 运行add函数,返回值为12   

10. 使用多个函数参数

在 Python 中,可以使用*和**运算符来处理多个函数参数。*运算符用于将参数列表作为单独的位置参数进行传递,运算符**用于传递关键字参数的字典。

def print_arguments(*args, **kwargs):       print(args)       print(kwargs)      print_arguments(1, 2, 3, name='John', age=30)      # (1, 2, 3)   # {'name': 'John', 'age': 30}   

11. 动态导入

当你想根据用户输入或配置导入模块时,可以使用模块动态导入模块importlib。

import importlib      module_name = 'math'   module = importlib.import_module(module_name)   result = module.sqrt(9)   

12. 字典生成式

字典生成式是一种从现有字典或任何可迭代对象创建字典的简洁方法。它是一种可以替代 for 循环的单行代码,使你的代码更加高效,代码可读性更强。

squared_numbers = {x: x**2 for x in range(1, 6)}   print(squared_numbers)      # {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}   

13. 可调用对象

在 Python 中,任何可以称为函数的对象都称为可调用对象,包括函数、方法、类,甚至是定义__call__方法的对象。

class Adder:       def __call__(self, x, y):           return x + y      adder = Adder()   result = adder(3, 4)      print(result)   #7   

14.用下划线分隔大数字/字符

大数字很难一眼看出来是多大,在 Python 中可以用下划线来使数字更易读。

num_test = 100_345_405 # 一个大数字      print(num_test)   # 100345405   

15.快速合并两个字典

可以使用以下代码在 Python 中快速合并 2两个字典。

dictionary_one = {"a": 1, "b": 2}   dictionary_two = {"c": 3, "d": 4}      merged = {**dictionary_one, **dictionary_two}      print(merged)     # {'a': 1, 'b': 2, 'c': 3, 'd': 4}   

16. 列表、集合和字典是可变的

可变意味着可以更改或更新对象(列表、集合或字典),而无需更改内存中对象的指针。实际效果可见如下示例。

在下面的示例中,通过添加一个新城市来更新城市列表,可以看到 ID(对象指针)保持不变,集合和字典也是如此。

cities = ["Munich", "Zurich", "London"]   print(id(cities)) # 2797174365184   cities.append("Berlin")   print(id(cities)) # 2797174365184   
# 集合       my_set = {1, 2, 3}   print(id(my_set))  # 2797172976992   my_set.add(4)   print(id(my_set))  # 2797172976992   
# 字典       thisdict = {     "brand": "Ford",     "model": "Mustang",     "year": 1964   }   print(id(thisdict))  #2797174128256   thisdict["engine"] = "2500cc"   print(id(thisdict))  #2797174128256

学习资源推荐

如果你也喜欢编程,想通过学习Python获取更高薪资,这里给大家分享一份Python学习资料。

😝朋友们如果有需要的话,可以V扫描下方二维码免费领取🆓

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

#### **一、Python学习路线**

image-20230619144606466

python学习路线图1

二、Python基础学习
1. 开发工具

2. 学习笔记

在这里插入图片描述

3. 学习视频

在这里插入图片描述

三、Python小白必备手册

图片

四、数据分析全套资源

在这里插入图片描述

五、Python面试集锦
1. 面试资料

在这里插入图片描述

在这里插入图片描述

2. 简历模板

在这里插入图片描述

** 因篇幅有限,仅展示部分资料,添加上方即可获取**
避坑指南:Unity与Visual Studio开发环境配置中的5个常见问题及解决方案 本文针对Unity与Visual Studio开发环境配置中的5个常见问题,提供了详细的解决方案。重点解决了项目文件生成失败导致命名空间无法识别、调试器无法附加、包管理器与扩展安装混乱、脚本编译错误以及多版本环境冲突等核心痛点,帮助开发者构建稳定高效的开发调试环境。 阅读详情

相关推荐

告别编译报错!手把手教你用VS2022命令行编译curl静态库(附完整测试代码)

本文详细介绍了如何在VS2022环境下通过命令行编译curl静态库,从环境准备、编译实战到项目集成,提供了完整的避坑指南和测试代码。特别针对常见的编译报错如LNK2019等给出了具体解决方案,帮助开发者高效完成网络库的静态编译与集成。

weixin_42557803的博客 448

16个必知必会的Python教程!

Python 是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松,编写代码更高效。本文中将探讨一些鲜为人知的 Python 技巧,这些技巧非常有用,但并不广为人知。通过学习和使用这些技巧,可以帮你节省时间和精力,并使你的代码更加优雅和高效。那么,让我们深入探索 Python 语言的这些隐藏宝藏吧!这里插播一条粉丝福利,如果你正在学习Python或者有计划学习Python,想要突破自我,对未来十分迷茫的,可以。

biancheng_syz的博客 1773

零基础玩转STM32CubeIDE LL库:5分钟搞定串口通信(附完整代码)

本文为零基础开发者提供了一份STM32CubeIDE LL库串口通信的快速实战指南。通过CubeMX配置、LL库核心API详解,以及中断接收与环形缓冲区的完整代码实现,帮助读者在5分钟内搭建稳定可靠的串口收发框架,解决从HAL切换到LL库的常见困惑,提升嵌入式开发效率。

weixin_29159441的博客 308

【Python入门】16 个必知必会的 Python 教程!

Python是一种广泛使用的高级编程语言,由Guido van Rossum(也被称为Python之父)于1991年首次发行。Python的设计哲学强调代码的可读性和简洁的语法(尤其是使用空格缩进来区分代码块,而不同于其他编程语言中常见的花括号或关键字)。它的解释器易于学习,并且被设计为能够用少量代码表达想法,这使得Python成为初学者的理想选择,同时也受到专业程序员和资深开发者的青睐。Python支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。

2301_78150559的博客 1103

倍福Twincat 3.0软件与C++通讯问题(ADS通讯)

倍福Twincat 3.0软件与C++通讯问题 倍福公司所开发的Twincat 3.0软件是基于Visual studio开发环境的一款自动化软件,目前其与C++程序通讯的方式主要还是靠ADS-DLL接口进行数据和信息传递,作者在Visual C++上进行混合编程开发,通过TwinCAT路由器和C语言API函数实现混合编程。 倍福软件提供: TcAdsDll.dll—动态链接库; TcAdsDll...

weixin_42811651的博客 1万+

【实战指南】OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

hampeter的博客 1802

Python入门:16 个必知必会的 Python 教程!

Python 是一门用途广泛的编程语言,它具有大量的库和框架。有一些鲜为人知的 Python 编码技巧和库可以让你作为开发人员的工作更为轻松,编写代码更高效。本文中将探讨一些鲜为人知的 Python 技巧,这些技巧非常有用,但并不广为人知。通过学习和使用这些技巧,可以帮你节省时间和精力,并使你的代码更加优雅和高效。那么,让我们深入探索 Python 语言的这些隐藏宝藏吧!

sj4568的博客 1054

【谷粒商城】分布式事务与下单

=购物车== 构建gulimall-cart,复制静态资源到nginx,修改网关 购物车分为离线购物车和登录购物车 离线购物车重启浏览器了也还有 1、购物车需求 特点:读多写少,放入数据库并不合适 登录状态:登录购物车 放入数据库 mongodb 放入redis(采用) 登录以后,将离线购物车里合并后清空离线购物车 未登录状态:离线购物车 放入localstorage浏览器的技术 cookie WebSQL 放入redis(采用) 浏览器重启后还在 2、购物车VO (1) 数据结构分析

努力充实,远方可期 1万+
上一篇: Python全系列教程完整版(懂中文就能学会)
下一篇: Python那些优质可视化工具!
大模型应用场景
博客等级 码龄5年 7671粉丝 1350原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值