为什么 Python 中的 if/while/def/class 语句需要冒号?
在 Python 中,所有这些关键字(if、while、def、class 等)都需要冒号以增强可读性。对于具有语法突出显示功能的编辑器而言,冒号使其更易于使用;即,它们可以查找冒号来确定何时需要增加缩进。
让我们看一个 if 语句的示例:
if a == b print(a)
以及:
if a == b: print(a)
第二个示例更易于阅读、理解和缩进。这使得冒号的使用颇为流行。
def 和 if 关键字的示例
我们这里有一个带有冒号的 def 中的 if 语句,我们将统计元组中某个元素出现的次数:
def countFunc(myTuple, a): count = 0 for ele in myTuple: if (ele == a): count = count + 1 return count # Create a Tuple myTuple = (10, 20, 30, 40, 20, 20, 70, 80) # Display the Tuple print("Tuple = ",myTuple) # The element whose occurrence is to be checked k = 20 print("Number of Occurrences of ",k," = ",countFunc(myTuple, k))
输出
('Tuple = ', (10, 20, 30, 40, 20, 20, 70, 80)) ('Number of Occurrences of ', 20, ' = ', 3)
明确地,对于具有冒号的单个程序中的 def 和 if 语句,程序更易于阅读和缩进。
类示例
让我们看一个带有冒号的类的示例: −
class student: st_name ='Amit' st_age ='18' st_marks = '99' def demo(self): print(self.st_name) print(self.st_age) print(self.st_marks) # Create objects st1 = student() st2 = student() # The getattr() is used here print ("Name = ",getattr(st1,'st_name')) print ("Age = ",getattr(st2,'st_age'))
输出
('Name = ', 'Amit') ('Age = ', '18')
广告