如何总结三十个Python编程中的实用技巧?

2026-05-24 16:221阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1980个文字,预计阅读时间需要8分钟。

如何总结三十个Python编程中的实用技巧?

本文为家长带来了关于Python的相关知识,主要总结了一些编程过程中常用的技巧,包括检查对象、使用多行字符串、从函数中返回多个值等内容,希望能对家长有所帮助。

本篇文章给大家带来了关于python的相关知识,其中主要总结了一些编程过程中常用到的使用技巧,包括了检查对象、使用多行字符串、从函数中返回多个值等等相关内容,希望对大家有帮助。

推荐学习:python教程

技巧1 就地交换两个数字

Python 提供了一种在一行中进行赋值和交换的直观方式。请参考下面的例子。

x, y = 10, 20print(x, y) x, y = y, xprint(x, y) #1 (10, 20)#2 (20, 10)

右边的赋值为一个新的元组播种。而左边的立即将那个(未引用的)元组解包到名称 <a><b>

分配完成后,新元组将被取消引用并标记为垃圾收集。变量的交换也发生在最终。


技巧2 比较运算符的链接。

比较运算符的聚合是另一个有时可以派上用场的技巧。

n = 10 result = 1 < n < 20 print(result) # True result = 1 > n <= 9 print(result) # False


技巧3 使用三元运算符进行条件赋值。

三元运算符是 if-else 语句的快捷方式,也称为条件运算符。

[on_true] if [expression] else [on_false]

以下是一些示例,您可以使用它们使代码紧凑简洁。

下面的语句与它的意思相同,即“如果 y 为 9,则将 10 分配给 x,否则将 20 分配给 x ”。如果需要,我们可以扩展运算符的链接。

x = 10 if (y == 9) else 20

同样,我们可以对类对象做同样的事情。

x = (classA if y == 1 else classB)(param1, param2)

在上面的例子中,classA 和 classB 是两个类,其中一个类构造函数将被调用。

下面是一个没有的例子。加入评估最小数字的条件。

def small(a, b, c): return a if a <= b and a <= c else (b if b <= a and b <= c else c) print(small(1, 0, 1))print(small(1, 2, 2))print(small(2, 2, 3))print(small(5, 4, 3))#Output#0 #1 #2 #3

我们甚至可以在列表推导式中使用三元运算符。

[m**2 if m > 10 else m**4 for m in range(50)]#=> [0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401]


技巧4 使用多行字符串

基本方法是使用从 C 语言派生的反斜杠。

multiStr = "select * from multi_row \ where row_id < 5"print(multiStr)# select * from multi_row where row_id < 5

另一个技巧是使用三引号。

multiStr = """select * from multi_row where row_id < 5"""print(multiStr)#select * from multi_row #where row_id < 5

上述方法的共同问题是缺乏适当的缩进。如果我们尝试缩进,它会在字符串中插入空格。

所以最终的解决方案是将字符串拆分成多行,并将整个字符串括在括号中。

multiStr= ("select * from multi_row ""where row_id < 5 ""order by age") print(multiStr)#select * from multi_row where row_id < 5 order by age


技巧5 将列表元素存储到新变量中

我们可以使用一个列表来初始化一个 no。的变量。在解压列表时,变量的数量不应超过编号。列表中的元素。

testList = [1,2,3]x, y, z = testListprint(x, y, z)#-> 1 2 3


技巧6 打印导入模块的文件路径

如果您想知道代码中导入的模块的绝对位置,请使用以下技巧。

import threading import socketprint(threading)print(socket)#1- <module 'threading' from '/usr/lib/python2.7/threading.py'>#2- <module 'socket' from '/usr/lib/python2.7/socket.py'>


技巧7 使用交互式“_”运算符

这是一个有用的功能,我们很多人都不知道。

如何总结三十个Python编程中的实用技巧?

在 Python 控制台中,每当我们测试表达式或调用函数时,结果都会发送到临时名称 _(下划线)。

>>> 2 + 13>>> _3>>> print _3

“_”引用上次执行的表达式的输出。


技巧8 字典/集合理解

就像我们使用列表推导一样,我们也可以使用字典/集合推导。它们易于使用且同样有效。这是一个例子。

testDict = {i: i * i for i in xrange(10)} testSet = {i * 2 for i in xrange(10)}print(testSet)print(testDict) #set([0, 2, 4, 6, 8, 10, 12, 14, 16, 18]) #{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

注意 -两个语句中只有 <:> 的区别。此外,要在 Python3 中运行上述代码,请将 替换为 。


技巧9 调试脚本

我们可以在 模块的帮助下在 Python 脚本中设置断点。请按照以下示例进行操作。

import pdb pdb.set_trace()

我们可以在脚本的任何地方指定 <pdb.set_trace()> 并在那里设置断点。这是非常方便的。


技巧10 设置文件共享

Python 允许运行 HTTP 服务器,您可以使用它从服务器根目录共享文件。下面是启动服务器的命令。

Python 2

python -m SimpleHTTPServer

Python 3

python3 -m www.baidu.com".startswith(("", "")))print("juejin.cn".endswith((".com", ".cn")))#1-> True#2-> True


技巧29 形成一个统一的列表,不使用任何循环。

import itertools test = [[-1, -2], [30, 40], [25, 35]]print(list(itertools.chain.from_iterable(test)))#-> [-1, -2, 30, 40, 25, 35]

如果您有一个包含嵌套列表或元组作为元素的输入列表,请使用以下技巧。但是,这里的限制是它使用了 for 循环。

def unifylist(l_input, l_target): for it in l_input: if isinstance(it, list): unifylist(it, l_target) elif isinstance(it, tuple): unifylist(list(it), l_target) else: l_target.append(it) return l_target test = [[-1, -2], [1,2,3, [4,(5,[6,7])]], (30, 40), [25, 35]]print(unifylist(test,[]))#Output => [-1, -2, 1, 2, 3, 4, 5, 6, 7, 30, 40, 25, 35]

统一包含列表和元组的列表的另一种更简单的方法是使用 Python 的 < more_itertools > 包。它不需要循环。只需执行 < pip install more_itertools >,如果还没有的话。

import more_itertools test = [[-1, -2], [1, 2, 3, [4, (5, [6, 7])]], (30, 40), [25, 35]]print(list(more_itertools.collapse(test)))#Output=> [-1, -2, 1, 2, 3, 4, 5, 6, 7, 30, 40, 25, 35]


技巧30 在 Python 中实现真正的 switch-case 语句。

这是使用字典来模仿 switch-case 构造的代码。

def xswitch(x): return xswitch._system_dict.get(x, None) xswitch._system_dict = {'files': 10, 'folders': 5, 'devices': 2}print(xswitch('default'))print(xswitch('devices'))#1-> None#2-> 2

推荐学习:python学习教程

以上就是归纳整理三十个Python的实用技巧的详细内容,更多请关注自由互联其它相关文章!

本文共计1980个文字,预计阅读时间需要8分钟。

如何总结三十个Python编程中的实用技巧?

本文为家长带来了关于Python的相关知识,主要总结了一些编程过程中常用的技巧,包括检查对象、使用多行字符串、从函数中返回多个值等内容,希望能对家长有所帮助。

本篇文章给大家带来了关于python的相关知识,其中主要总结了一些编程过程中常用到的使用技巧,包括了检查对象、使用多行字符串、从函数中返回多个值等等相关内容,希望对大家有帮助。

推荐学习:python教程

技巧1 就地交换两个数字

Python 提供了一种在一行中进行赋值和交换的直观方式。请参考下面的例子。

x, y = 10, 20print(x, y) x, y = y, xprint(x, y) #1 (10, 20)#2 (20, 10)

右边的赋值为一个新的元组播种。而左边的立即将那个(未引用的)元组解包到名称 <a><b>

分配完成后,新元组将被取消引用并标记为垃圾收集。变量的交换也发生在最终。


技巧2 比较运算符的链接。

比较运算符的聚合是另一个有时可以派上用场的技巧。

n = 10 result = 1 < n < 20 print(result) # True result = 1 > n <= 9 print(result) # False


技巧3 使用三元运算符进行条件赋值。

三元运算符是 if-else 语句的快捷方式,也称为条件运算符。

[on_true] if [expression] else [on_false]

以下是一些示例,您可以使用它们使代码紧凑简洁。

下面的语句与它的意思相同,即“如果 y 为 9,则将 10 分配给 x,否则将 20 分配给 x ”。如果需要,我们可以扩展运算符的链接。

x = 10 if (y == 9) else 20

同样,我们可以对类对象做同样的事情。

x = (classA if y == 1 else classB)(param1, param2)

在上面的例子中,classA 和 classB 是两个类,其中一个类构造函数将被调用。

下面是一个没有的例子。加入评估最小数字的条件。

def small(a, b, c): return a if a <= b and a <= c else (b if b <= a and b <= c else c) print(small(1, 0, 1))print(small(1, 2, 2))print(small(2, 2, 3))print(small(5, 4, 3))#Output#0 #1 #2 #3

我们甚至可以在列表推导式中使用三元运算符。

[m**2 if m > 10 else m**4 for m in range(50)]#=> [0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401]


技巧4 使用多行字符串

基本方法是使用从 C 语言派生的反斜杠。

multiStr = "select * from multi_row \ where row_id < 5"print(multiStr)# select * from multi_row where row_id < 5

另一个技巧是使用三引号。

multiStr = """select * from multi_row where row_id < 5"""print(multiStr)#select * from multi_row #where row_id < 5

上述方法的共同问题是缺乏适当的缩进。如果我们尝试缩进,它会在字符串中插入空格。

所以最终的解决方案是将字符串拆分成多行,并将整个字符串括在括号中。

multiStr= ("select * from multi_row ""where row_id < 5 ""order by age") print(multiStr)#select * from multi_row where row_id < 5 order by age


技巧5 将列表元素存储到新变量中

我们可以使用一个列表来初始化一个 no。的变量。在解压列表时,变量的数量不应超过编号。列表中的元素。

testList = [1,2,3]x, y, z = testListprint(x, y, z)#-> 1 2 3


技巧6 打印导入模块的文件路径

如果您想知道代码中导入的模块的绝对位置,请使用以下技巧。

import threading import socketprint(threading)print(socket)#1- <module 'threading' from '/usr/lib/python2.7/threading.py'>#2- <module 'socket' from '/usr/lib/python2.7/socket.py'>


技巧7 使用交互式“_”运算符

这是一个有用的功能,我们很多人都不知道。

如何总结三十个Python编程中的实用技巧?

在 Python 控制台中,每当我们测试表达式或调用函数时,结果都会发送到临时名称 _(下划线)。

>>> 2 + 13>>> _3>>> print _3

“_”引用上次执行的表达式的输出。


技巧8 字典/集合理解

就像我们使用列表推导一样,我们也可以使用字典/集合推导。它们易于使用且同样有效。这是一个例子。

testDict = {i: i * i for i in xrange(10)} testSet = {i * 2 for i in xrange(10)}print(testSet)print(testDict) #set([0, 2, 4, 6, 8, 10, 12, 14, 16, 18]) #{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

注意 -两个语句中只有 <:> 的区别。此外,要在 Python3 中运行上述代码,请将 替换为 。


技巧9 调试脚本

我们可以在 模块的帮助下在 Python 脚本中设置断点。请按照以下示例进行操作。

import pdb pdb.set_trace()

我们可以在脚本的任何地方指定 <pdb.set_trace()> 并在那里设置断点。这是非常方便的。


技巧10 设置文件共享

Python 允许运行 HTTP 服务器,您可以使用它从服务器根目录共享文件。下面是启动服务器的命令。

Python 2

python -m SimpleHTTPServer

Python 3

python3 -m www.baidu.com".startswith(("", "")))print("juejin.cn".endswith((".com", ".cn")))#1-> True#2-> True


技巧29 形成一个统一的列表,不使用任何循环。

import itertools test = [[-1, -2], [30, 40], [25, 35]]print(list(itertools.chain.from_iterable(test)))#-> [-1, -2, 30, 40, 25, 35]

如果您有一个包含嵌套列表或元组作为元素的输入列表,请使用以下技巧。但是,这里的限制是它使用了 for 循环。

def unifylist(l_input, l_target): for it in l_input: if isinstance(it, list): unifylist(it, l_target) elif isinstance(it, tuple): unifylist(list(it), l_target) else: l_target.append(it) return l_target test = [[-1, -2], [1,2,3, [4,(5,[6,7])]], (30, 40), [25, 35]]print(unifylist(test,[]))#Output => [-1, -2, 1, 2, 3, 4, 5, 6, 7, 30, 40, 25, 35]

统一包含列表和元组的列表的另一种更简单的方法是使用 Python 的 < more_itertools > 包。它不需要循环。只需执行 < pip install more_itertools >,如果还没有的话。

import more_itertools test = [[-1, -2], [1, 2, 3, [4, (5, [6, 7])]], (30, 40), [25, 35]]print(list(more_itertools.collapse(test)))#Output=> [-1, -2, 1, 2, 3, 4, 5, 6, 7, 30, 40, 25, 35]


技巧30 在 Python 中实现真正的 switch-case 语句。

这是使用字典来模仿 switch-case 构造的代码。

def xswitch(x): return xswitch._system_dict.get(x, None) xswitch._system_dict = {'files': 10, 'folders': 5, 'devices': 2}print(xswitch('default'))print(xswitch('devices'))#1-> None#2-> 2

推荐学习:python学习教程

以上就是归纳整理三十个Python的实用技巧的详细内容,更多请关注自由互联其它相关文章!