Python中那些简单又好用的特性和用法盘点

 更新时间:2024年03月07日 08:32:06   作者:ops-coffee  
这篇文章主要为大家详细介绍了在编写Python代码过程中用到的几个简单又好用的特性和用法,这些特性和用法可以帮助我们更高效地编写Python代码,希望对大家有所帮助

Python作为我的主力语言帮助我开发了许多DevOps运维自动化系统,这篇文章总结几个我在编写Python代码过程中用到的几个简单又好用的特性和用法,这些特性和用法可以帮助我们更高效地编写Python代码

1.链式比较

x = 5
y = 10
z = 15

if x < y < z:
    print("x is less than y and y is less than z")

2.链式赋值

total_regions = region_total_instances = total_instances = 0

3.三元运算符

x = 10
result = "Greater than 10" if x > 10 else "Less than or equal to 10"

4.使用args和kwargs传递多个位置参数或关键字参数给函数

def example_function(*args, **kwargs):
    for arg in args:
        # 执行相关操作
    for key, value in kwargs.items():
        # 执行相关操作

5.使用enumerate函数同时获取索引和值

my_list = ['apple', 'banana', 'orange']
for index, value in enumerate(my_list):
    print(f"Index: {index}, Value: {value}")

6.使用zip函数同时迭代多个可迭代对象

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
for item1, item2 in zip(list1, list2):
    print(f"Item from list1: {item1}, Item from list2: {item2}")

7.使用itertools模块进行迭代器和循环的高级操作

import itertools
for item in itertools.chain([1, 2, 3], ['a', 'b', 'c']):
    print(item)

8.使用collections.Counter进行计数

from collections import Counter
my_list = ['apple', 'banana', 'apple', 'orange', 'banana', 'apple']
counter = Counter(my_list)
print(counter)  # 输出为Counter({'apple': 3, 'banana': 2, 'orange': 1})

9.使用any和all函数对可迭代对象中的元素进行逻辑判断

my_list = [True, False, True, True]
print(any(my_list))  # 输出为True
print(all(my_list))  # 输出为False

10.使用sorted函数对可迭代对象进行排序

my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_list = sorted(my_list)
print(sorted_list)  # 输出为[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]

11.使用set进行集合操作

set1 = {1, 2, 3, 4, 5}
set2 = {3, 4, 5, 6, 7}
print(set1.union(set2))  # 输出为{1, 2, 3, 4, 5, 6, 7}
print(set1.intersection(set2))  # 输出为{3, 4, 5}

12.上下文管理器

class CustomContextManager:
    def __enter__(self):
        # 在代码块执行之前执行的操作
        # 可以返回一个值,该值将被赋值给as子句中的变量

    def __exit__(self, exc_type, exc_val, exc_tb):
        # 在代码块执行之后执行的操作
        # 可以处理异常,返回True表示异常被处理,False则会重新抛出异常

# 使用自定义上下文管理器
with CustomContextManager() as obj:
    # 在这里执行一些操作

13.生成器表达式

# 使用生成器表达式计算1到10的平方和
squared_sum = sum(x**2 for x in range(1, 11))
print(squared_sum)

14.使用str.endswith()方法来检查字符串是否以元组中的任何一个字符串结尾

filename = "example.csv"
if filename.endswith((".csv", ".xls", ".xlsx")):
    # 执行相关操作

同样的用法还有str.startswith()来检查字符串是否以元组中的任何一个字符串开头

15.else语句与for和while循环结合使用

for item in some_list:
    if condition:
        # 执行相关操作
        break
else:
    # 如果循环自然结束,执行相关操作

16.静态类型检查

# 使用mypy进行静态类型检查
def add_numbers(a: int, b: int) -> int:
    return a + b

result = add_numbers(5, 10)
print(result)

先总结这么多,欢迎补充

到此这篇关于Python中那些简单又好用的特性和用法盘点的文章就介绍到这了,更多相关Python特性和用法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pytorch中LN(LayerNorm)及Relu和其变相的输出操作

    pytorch中LN(LayerNorm)及Relu和其变相的输出操作

    这篇文章主要介绍了pytorch中LN(LayerNorm)及Relu和其变相的输出操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • 在python中计算ssim的方法(与Matlab结果一致)

    在python中计算ssim的方法(与Matlab结果一致)

    这篇文章主要介绍了在python中计算ssim的方法(与Matlab结果一致),本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Python中关于文件的具体操作与介绍

    Python中关于文件的具体操作与介绍

    文件与目录操作是编程语言中非常重要的功能,Python也对其提供了相应的API支持,这篇博文就是具体介绍它们的使用方法,通读本篇对大家的学习或工作具有一定的价值,需要的朋友可以参考下
    2021-09-09
  • Python脚本实现DNSPod DNS动态解析域名

    Python脚本实现DNSPod DNS动态解析域名

    这篇文章主要介绍了Python脚本实现DNSPod DNS动态解析域名,本文直接给出实现代码,需要的朋友可以参考下
    2015-02-02
  • pytorch创建tensor函数详情

    pytorch创建tensor函数详情

    这篇文章主要介绍了pytorch创建tensor函数详情,文章围绕tensor函数的相关自来哦展开详细内容的介绍,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • Python中NameError: name ‘Image‘ is not defined的问题解决

    Python中NameError: name ‘Image‘ is not&nb

    本文主要介绍了Python中NameError: name ‘Image‘ is not defined的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • pytorch使用horovod多gpu训练的实现

    pytorch使用horovod多gpu训练的实现

    这篇文章主要介绍了pytorch使用horovod多gpu训练的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-09-09
  • PyCharm 常用快捷键和设置方法

    PyCharm 常用快捷键和设置方法

    下面小编就为大家分享一篇PyCharm 常用快捷键和设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • PyTorch搭建多项式回归模型(三)

    PyTorch搭建多项式回归模型(三)

    这篇文章主要为大家详细介绍了PyTorch搭建多项式回归模型,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • python自动化测试工具Helium使用示例

    python自动化测试工具Helium使用示例

    大家好,本篇文章主要讲的是python自动化测试工具Helium使用示例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下哦
    2021-12-12

最新评论