Python3 基本语法

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!")

我们假设你已经在PATH变量中设置了Python解释器。 现在,尝试运行该程序如下 -

在Linux上

$ python test.py 

这产生了以下结果 -

Hello, Python!

在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是一种区分大小写的编程语言。 因此,Person和person是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中,所有用相同数量的空格缩进的连续行将形成一个块。 以下示例具有各种语句块 −

− 在这个时候不要试图理解逻辑。 只要确保你了解各种块,即使它们没有大括号。

多行语句

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完全忽略它。

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

等待用户输入

程序的下面一行显示提示和说“按Enter键退出”的语句,然后等待用户采取行动 −

#!/usr/bin/python3

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

在此,“\n\n”用于在显示实际行之前创建两个新行。 一旦用户按下该键,程序结束。 在用户完成应用程序之前,保持控制台窗口处于打开状态是一个很好的技巧。

同一行显示多条语句

分号(;)允许在一行中使用多个语句,因为没有语句会启动一个新的代码块。 这是一个使用分号的示例片段 −

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

多个语句组作为代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。像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. ]