Python语言与Perl,C和Java有许多相似之处.但是,语言之间存在一些明显的差异.
第一个Python程序
让我们以不同的编程模式执行程序.
交互模式编程
调用解释器而不传递脚本文件作为参数会显示以下提示 :
$ pythonPython 3.3.2 (default, Dec 10 2013, 11:35:01)[GCC 4.6.3] on LinuxType "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 win32Type "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/python3print ("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 和 manpower 是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中,所有用相同数量的空格缩进的连续行将形成一个块.以下示例具有各种语句块 :
注意 : 不要试图在这个时候理解逻辑.只要确保你理解各种块,即使它们没有大括号.
#!/usr/bin/python3import systry: # 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 = 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)
Multi-Line语句
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 ismade up of multiple lines and sentences."""
评论在Python中
不在字符串文字内的井号(#)是注释的开头. #之后的所有字符,直到物理行的末尾,都是注释的一部分,Python解释器忽略它们.
#!/usr/bin/python3# First commentprint ("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 multilinecomment.'''
使用空行
一行只包含空格,可能带注释,被称为空白行,Python完全忽略它.
在交互式解释器会话中,您必须输入一个空的物理行来终止多行语句.
等待用户
程序的以下行显示提示符,并显示"按Enter键退出",然后等待用户采取操作 :
#!/usr/bin/python3input("\n\nPress the enter key to exit.")
这里,"\ n \ n"用于在显示实际行之前创建两个新行.一旦用户按下该键,程序就结束.这是一个很好的技巧,可以在用户完成应用程序之前保持控制台窗口打开.
单行多个语句
分号假设没有语句启动新的代码块,(;)允许在一行上有多个语句.这是一个使用分号的示例
import sys; x = 'foo'; sys.stdout.write(x + '\n')
多个语句组作为套件
组单个代码块的单个语句在Python中称为 suites .复合或复杂语句,例如if,while,def和class需要标题行和套件.
标题行开始语句(带有关键字)并以冒号结束( :)然后是一条或多条构成套件的线.例如 :
if expression : suiteelif expression : suite else : suite
命令行参数
可以运行许多程序来为您提供一些基本信息关于如何运行它们. Python允许你这样做 - h :
$ python -husage: 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. ]
您还可以对脚本进行编程,使其接受各种选项. 命令行参数是一个高级主题.让我们理解它.