Python是一种多才多艺、被广泛使用的编程语言,拥有大量的库和框架。然而,有一些不太为人知的Python编程技巧和库,可以让作为开发者的生活更轻松,使你的代码更高效。介绍一些非常有用的Python技巧。通过学习和应用这些技巧,你可以在编码中节省时间和精力,并使你的代码更加优雅和高效。所以,让我们深入探讨Python语言中这些的技巧宝藏吧!
1.三元操作符(Ternary operator)
三元操作符是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)
2.枚举迭代(Enumerate)函数
enumerate()
函数将一个可迭代对象加上计数器,并以enumerate
对象的形式返回。当你想要遍历一个列表同时也想要跟踪索引时,这个函数非常有用。
fruits = ['apple', 'banana', 'mango']` `for index, fruit in enumerate(fruits): `` print(index, fruit)
3.拉链(Zip)函数
zip()
函数从每个可迭代对象中聚合元素,并返回一个元组的迭代器。当你想要同时遍历两个或更多列表时,这个函数非常有用。
list1 = [ 1 , 2 , 3 ]` `list2 = [ 'a' , 'b' , 'c' ]` `for x, y in zip (list1, list2): `` print (x, y)
4.列表推导式(List comprehensions)
列表推导式是一种从现有列表或任何可迭代对象创建列表的简洁方式。它是一行代码,可以取代for循环,使你的代码更加高效和可读。
squared_numbers = [x**2 for x in range(1, 6)]`` ``print(squared_numbers)
5.字典推导式(Dictionary Comprehensions)
字典推导式是一种从现有字典或任何可迭代对象创建字典的简洁方式。它是一行代码,可以取代for循环,使你的代码更加高效和可读。
squared_numbers = {x: x**2 for x in range(1, 6)}``print(squared_numbers)
6.Lambda函数
Lambda函数是使用lambda关键字定义的匿名函数。当你需要编写小型、一次性函数,并且不想使用def关键字定义命名函数时,它们非常有用。
add = lambda x, y: x + y` ` ``result = add(3, 4)``print(result)
7.Any和All函数
any()和all()函数根据可迭代对象中元素的真值性返回True或False。any()函数在可迭代对象中的任何元素为真时返回True,而all()函数在可迭代对象中的所有元素都为真时返回True。
numbers = [1, 2, 3, 0, 4]` `result = any(numbers)` `print(result)``result = all(numbers)` `print(result)
8.Itertools
Itertools模块提供了一组迭代器处理排列组合函数来,它并不是广为人知的。该模块中的一些函数包括chain、product和permutations。
import itertools` `numbers = [1, 2, 3]` `result = list(itertools.permutations(numbers))` `result
9.生成器(Generators)
生成器是一种可迭代对象,它在需要时即时生成值,而不是将它们存储在内存中。它们使用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)
10.装饰器(Decorators)
装饰器是一种修改函数或类行为的方式。它们使用@符号进行定义,并可用于为函数添加功能,如日志记录、计时或身份验证。
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))
11.多个函数参数(Multiple Function Arguments)
在Python中,你可以使用*和** 运算符来处理多个函数参数。*运算符用于将参数列表作为单独的位置参数传递,而**运算符用于将关键字参数的字典传递。
def print_arguments(*args, **kwargs):` `print(args)` `print(kwargs)`` ``print_arguments(1, 2, 3, name='John', age=30)
12.动态导入(Dynamic Importing)
你可以使用importlib模块动态导入模块。这在你想要根据用户输入或配置导入模块时非常有用。
import importlib`` ``module_name = 'math'``module = importlib.import_module(module_name)``result = module.sqrt(9)``print(result)
13.可调用对象(Callable Objects)
在Python中,任何可以被调用的东西都被称为可调用对象。这包括函数、方法、类,甚至定义了__call__方法的对象。
class Adder:` `def __call__(self, x, y):` `return x + y`` ``adder = Adder()``result = adder(3, 4)``print(result)
14.大数字的表示(big numbers/characters)
在Python中,你可以使用下划线来将大数字/字符分隔开来。大数字很难解释,因此Python具有在数字中添加下划线以使其更易读的强大功能。
num_test = 100_345_405 # this is the number`` ``print(num_test)
15.快速合并两个字典
我们可以使用以下代码片段快速在Python中合并两个字典。
dictionary_one = {"a": 1, "b": 2}``dictionary_two = {"c": 3, "d": 4}`` ``merged = {**dictionary_one, **dictionary_two}``print(merged)
16.列表、集合和字典是可变的
可变意味着我们可以更改或更新对象(列表、集合或字典)而不改变内存中对象的指针。让我们看看它的实际效果。
在下面的示例中,我们通过添加新城市来更新城市列表。我们可以看到ID(对象指针)保持不变。对于集合和字典也是一样的。
## list` `cities = ["Munich", "Zurich", "London"]``print('cities:',id(cities))` `cities.append("Berlin")``print('cities:',id(cities))` `####Sets` `my_set = {1, 2, 3}``print('my_set:',id(my_set))` `my_set.add(4)``print('my_set:',id(my_set))` `# dictionary``thisdict = { "brand": "Ford", "model": "Mustang", "year": 1964}``print('thisdict:',id(thisdict))` `thisdict["engine"] = "2500cc"``print('thisdict:',id(thisdict))
通过学习和应用这些技巧,你可以在编码中节省时间和精力,并使你的代码更加优雅和高效。
题外话
感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。
二、Python兼职渠道推荐*
学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
三、最新Python学习笔记
当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
四、实战案例
纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉CSDN大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)
若有侵权,请联系删除