6个超酷的 Python 技巧

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料、代码以及交流解答点击即可加入


近年来,数据科学经历了巨大的发展。作为数据科学领域中最常用的编程语言,Python 也越来越受欢迎。

在本文中,我将提到6个我认为非常酷的 Python 技巧。它们还会通过提供完成某些任务的实用方法,让你的编程体验更加轻松。

要成为一个好的程序员,仅仅写代码来完成一个给定的任务是不够的。你的程序应该在时间和计算复杂性方面是有效的。此外,代码应该整洁,易于阅读和调试,并且可维护。

本文中的技巧将帮助您实现编写干净高效的代码的最终目标。

1. 切片

有些数据结构允许索引和切片,如列表、字符串和元组。

我们可以使用整数来指定片的上下限。


s = slice(3,6)

lst = [1, 3, 'a', 'b', 5, 11, 16]
text = 'DataScience'
tpl = (1,2,3,4,5,6,7)

print(lst[s])
['b', 5, 11]

print(text[s])
aSc

print(tpl[s])
(4, 5, 6)

上述代码中 s 表示从第四个元素到第六个元素的切片操作。我们可以将相同的片对象应用于列表、字符串和元组。

2. 交换变量

我们可能遇到需要交换两个变量值的情况。一种方法是使用中间变量来临时保存值。


a = 'John'
b = 'Emily'

c = a
a = b
b = c

print(a)
'Emily'

print(b)
'John'

Python 提供了一种更好的交换方法。


a = 20
b = 50

a, b = b, a

print(a)
50

print(b)
20

3. 对列表进行排序

假设我们有一个列表。


lst = [[2, 7], [7, 3], [3, 8], [8, 7], [9, 7], [4, 9]]

通过使用带有 lambda 函数的 sort 函数,我们可以根据内部列表的第一项或第二项对列表进行排序。


lst.sort(key = lambda inner:inner[1])

print(lst)
[[7, 3], [2, 7], [8, 7], [9, 7], [3, 8], [4, 9]]

列表根据第二个项目进行排序。我们可以对第一个项目做同样的改变,只需将1改为0。


lst.sort(key = lambda inner:inner[0])

print(lst)
[[2, 7], [3, 8], [4, 9], [7, 3], [8, 7], [9, 7]]

4. Argument unpacking

假设我们有一个将给定数字相乘的函数。


def mult(a, b, c):
   return a * b * c
   
mult(2, 3, 4)
24

如果我们只需要乘以三个数字,这个函数就可以正常工作。必须准确地给出三个数字。我们可以通过对给定的参数进行 unpack 操作来使函数更加灵活。


def mult(*args):
   result = 1
   for i in args:
      result *= i
   return result

现在,mult 函数可以对任意数量的值进行相乘。

mult(2, 3)
6mult(2, 3, 4)
24mult(2, 3, 4, 5)
120

上述操作在 Python 中非常常见。如果您阅读了包或库的文档,那么您一定看过 * args 和 * * kwargs。

5. 数据分解

假设我们有一个返回两个值的元组的函数,并且我们希望将每个值分配给一个单独的变量。一种方法是使用如下索引:


tpl = (1, 2)

x = tpl[0]
y = tpl[1]

print(x, y)
1 2

还有一个更好的选择,允许我们在一行中执行相同的操作。


x, y = tpl

print(x, y)
1 2

它可以扩展为具有多于2个值的元组或其他一些数据结构,如列表或集合。


x, y, z = {1, 2, 3}

print(x, y, z)
1 2 3

x, y, z = ['a', 'b', 'c']

print(x, y, z)
a b c

6. f 字符串

在字符串中添加变量是一种常见的做法。字符串是迄今为止最酷的方式。为了更好地理解 f 字符串,让我们首先使用 format 函数执行操作。


name = 'John'
age = 15

print("{} is {} years old".format(name, age))
John is 15 years old

我们通过在末尾使用 format 函数来指定花括号中的变量。字符串允许指定字符串中的变量。


print(f"{name} is {age} years old")
John is 15 years old

f 字符串更容易跟踪和输入,而且,它们使代码更具可读性。

总结

我们已经介绍了6个简单但非常实用的技巧。它们会引起一些小的变化,但是一些小的改进会积累起来。您最终将编写更高效、更易于阅读和调试、更易于维护的代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值