发布于 2015-06-21 10:25:18 | 994 次阅读 | 评论: 0 | 来源: 网络整理
Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。
调用解释器不经过脚本文件作为参数,显示以下提示:
$ python
Python 2.6.4 (#1, Nov 11 2014, 13:34:43)
[GCC 4.1.2 20120704 (Red Hat 5.6.2-48)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
键入下列文字在Python提示符,然后按Enter键:
>>> print "Hello, Python!";
如果您运行的是新的Python版本,那么需要使用打印语句括号像print ("Hello, Python!");。但是在Python版本2.6.4,这将产生以下结果:
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!";
在这里,假设Python解释器在/usr/bin目录中可用。现在,尝试如下运行这个程序:
$ chmod +x test.py # This is to make file executable
$./test.py
这将产生以下结果:
Hello, Python!
Python标识符是用来标识一个变量,函数,类,模块或其他对象的名称。一个标识符开始以字母A到Z或a〜z或后跟零个或多个字母下划线(_),下划线和数字(0〜9)。
Python中标识符内不允许标点符号,如@,$和%。 Python是一种区分大小写的编程语言。因此,Manpower 和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中所有的连续线缩进的空格数同样的会结成块。以下是各种语句块中的例子:
注意:不要试图理解所使用的逻辑或不同的功能。只要确定你明白,即使他们各种模块无需括号。
#!/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接受单引号('),双引号(“)和三(''或”“”)引用,以表示字符串常量,只要是同一类型的引号开始和结束的字符串。
三重引号可以用于跨越多个行的字符串。例如,所有下列是合法的:
word = 'word'
sentence = "This is a sentence."
paragraph = """This is a paragraph. It is
made up of multiple lines and sentences."""
一个井号(#),这不是一个字符串文字开头的注释。“#”号之后字符和到物理行是注释的一部分,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("nnPress the enter key to exit.")
在这里,“nn已”被用来显示实际行之前创建两个换行。一旦用户按下键时,程序结束。这是一个很好的技巧,保持一个控制台窗口打开,直到用户完成应用程序运行。
分号( ; ) 允许在单行写入多条语句,不管语句是否启动一个新的代码块。下面是使用分号示例:
import sys; x = 'foo'; sys.stdout.write(x + 'n')
一组单独的语句,在Python单一的代码块被称为序列。复杂的语句,如if, while, def, and 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概念后。