page contents

很强,14 常用的 python 小技巧!

本文讲述了14 个常用的python小技巧!具有很好的参考价值,希望对大家有所帮助。一起跟随好学星城小编过来看看吧,具体如下:

attachments-2024-02-3JTYuhKF65d98aea1ceb5.png本文讲述了14 个常用的python小技巧!具有很好的参考价值,希望对大家有所帮助。一起跟随好学星城小编过来看看吧,具体如下:

1、三元运算符

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

a = 5 

b = 10 

max = a if a > b else b 

print(max)

#10

上面的语句检查变量 a 是否大于 b,如果为 true,则返回 a,如果为 false,则返回 b。

2、枚举函数

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

fruits = ['apple', 'banana', 'mango'] 

for index, fruit in enumerate(fruits): 

    print(index, fruit)


#0 apple

#1 banana

#2 mango

3、Zip 函数

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 函数是使用 lambda 关键字定义的匿名函数。当你需要编写小型一次性函数并且不想使用 def 关键字来定义命名函数时,它们非常有用。

add = lambda x, y: x + y 


result = add(3, 4)

print(result)

# 7

6、any() 和 all() 函数

any() 和 all() 函数根据可迭代中元素的真实性返回 True 或 False。

numbers = [1, 2, 3, 0, 4] 

result = any(numbers) #True 

result = all(numbers) # False. 0 is making it false


7、itertools

itertools 模块提供了一组与迭代器一起使用的函数,但并不广为人知。

import itertools 

numbers = [1, 2, 3] 

result = list(itertools.permutations(numbers)) 


#output all the permutations 

#[(1, 2, 3), (1, 3, 2), (2, 1, 3), (2, 3, 1), (3, 1, 2), (3, 2, 1)]


8、生成器

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

### Generators created using yield keyword 

def fibonacci_series(n):

    a, b = 0, 1

    for i in range(n):

        yield a

        a, b = b, a + b


# Driver code to check above generator function 

for number in fibonacci_series(10):

    print(number)

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))

#Running add

#add returned 12

#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 中可以添加下划线以使数字更具可读性。

num_test = 100_345_405 # this is the number


print(num_test)

## 100345405

14、快速合并2个字典

我们可以使用下面的代码在 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}

更多相关技术内容咨询欢迎前往并持续关注好学星城论坛了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2024-02-24 14:24
  • 阅读 ( 203 )
  • 分类:Python开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1470 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章