Python基本语法
Python语言与Perl,C和Java有许多相似之处。但是,两种语言之间存在一定的区别。
第一个Python程序
让我们以不同的编程模式执行程序。
互动模式编程
在不传递脚本文件作为参数的情况下调用解释器将显示以下提示:
$ python Python 2.4.3 (#1, Nov 11 2010, 13因此,在Python中,以相同数量的空格缩进的所有连续行都将形成一个块。以下示例具有各种语句块:43) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
在Python提示符下键入以下文本,然后按Enter:
>>> print "Hello, Python!"
如果你正在运行新版本的Python,则需要使用带括号的print语句,如下所示: 打印(“ Hello,Python!”); 。但是,在Python 2.4.3版中,这将产生以下结果:
Hello, Python!
脚本模式编程
使用脚本参数调用解释器将开始执行脚本,并一直持续到脚本完成为止。脚本完成后,解释器将不再处于活动状态。
让我们用脚本编写一个简单的Python程序。 Python文件具有扩展名 .py 。在test.py文件中输入以下源代码:
print "Hello, Python!"
我们假设你在PATH变量中设置了Python解释器。现在,尝试按以下方式运行此程序:
$ python test.py
这将产生以下结果:
Hello, Python!
让我们尝试另一种执行Python脚本的方法。这是修改后的test.py文件:
#!/usr/bin/python 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是区分大小写的编程语言。因此, Manpower and manpower 是Python中的两个不同的标识符。
以下是Python标识符的命名约定:
-
类名以大写字母开头。所有其他标识符以小写字母开头。
-
以单个下划线开头的标识符表示该标识符是私有的。
-
以两个下划线开头的标识符表示一个高度私有的标识符。
-
如果标识符也以两个下划线结尾,则标识符是语言定义的特殊名称。
保留字
以下列表显示了Python关键字。这些是保留字,你不能将它们用作常量或变量或任何其他标识符名称。所有Python关键字仅包含小写字母。
and | exec | not |
assert | finally | or |
break | for | pass |
class | from | |
continue | global | raise |
def | if | return |
del | import | try |
elif | in | while |
else | is | with |
except | lambda | yield |
线和缩进
Python没有提供大括号来指示用于类和函数定义或流控制的代码块。代码块由行缩进表示,行缩进是严格执行的。
缩进中的空格数是可变的,但是块中的所有语句必须缩进相同的数量。例如:
if True: print "True" else: print "False"
但是,以下块会产生错误:
if True: print "Answer" print "True" else: print "Answer" print "False"
因此,在Python中,以相同数量的空格缩进的所有连续行都将形成一个块。以下示例具有各种语句块:
Note :此时不要尝试了解逻辑。只要确保你了解各种功能块,即使它们没有括号也可以。
#!/usr/bin/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确实允许使用行继续字符(\)来表示该行应该继续。例如:
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/python # First comment print "Hello, Python!" # second comment
这将产生以下结果:
Hello, Python!
你可以在语句或表达式后的同一行输入注释:
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完全忽略了它。
在交互式解释器会话中,必须输入一个空的物理行以终止多行语句。
等待用户
程序的以下行显示提示,并显示“按Enter键退出”的语句,并等待用户采取措施:
#!/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中。复合或复杂的语句,例如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. ]
你还可以对脚本进行编程,使其可以接受各种选项。 命令行参数 是一个高级主题,在你学习完其余Python概念后,应稍后进行研究。