Python 基本语法
Python语法定义了一组规则,用于在编写Python程序时创建Python语句。Python编程语言语法与Perl、C和Java编程语言有许多相似之处。然而,这些语言之间还是存在一些明显的区别。
第一个Python程序
让我们以不同的编程模式执行Python的”Hello, World!”程序。
Python – 交互模式编程
我们可以通过在命令提示符下输入”python”来从命令行调用Python解释器,如下所示:
$ python
Python 3.6.8 (default, Sep 10 2021, 09:13:53)
[GCC 8.5.0 20210514 (Red Hat 8.5.0-3)] 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!")
我们假设您已经在PATH变量中设置了Python解释器路径。现在,让我们尝试按照以下方式运行此程序 –
$ python test.py
这将产生以下结果−
Hello, World!
让我们尝试另一种执行Python脚本的方式。下面是修改后的test.py文件−
#!/usr/bin/python
print ("Hello, World!")
我们假设您的Python解释器位于 /usr/bin 目录中。现在,请尝试按照以下方式运行这个程序−
$ chmod +x test.py # This is to make file executable
$./test.py
这将产生以下结果−
Hello, World!
Python标识符
Python标识符是用来标识变量、函数、类、模块或其他对象的名称。标识符以大写字母A到Z、小写字母a到z或下划线(_)开始,后跟零个或多个字母、下划线和数字(0到9)。
Python不允许在标识符中使用@、$和%等标点符号。
Python是一种区分大小写的编程语言。因此, Manpower 和 manpower 是Python中的两个不同标识符。
这里有一些Python标识符的命名约定−
- Python类名以大写字母开头。其他所有标识符以小写字母开头。
-
以单个下划线开头的标识符表示 私有 标识符。
-
以两个下划线开头的标识符表示一个强烈的 私有 标识符。
-
如果标识符以两个下划线结尾,该标识符是一个 语言定义的 特殊名字。
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编程不提供大括号来表示类和函数定义或流程控制的代码块。代码块通过 行缩进 来表示,并且遵循严格的规定。
缩进中的空格数是可变的,但块内的所有语句必须缩进相同的量。例如 –
if True:
print ("True")
else:
print ("False")
然而,下面的代码块会产生一个错误 –
if True:
print ("Answer")
print ("True")
else:
print ("Answer")
print ("False")
因此,在Python中,所有连续缩进相同数量的空格的行将形成一个块。以下示例具有各种语句块−
此时不要试图理解逻辑。只要确保您理解各种块,即使它们没有花括号。
import sys
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 = raw_input("Enter text: ")
if file_text == file_finish:
# close the file
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')
多个语句组成的套件
被称为套件的一组独立语句组成一个代码块。在Python中,包括if、while、def和class等复合或复杂语句都需要一个头行和一个套件。
头行以关键字开头,并以冒号(:
)结束,后面跟着一个或多个构成套件的行。例如:
if expression :
suite
elif expression :
suite
else :
suite
Python中的命令行参数
许多程序可以运行,为您提供关于如何运行它们的一些基本信息。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. ]
您还可以以这样的方式编写脚本,使其能够接受各种选项。 命令行参数是一个高级主题,应该在您学习完其他Python概念后再进行研究。