Python 基本语法怎么写?新手入门规则有哪些?

文章导读
上一个 测验 下一个 Python - 语法 Python 语法定义了一组用于创建 Python 程序的规则。Python 编程语言的语法与 Perl、C 和 Java 编程语言有许多相似之处。然而,这些语言之间也存在一些明显的差异。
📋 目录
  1. Python - 语法
  2. 第一个 Python 程序
  3. Python 标识符
  4. Python 保留字
  5. Python 行和缩进
  6. Python 多行语句
  7. Python 中的引号
  8. Python 中的注释
  9. Python 程序中使用空行
  10. 等待用户
A A

Python - 语法



上一个
测验
下一个

Python - 语法

Python 语法定义了一组用于创建 Python 程序的规则。Python 编程语言的语法与 Perl、C 和 Java 编程语言有许多相似之处。然而,这些语言之间也存在一些明显的差异。

第一个 Python 程序

让我们通过两种不同的 Python 编程模式来执行一个打印“Hello, World!”的 Python 程序。(a) 交互模式编程 (b) 脚本模式编程。

Python - 交互模式编程

我们可以通过在命令提示符下输入 python 来从命令行调用 Python 解释器,如下所示 −

$ python3
Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

这里 >>> 表示 Python 命令提示符,您可以在其中输入命令。让我们在 Python 提示符下输入以下文本并按 Enter 键 −

>>> print ("Hello, World!")

如果您运行的是较旧版本的 Python,例如 Python 2.4.x,则需要使用不带括号的 print 语句,如 print "Hello, World!"。然而,在 Python 3.x 版本中,这会产生以下结果 −

Hello, World!

Python - 脚本模式编程

我们可以通过带脚本参数调用 Python 解释器来开始执行脚本,并持续执行直到脚本结束。当脚本执行完毕后,解释器将不再活跃。

让我们在一个简单的文本文件中编写一个简单的 Python 程序。Python 文件的扩展名为 .py。在 test.py 文件中输入以下源代码 −

print ("Hello, World!")

我们假设您已将 Python 解释器的路径设置在 PATH 变量中。现在,让我们尝试按以下方式运行此程序 −

$ python3 test.py

这会产生以下结果 −

Hello, World!

让我们尝试另一种执行 Python 脚本的方式。这是修改后的 test.py 文件 −

#!/usr/bin/python3

print ("Hello, World!")

我们假设您在 /usr/bin 目录下有 Python 解释器。现在,尝试按以下方式运行此程序 −

$ chmod +x test.py     # 这是为了使文件可执行
$./test.py

这会产生以下结果 −

Hello, World!

Python 标识符

Python 标识符是用于标识变量、function、class、module 或其他对象的名称。标识符以字母 A 到 Z 或 a 到 z 或下划线 (_) 开头,后跟零个或多个字母、下划线和数字 (0 到 9)。

Python 不允许在标识符中使用标点符号,例如 @、$ 和 %。

Python 是一种区分大小写的编程语言。因此,Manpowermanpower 在 Python 中是两个不同的标识符。

以下是 Python 标识符的命名约定 −

  • Python class 名称以大写字母开头。所有其他标识符以小写字母开头。

  • 标识符以单个前导下划线开头,表示该标识符是 私有 标识符。

  • 标识符以两个前导下划线开头,表示强 私有 标识符。

  • 如果标识符还以两个尾随下划线结尾,则该标识符是 语言定义的 特殊名称。

Python 保留字

以下列表显示了 Python 关键字。这些是保留字,您不能将它们用作常量、变量或任何其他标识符名称。所有 Python 关键字仅包含小写字母。

and as assert
break class continue
def del elif
else except False
finally for from
global if import
in is lambda
None nonlocal not
or pass raise
return True try
while with yield

Python 行和缩进

Python 编程语言不使用大括号来表示 class 和 function 定义或流程控制的代码块。代码块通过 行缩进 来表示,并且这一规则被严格执行。

缩进中的空格数量可以变化,但块内的所有语句必须使用相同的缩进量。例如 −

if True:
   print ("True")
else:
   print ("False")

然而,下面的代码块会产生错误 −

if True:
   print ("Answer")
   print ("True")
else:
   print ("Answer")
   print ("False")

因此,在 Python 中,所有使用相同空格数连续缩进的行将形成一个代码块。下面的示例包含各种语句块 −

此时不要试图理解逻辑。只需确保你理解了各种块,即使它们没有大括号。
import sys

try:
   # 打开文件流
   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 = raw_input("Enter text: ")
   if file_text == file_finish:
      # 关闭文件
      file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = raw_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 中的语句通常以新行结束。然而,Python 允许使用行延续字符 (\) 来表示该行应继续。例如 −

total = item_one + \
        item_two + \
        item_three

包含在 []、{} 或 () 括号内的语句不需要使用行延续字符。例如,以下语句在 Python 中运行良好 −

days = ['Monday', 'Tuesday', 'Wednesday',
        'Thursday', 'Friday']

Python 中的引号

Python 接受单引号 (')、双引号 (") 和三引号 (''' 或 """) 来表示字符串字面量,只要相同类型的引号开始和结束字符串即可。

三引号用于将字符串跨越多行。例如,以下均为合法 −

word = 'word'
print (word)

sentence = "This is a sentence."
print (sentence)

paragraph = """This is a paragraph. It is
 made up of multiple lines and sentences."""
print (paragraph)

Python 中的注释

注释是程序员可读的 Python 源代码中的解释或注解。它们被添加的目的是使源代码更容易被人类理解,并且被 Python 解释器忽略。

就像大多数现代语言一样,Python 支持单行(或行尾)注释和多行(块)注释。Python 注释与 PHP、BASH 和 Perl 编程语言中的注释非常相似。

不在字符串字面量内的井号 (#) 开始一个注释。从 # 之后到物理行结束的所有字符都是注释的一部分,Python 解释器会忽略它们。

# First comment
print ("Hello, World!") # Second comment

这会产生以下结果 −

Hello, World!

你可以在语句或表达式后同一行输入注释 −

name = "Madisetti" # This is again comment

你可以通过以下方式注释多行 −

# This is a comment.
# This is a comment, too.
# This is a comment, too.
# I said that already.

以下三引号字符串也被 Python 解释器忽略,可用作多行注释:

'''
This is a multiline
comment.
'''

Python 程序中使用空行

仅包含空白字符的行(可能带有注释)被称为空行,Python 完全忽略它。

在交互式解释器会话中,你必须输入一个空的物理行来终止多行语句。

等待用户

程序的以下行显示提示,即“按回车键退出”的语句,并等待用户采取行动 −

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")

这里,"\n\n" 用于在显示实际行之前创建两行新行。一旦用户按下键,程序结束。这是一个不错的技巧,可以保持控制台窗口打开,直到用户完成应用程序的使用。

单行上的多个语句

分号 ( ; ) 允许在单行上放置多个语句,前提是这些语句都不会开始一个新的代码块。以下是使用分号的示例片段 −

import sys; x = 'foo'; sys.stdout.write(x + '\n')

多个语句组作为 Suites

一组单个语句构成了一个代码块,在 Python 中称为 suites。复合或复杂语句,如 if、while、def 和 class,需要一个头部行和一个 suite。

头部行以关键字开始语句,并以冒号 ( : ) 结束,后面跟着一个或多个行,这些行构成了 suite。例如 −

if expression :
   suite
elif expression :
   suite
else :
   suite

Python 中的命令行参数

许多程序可以运行以提供一些关于如何运行它们的基本信息。Python 允许您使用 -h 来实现这一点 −

$ python3 -h
usage: python3 [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. ]

您还可以以这样的方式编程您的脚本,使其能够接受各种选项。命令行参数是一个高级主题,应该在您学习完其他 Python 概念后再稍后研究。