Python - 基本语法

Python语言与Perl,C和Java有许多相似之处.但是,语言之间存在一些明显的差异.

第一个Python程序

让我们以不同的编程模式执行程序.

交互模式编程

调用解释器而不传递脚本文件作为参数会显示以下提示 :

$ 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("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 manpower 是Python中的两个不同标识符.

以下是Python标识符的命名约定 :

  • 类名以大写字母开头.所有其他标识符都以小写字母开头.

  • 使用单个前导下划线启动标识符表示标识符是私有的.

  • 启动带有两个前导下划线的标识符表示一个强私有标识符.

  • 如果标识符也以两个尾随下划线结尾,标识符是语言定义的特殊名称.

保留字

以下列表显示Python关键字.这些是保留字,您不能将它们用作常量或变量或任何其他标识符名称.所有Python关键字都只包含小写字母.

andexecnot
assertfinallyor
breakforpass
classfromprint
continueglobalraise
defifreturn
delimportwhile
elifinwhile
elseiswith
exceptlambdayield

行和缩进

Python没有提供br a表示类和函数定义或流控制的代码块.代码块由行缩进表示,这是严格执行的.

缩进中的空格数是可变的,但块中的所有语句必须缩进相同的数量.例如 :

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中的报价

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完全忽略它.

在交互式解释器会话中,您必须输入一个空的物理行来终止多行语句.

等待用户

程序的以下行显示提示,语句"按回车键退出",等待用户采取行动&减去;

#!/usr/bin/python

raw_input("\n\nPress the enter key to exit.")


这里,"\ n \ n"用于在显示实际行之前创建两个新行.一旦用户按下该键,程序就结束.这是一个很好的技巧,可以在用户完成应用程序之前保持控制台窗口打开.

单行多个语句

分号(;)允许单行上的多个语句,因为两个语句都不会启动新的代码块.这是一个使用分号&minus的示例剪辑;

import sys; x = 'foo'; sys.stdout.write(x + '\n')


多个语句组作为套件

一个组单个代码块的单个语句在Python中称为 suites .复合或复杂语句,例如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概念,应该稍后进行研究.