📜  构建Python程序

📅  最后修改于: 2020-01-13 05:13:01             🧑  作者: Mango

在本文中,您将了解有关正确构造和格式化Python程序。
Python语句通常,解释器逐行(即顺序地)读取和执行语句。但是,有些语句可以更改此行为,例如条件语句。
通常,Python语句以这样一种格式编写,即一个语句仅用一行编写。解释器将“换行符“视为一条指令的终止符。但是,您也可以在下面找到每行编写多个语句的情况。
例子:

# 例子1
print('欢迎来到芒果文档')

输出:

欢迎来到芒果文档

例子;

# 例子2
x = [1, 2, 3, 4]
# x[1:3] 表示从x的index为1
# 一直到index为2
print(x[1:3])
""" 注意,在上面的表达,第一个index被包含
第二个index没有被包含
."""

输出:

[2,3]

我们也可以每行多条语句,但这不是一个好习惯,因为它会降低代码的可读性。尽量避免在一行中写多个语句。但是,仍然可以通过在’;’的帮助下终止一条语句来编写多行代码。’;’ 在这种情况下,用作一个语句的终止符。
例如,请考虑以下代码。

# 例子
a = 10; b = 20; c = b + a
print(a); print(b); print(c)

输出:

10
20
30

行连续,以避免向左和向右滚动
某些语句可能会变得很长,并可能迫使您频繁向左和向右滚动屏幕。您可以以无需滚动的方式调整代码。Python允许您在多行中编写单个语句,也称为行连续。行继续也增强了可读性。

# 一个不好的例子,
# 一行中,有非常多内容.
# 代码
x = 10
y = 20
z = 30
no_of_teachers = x
no_of_male_students = y
no_of_female_students = z
if (no_of_teachers == 10 && no_of_female_students == 30 && no_of_male_students == 20 && (x + y) == 30):
        print('The course is valid')

行延续的类型
通常,线路延续有两种类型

  • 隐式行连续
    这是编写跨越多行语句的最直接的技术。
    在遇到所有匹配的括号,方括号和花括号之前,任何包含开括号(“(“),方括号(“ [“)或花括号(“ {“))的语句都被认为是不完整的。语句可以跨行继续隐而不引发错误。
    例如:
    # 例子1
    # 如下代码,是可执行的
    a = [
        [1, 2, 3],
        [3, 4, 5],
        [5, 6, 7]
        ]
    print(a)

    输出:

    [[1、2、3],[3、4、5],[5、6、7]]

    例:

    # 例子2
    # 如下代码,也可执行
    person_1 = 18
    person_2 = 20
    person_3 = 12
    if (
       person_1 >= 18 and
       person_2 >= 18 and
       person_3 < 18
       ):
        print('2人应该有身份证')

    输出:

    2人应该有身份证

    显式行连续
    显式行连续通常在不适用隐式行连续时使用。在这种方法中,您必须使用一个字符来帮助解释器理解特定的语句跨越多行。
    反斜杠(\)用于指示一条语句跨越多行。需要注意的一点是,“”必须是该行的最后一个字符,甚至不允许使用空格。
    请参阅以下示例以进行澄清

    # Example
    x = \
        1 + 2 \
        + 5 + 6 \
        + 10
    print(x)

    输出:

    24

    Python中的注释
    注释在代码中编写注释非常重要,它们有助于提高代码的可读性,并提供有关代码的更多信息。它可以帮助您根据语句或代码块编写详细信息。解释器将忽略注释,并且不将其计入程序本身而执行。在本节中,我们将学习如何用Python编写注释。
    用于写注释的符号包括哈希(#)或三重双引号(“””)。哈希用于编写不跨越多行的单行注释。三重引号用于编写多行注释。三个三引号开始评论,再次三个引号结束评论。
    请考虑以下示例:

    # 例子1
    ####### 这个例子会打印Hello World ####### print('Hello World')  # 这是一个注释
    # Example 2
    """ 这个用来表达
    多行注释
     """
    """ 下面的a变量
    包含字符串:你多大了
    """
    a = '你多大了?'
    """
    如下语句
    将打印a的值
    """
    print(a)

    注意,字符串中的哈希(#)不会使其成为注释。考虑以下示例进行演示。

    # 例子
    """ 如下语句
    将打印在字符串中所有的内容
     """
    a = 'This is # not a comment #'
    print(a) # 打印a的值

Python解释器通常会忽略空格,并且大多数情况下不需要空格。当清楚地知道一个token在哪里结束而下一个token在哪里开始时,可​​以省略空格。当涉及特殊的非字母数字字符时,通常是这种情况。
例子1

# 例子1
# 这个可执行,但空格可增加可读性
a = 1-2  # 更好的写法:a = 1 - 2
print(a)

例子2

# 例子 2
# 这个正确
# 空格增加可读性.
x = 10
flag =(x == 10)and(x<12)
print(flag)
""" 可读性的语句,例子如下
x = 10
flag = (x == 10) and (x < 12)
print(flag)
"""
# 请自己尝试写更多可读性代码

将关键字与变量或其他关键字分开时,必须使用空格。考虑以下示例。

# 例子
x = [1, 2, 3]
y = 2
""" 如下不正确, 会产生语法错误
a = yin x
"""
# 正确应该如下
a = y in x
print(a)

空格作为缩进
Python的语法非常简单,但在编写代码时仍要格外小心。缩进用于编写Python代码。
语句前的空格具有重要作用,并在缩进中使用。语句前的空格可能具有不同的含义。让我们尝试一个例子。

# 例子
print('foo') # 正确
   print('foo') # 不正确,会产生报错
# 报错将会是: 'unexpected indent'

前导空格用于确定语句的分组,例如循环或控制结构等。
示例:

# 例子
x = 10
while(x != 0):
 if(x > 5):   # 行 1
  print('x > 5')  # 行 2
 else:        # 行 3
  print('x < 5') # 行 4
 x -= 2       # 行 5
"""
行 1, 3, 5 在一个缩进尺度
行 2 仅会在行1的条件True执行.
行 4 仅在行3的条件True下执行.
"""

输出:

x> 5
x> 5
x> 5
x <5
x <5