Python 3 - 基本语法

  • 简述

    Python 语言与 Perl、C 和 Java 有许多相似之处。但是,这些语言之间存在一些明显的差异。
  • 第一个 Python 程序

    让我们以不同的编程模式执行程序。

    交互模式编程

    在不将脚本文件作为参数传递的情况下调用解释器会出现以下提示 -
    
    
    $ python
    
    
    
    Python 3.3.2 (default, Dec 10 2013, 11:35:01)
    
    [GCC 4.6.3] on Linux
    
    Type "help", "copyright", "credits", or "license" for more information.
    
    >>>
    
    
    
    On Windows:
    
    
    
    Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 24 2015, 22:43:06) [MSC v.1600 32 bit (Intel)] on win32
    
    Type "copyright", "credits" or "license()" for more information.
    
    >>>
    
    
    在 Python 提示符下键入以下文本并按 Enter 键 -
    
    
    >>> print ("Hello, Python!")
    
    
    如果您运行的是旧版本的 Python (Python 2.x),请使用括号作为inprint功能是可选的。这会产生以下结果 -
    
    
    Hello, Python!
    
    

    脚本模式编程

    使用脚本参数调用解释器开始执行脚本并继续执行直到脚本完成。脚本完成后,解释器不再处于活动状态。
    让我们在脚本中编写一个简单的 Python 程序。Python 文件具有扩展名.py. 在 test.py 文件中键入以下源代码 -
    
    
    print ("Hello, Python!")
    
    
    我们假设您已将 Python 解释器设置为PATH多变的。现在,尝试按如下方式运行该程序 -
    On Linux
    
    
    $ python test.py 
    
    
    这会产生以下结果 -
    
    Hello, Python!
    
    On Windows
    
    
    C:\Python34>Python test.py
    
    
    这会产生以下结果 -
    Hello, Python!
    
    
    让我们尝试另一种方法在 Linux 中执行 Python 脚本。这是修改后的 test.py 文件 -
    
    
    #!/usr/bin/python3
    
    print ("Hello, Python!")
    
    
    我们假设您在 /usr/bin 目录中有可用的 Python 解释器。现在,尝试按如下方式运行该程序 -
    
    
    $ chmod +x test.py     # This is to make file executable
    
    $./test.py
    
    
    这会产生以下结果 -
    
    
    Hello, Python!
    
    
  • Python 标识符

    Python 标识符是用于标识变量、函数、类、模块或其他对象的名称。标识符以字母 A 到 Z 或 a 到 z 或下划线 (_) 开头,后跟零个或多个字母、下划线和数字(0 到 9)。
    Python 不允许在标识符中使用标点符号,例如 @、$ 和 %。Python 是一种区分大小写的编程语言。因此,Manpowermanpower是 Python 中的两个不同的标识符。
    以下是 Python 标识符的命名约定 -
    • 类名以大写字母开头。所有其他标识符都以小写字母开头。
    • 以单个前导下划线开头的标识符表示该标识符是私有的。
    • 以两个前导下划线开头的标识符表示强私有标识符。
    • 如果标识符也以两个尾随下划线结尾,则标识符是语言定义的特殊名称。
  • 保留字

    以下列表显示了 Python 关键字。这些是保留字,您不能将它们用作常量或变量或任何其他标识符名称。所有 Python 关键字仅包含小写字母。
    and exec not
    as finally or
    assert for pass
    break from print
    class global raise
    continue if return
    def import try
    del in while
    elif is with
    else lambda yield
    except
  • 行和缩进

    Python 不使用大括号 ({}) 来指示用于类和函数定义或流控制的代码块。代码块由严格执行的行缩进表示。
    缩进中的空格数是可变的,但是块中的所有语句必须缩进相同的量。例如 -
    
    
    if True:
    
       print ("True")
    
    
    
    else:
    
       print ("False")
    
    
    但是,以下块会产生错误 -
    
    
    if True:
    
       print ("Answer")
    
       print ("True")
    
    
    
    else:
    
       print "(Answer")
    
       print ("False")
    
    
    因此,在 Python 中,所有以相同数量的空格缩进的连续行将形成一个块。以下示例具有各种语句块 -
    注意− 此时不要试图理解逻辑。只要确保您理解各种块,即使它们没有括号。
    
    
    #!/usr/bin/python3
    
    import sys
    
    
    
    file_finish = "end"
    
    file_text = ""
    
    contents=[]
    
    
    
    file_name=input("Enter filename: ")
    
    if len(file_name) == 0:
    
       print("Please enter filename")
    
       sys.exit()
    
    
    
    try:
    
       # open file stream
    
       file = open(file_name, "w")
    
    
    
    except IOError:
    
       print ("There was an error writing to", file_name)
    
       sys.exit()
    
    
    
    print ("Enter '", file_finish,)
    
    print ("' When finished")
    
    
    
    while file_text != file_finish:
    
       file_text = input("Enter text: ")
    
       contents.append(file_text)
    
    
    
       if file_text == file_finish:
    
          # close the file
    
          file.close()
    
          break
    
    
    
    print(contents)
    
    data = ' '.join([str(elem) for elem in contents])  
    
    print(data)
    
    file.write(data)
    
    file.close()
    
    file_name = input("Enter filename: ")
    
    
    
    if len(file_name) == 0:
    
       print ("Next time please enter something")
    
       sys.exit()
    
    
    
    try:
    
       file = open(file_name, "r")
    
    
    
    except IOError:
    
       print ("There was an error reading file")
    
       sys.exit()
    
    file_text = file.read()
    
    file.close()
    
    print (file_text)
    
    
  • 多行语句

    Python 中的语句通常以新行结尾。然而,Python 允许使用续行符 (\) 来表示该行应该继续。例如 -
    
    
    total = item_one + \
    
       item_two + \
    
       item_three
    
    
    []、{} 或 () 括号内的语句不需要使用续行符。例如 -
    
    
    days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']
    
    
  • Python 中的引号

    Python 接受单引号 (')、双引号 (") 和三引号(''' 或 """)来表示字符串文字,只要相同类型的引号开始和结束字符串即可。
    三重引号用于将字符串跨越多行。例如,以下所有内容都是合法的 -
    
    
    word = 'word'
    
    sentence = "This is a sentence."
    
    paragraph = """This is a paragraph. It is
    
    made up of multiple lines and sentences."""
    
    
  • Python 中的注释

    不在字符串文字内的井号 (#) 是注释的开头。# 之后的所有字符,直到物理行的末尾,都是注释的一部分,Python 解释器将忽略它们。
    
    
    #!/usr/bin/python3
    
    
    
    # First comment
    
    print ("Hello, Python!") # second comment
    
    
    这会产生以下结果 -
    
    
    Hello, Python!
    
    
    您可以在语句或表达式后的同一行中键入注释 -
    
    
    name = "Madisetti" # This is again comment
    
    
    Python 没有多行注释功能。您必须如下单独评论每一行 -
    
    
    # This is a comment.
    
    # This is a comment, too.
    
    # This is a comment, too.
    
    # I said that already.
    
    
  • 使用空行

    仅包含空格(可能带有注释)的行称为空行,Python 会完全忽略它。
    在交互式解释器会话中,您必须输入一个空的物理行来终止多行语句。
  • 等待用户

    程序的下一行显示提示和语句“按回车键退出”,然后等待用户采取行动 -
    
    
    #!/usr/bin/python3
    
    
    
    input("\n\nPress the enter key to exit.")
    
    
    这里,“\n\n”用于在显示实际行之前创建两个新行。一旦用户按下该键,程序就结束了。这是一个很好的技巧,可以让控制台窗口保持打开状态,直到用户完成应用程序。
  • 单行多语句

    如果没有语句开始新代码块,分号 ( ; ) 允许在一行中使用多个语句。这是一个使用分号的示例片段 -
    
    
    import sys; x = 'foo'; sys.stdout.write(x + '\n')
    
    
  • 多个语句组作为套件

    组成单个代码块的独立语句组称为suites在 Python 中。复合或复杂的语句,如 if、while、def 和 class 需要一个标题行和一个套件。
    标题行开始语句(使用关键字)并以冒号 ( : ) 结束,然后是构成套件的一行或多行。例如 -
    
    
    if expression : 
    
       suite
    
    elif expression : 
    
       suite 
    
    else : 
    
       suite
    
    
  • 命令行参数

    可以运行许多程序,以向您提供有关应如何运行它们的一些基本信息。Python 使您能够使用 -h
    
    
    $ python -h
    
    usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
    
    Options and arguments (and corresponding environment variables):
    
    -c cmd : program passed in as string (terminates option list)
    
    -d     : debug output from parser (also PYTHONDEBUG=x)
    
    -E     : ignore environment variables (such as PYTHONPATH)
    
    -h     : print this help message and exit
    
    
    
    [ etc. ]