Basic 语法
Python语言与Perl,C和Java有许多相似之处。 但是,语言之间存在一些明显的差异。
第一个Python程序
让我们以不同的编程模式执行程序。
交互模式编程 (Interactive Mode Programming)
在不将脚本文件作为参数传递的情况下调用解释器会显示以下提示 -
$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34: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中使用带括号的print语句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 Identifiers
Python标识符是用于标识变量,函数,类,模块或其他对象的名称。 标识符以字母A到Z或a到z或下划线(_)开头,后跟零个或多个字母,下划线和数字(0到9)。
Python不允许在标识符中使用标点符号,如@,$和%。 Python是一种区分大小写的编程语言。 因此, Manpower和manpower是Python中的两个不同的标识符。
以下是Python标识符的命名约定 -
类名以大写字母开头。 所有其他标识符以小写字母开头。
使用单个前导下划线启动标识符表示标识符是私有的。
启动带有两个前导下划线的标识符表示强私有标识符。
如果标识符也以两个尾部下划线结尾,则标识符是语言定义的特殊名称。
保留字 (Reserved Words)
以下列表显示了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
Multi-Line Statements
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完全忽略它。
在交互式解释器会话中,必须输入空物理行以终止多行语句。
等待用户
程序的以下行显示提示,声明“按回车键退出”,并等待用户采取行动 -
#!/usr/bin/python
raw_input("\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 :
suite
elif expression :
suite
else :
suite
Command Line Arguments
可以运行许多程序来为您提供有关如何运行它们的一些基本信息。 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概念,应该稍后研究。