跳转到内容

软件工程师手册/语言字典/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 种容器:元组、集合和字典。更多类型的容器可以通过外部库添加。

<列出该语言本机可用的算法或对算法列表的引用。列出在语言中没有本机算法的情况下如何使用算法。或者,如果不可用,请说明。>

垃圾回收

[编辑 | 编辑源代码]

垃圾回收是自动的。

物理结构

[编辑 | 编辑源代码]

<描述文件、库和各个部分通常如何划分和安排。>

<请包括便于从其他语言切换到此语言的技巧。>

网页参考资料

[编辑 | 编辑源代码]

书籍和文章

[编辑 | 编辑源代码]

<列出可能会有帮助的其他书籍和文章。 请包括参考资料适合哪个级别的读者。(初学者/中级/高级)>

华夏公益教科书