我正在研究如何在python中使用pass语句。我看过(How to use the pass statement in Python),在阅读答案时提出了一些与pass语句其他用途有关的问题...
我应该在python中使用pass语句使我的代码更具可读性吗?
和
以这种方式使用pass语句是否会引起我任何问题?
例如:
以下是一个超级简单的程序,该程序基本上说如果某人小于或等于30岁,则不要做任何事情(通过)。我知道,如果我不通过,会出现缩进错误。然后,如果年龄大于30岁,我将打印出“您大于30岁”的小精灵。
age = 32
if age <= 30:
pass
elif age > 30:
print("You are older than 30")
现在我可以像这样编写这段代码:
age = 32
if age > 30:
print("You are older than 30")
但是,就代码的可读性而言,添加更多的代码并明确地使事情变得清晰起来是否对其他将来可能会使用该代码的人有所帮助?用这种方式编码会引起我任何问题吗?以这种方式使用pass语句是否会引起我一些打h?
答案 0 :(得分:1)
如果您的代码使用不必要的语句或循环,异常处理,更多变量等,则会引发打ic和减速。您可以为此问题使用linter,例如pylint
蒂姆·彼得斯(Tim Peters)的《 Python的禅宗》(The Zen of Python)
Simple is better than complex.
Readability counts.
您可以像下面的代码片段一样重写您发布的代码,以使其保持简洁,避免不必要的检查if age <= 30
,并使其更具可读性
age = 32
if age > 30:
print("You are older than 30")
else:
pass
关于更好的代码规模和可读性,您当然可以使用pass
语句,注释,OOP等...
当然,还有很多其他我没有提到的遵循这些术语的技术。
答案 1 :(得分:1)
pass
指令的合理性如下:
class MyException(Exception):
pass
或者在编写测试时,功能还没有准备好。 我认为,为了提高可读性,您总是需要摆脱不必要的分支。和代码:
age = 32
if age > 30:
print("You are older than 30")
看起来更好,更易读。
答案 2 :(得分:0)
import sqlite3
import csv
def csv_to_db(str):
connection = sqlite3.connect('port.db')
with open(str, 'r') as f:
reader = csv.reader(f)
for row in reader:
c = connection.cursor()
c.execute('INSERT INTO introduce VALUES(?,?,?)', (row[0],row[1],row[2]))
connection.commit()
关键字用于语言词典。从每个冒号pass
之后的第一行中扣除块的缩进。如果没有:
,则以下代码将不明确。
pass
关于您的问题,我建议仅在需要的地方使用if condition:
do_something()
。代码越短越好。