您的位置:首页 > 娱乐 > 明星 > 重庆观音桥介绍_苏州保洁公司招聘信息_百度新闻下载安装_移动端seo关键词优化

重庆观音桥介绍_苏州保洁公司招聘信息_百度新闻下载安装_移动端seo关键词优化

2024/10/5 3:05:30 来源:https://blog.csdn.net/TuringSnowy/article/details/142555202  浏览:    关键词:重庆观音桥介绍_苏州保洁公司招聘信息_百度新闻下载安装_移动端seo关键词优化
重庆观音桥介绍_苏州保洁公司招聘信息_百度新闻下载安装_移动端seo关键词优化

Python 是一种非常灵活且功能强大的编程语言,它有许多不为人知但非常有用的用法。以下是一些小众但好用的 Python 用法:

  1. 列表推导式:用于创建列表的简洁方式。
    squares = [x**2 for x in range(10)]

结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

  1. 生成器表达式:与列表推导式类似,但用于创建生成器,节省内存。
    squares = (x**2 for x in range(10))

结果:<generator object at 0x…>(这是一个生成器对象)

  1. 字典推导式:用于创建字典的快捷方式。
    squares = {x: x**2 for x in range(10)}

结果:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

  1. 集合推导式:用于创建集合的快捷方式。
    unique_numbers = {x for x in range(100) if x % 5 == 0}

结果:{0, 5, 10, 15, 20, …, 95}(包含0到99之间所有5的倍数)

  1. 切片赋值:可以一次性赋值给列表的多个元素。
    a = [0, 1, 2, 3, 4]
    a[1:3] = [10, 20]

结果:[0, 10, 20, 3, 4]

  1. 解包赋值:可以一次性将多个变量解包赋值。
    a, b, *rest = [1, 2, 3, 4, 5]

结果:a = 1, b = 2, rest = [3, 4, 5]

  1. 星号表达式:在函数调用中收集额外的参数。
    def func(*args, **kwargs):
    pass

结果:定义了一个可以接受任意数量位置参数和关键字参数的函数。

  1. with语句:用于管理资源,确保资源被适当地释放。
    with open(‘file.txt’, ‘r’) as f:
    data = f.read()

  2. 上下文管理器:通过定义__enter__和__exit__方法,自定义资源管理。
    class ManagedResource:
    def enter(self):
    return self
    def exit(self, exc_type, exc_value, traceback):
    print(“Resource cleaned up”)

结果:定义了一个可以用于with语句的资源管理类。

  1. 装饰器:用于修改函数或方法的行为。
    def my_decorator(func):
    def wrapper(*args, **kwargs):
    print(“Something is happening before the function is called.”)
    result = func(*args, **kwargs)
    print(“Something is happening after the function is called.”)
    return result
    return wrapper

  2. 单下划线和双下划线:用于命名约定,如__variable表示私有变量,__private_variable表示名称重整。
    __variable = “I’m private”

结果:定义了一个名为__variable的私有变量。

  1. 推导式链:可以链式使用推导式。
    result = [(x + y) for x in range(3) for y in range(3)]

结果:[0, 1, 2, 1, 2, 3, 2, 3, 4]

  1. 内置函数map():对序列的每个元素应用函数。
    squares = list(map(lambda x: x**2, range(10)))

结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

  1. 内置函数filter():过滤序列,过滤掉不符合条件的元素。
    evens = list(filter(lambda x: x % 2 == 0, range(10)))

结果:[0, 2, 4, 6, 8]

  1. itertools模块:提供了许多用于操作迭代器的函数。
    import itertools
    product = list(itertools.product([1, 2, 3], repeat=2))

结果:[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]

  1. functools.reduce():对序列的元素进行累积操作。
    from functools import reduce
    result = reduce(lambda x, y: x+y, [1, 2, 3, 4, 5])

结果:15

  1. any()和all():用于检查序列中是否有任何或所有元素满足条件。
    any([False, False, True])
    all([True, True, True])

结果:True, True

  1. enumerate():用于在循环中获取元素及其索引。
    for index, value in enumerate([‘a’, ‘b’, ‘c’]):
    print(index, value)

结果:
0 a
1 b
2 c

  1. sorted():用于排序,可以自定义排序键。
    sorted(iterable, key=lambda x: x[1])

  2. argparse模块:用于编写用户友好的命令行接口。
    import argparse
    parser = argparse.ArgumentParser(description=“Example”)
    parser.add_argument(‘integers’, metavar=‘N’, type=int, nargs=’+’,
    help=‘an integer for the accumulator’)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com