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 | |
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. ]