软件工程师手册/语言字典/Python
由荷兰程序员 Guido Von Rossum 创建,他曾在 ABC 编程语言上工作,而 ABC 本身源于 SETL 编程语言。ABC 使用缩进进行语法作用域和可读性,而 SETL 则具有列表推导,并旨在实现集合符号和理论的清晰性。
Python 被描述为一种脚本语言,通常以解释方式运行,尽管解释器在执行之前会扫描整个源代码以进行解析,如果出现语法或类型错误,它会停止,可能是因为构建了一个解析树,其节点对其子节点有类型限制。
入口点是在最左侧包含缩进的代码中,使用全局变量 __name__,并查找值为 "__main__" 的脚本 if 条件语句。
if __name__ == "__main__":
#do program
return
将 0 赋值给 a,然后将 a 赋值给 b 的示例
a = 0
b = a
Python 不使用分号来表示语句结束,而是使用换行符来表示。这意味着每个语句都必须放在单独的一行。
# This is an inline comment. Everything after the # is a comment.
块注释以一对三引号 (""") 开始和结束。它们可以跨越多行。
"""
This is a
block comment
"""
变量在第一次赋值时声明。Python 是动态类型的,所以变量的类型取决于它的初始值。
# integer variable:
a = 0
# float variable
c = 0.0
# string variable
d = 'Hello, world!'
可以使用 "def" 关键字声明函数,然后是函数名。函数的参数放在括号中。代码只有在函数作用域内才属于该函数的一部分。
def myFunction(arg1, arg2):
# function start
# function end
可以使用星号创建具有未知数量参数的函数。
def myFunction(*args):
# function start
# function end
语句属于最接近的较低缩进的函数作用域。有一个未命名的全局函数作用域。在任何作用域中声明的变量和函数都不能在它们被声明的作用域之外访问。
print("I will always be printed")
a = 1
if __name__ == "__main__":
print("I will also always be printed, and I can access a=", a)
b = 2
def f():
c = 1
f()
def g():
d = 2
def h():
e = d
x = b
g()
print("I can access b=", b, "because b belongs in a compound statement block of the same functional scope (global)")
print("and f() can also be called")
print("But c, d, e, and h() can't be accessed")
"if" 关键字表示条件语句。如果条件为真,它将执行 if 语句作用域下的代码。否则,它将执行 else 语句作用域下的代码。
if A == B:
D = C
else:
F = E
要检查多个条件,可以使用 "elif" 关键字("else if" 的简写)。
if A == B:
D = C
elif A > B:
F = E
else:
H = G
for 循环将在给定范围内循环遍历值。
for i in range(0, 10):
# code here
此范围包含起始值 (0) 但不包含结束值 (10),因此它将从 i = 0 到 i = 9。你也可以使用 for 循环来遍历列表。
values = []
for value in values:
# code here
while 循环将在条件变为假之前循环。它将在每次循环开始时检查条件。
while i > 20:
# code here
Python 中的输出是使用内置的 print 函数完成的。print 函数会在打印后自动开始新的输出行。
print("Hello, world!")
要打印多个项目,请用逗号隔开它们。每个项目将自动以空格隔开打印。
print("hello", "world")
<描述错误处理和恢复。根据需要提供示例。>
可以像这样创建列表
# empty list
list = []
# list with values
list = [1, 2, 3]
Python 还内置了 3 种容器:元组、集合和字典。更多类型的容器可以通过外部库添加。
<列出该语言本机可用的算法或对算法列表的引用。列出在语言中没有本机算法的情况下如何使用算法。或者,如果不可用,请说明。>
垃圾回收是自动的。
<描述文件、库和各个部分通常如何划分和安排。>
<请包括便于从其他语言切换到此语言的技巧。>
<列出可能会有帮助的其他书籍和文章。 请包括参考资料适合哪个级别的读者。(初学者/中级/高级)>