个性化阅读
专注于IT技术分析

看过最好的python基本语法知识总结 – Python入门开发教程

点击下载

上一章Python教程请查看:python编程环境安装步骤

Python语言与Perl、C和Java有很多相似之处,然而Python和这些语言之间有一些明显的差异,这一章我们正式开始讨论Python编程的基本语法。

一、第一个Python程序

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

1、交互模式编程

在不传递脚本文件作为参数的情况下调用解释器,会出现以下提示符

$ python
Python 2.4.3 
>>>

在Python提示符下输入以下文本,然后按Enter:

>>> print "Hello, Python!"

如果你正在运行Python的新版本,那么你将需要使用print语句,并在print中使用括号(“Hello, Python!”);,但是在Python版本2.4.3中则不用。

2、脚本编程模式

使用脚本参数调用解释器将开始执行脚本,并一直持续到脚本完成,当脚本完成时解释器不再活动。

让我们在脚本中编写一个简单的Python程序,Python文件的扩展名是.py,在test.py文件中键入以下源代码:

print "Hello, Python!"

我们假设你在PATH变量中设置了Python解释器。现在,试着像下面这样运行这个程序

$ python test.py

让我们尝试另一种执行Python脚本的方法,下面是修改后的test.py文件

#!/usr/bin/python

print "Hello, Python!"

我们假设在/usr/bin目录中有可用的Python解释器,现在试着像下面这样运行这个程序:

$ chmod +x test.py     # 执行权限
$./test.py

二、Python标识符

Python标识符是用来标识变量、函数、类、模块或其他对象的名称,标识符以字母a到Z或a到Z或下划线(_)开头,后跟0或多个字母、下划线和数字(0到9)。

Python不允许在标识符中使用@、$和%等标点符号。Python是一种区分大小写的编程语言,因此在Python中A和a是两个不同的标识符。

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

  • 类名以大写字母开头,所有其他标识符都以小写字母开头。
  • 用一个前导下划线开始标识符表明该标识符是私有的。
  • 用两个前导下划线开始标识符表示强私有标识符。
  • 如果标识符也以两个尾划线结尾,则标识符是语言定义的特殊名称。

三、Python保留字

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

and exec not
assert finally or
break for pass
class from print
continue global raise
def if return
del import try
elif in while
else is with
except lambda yield

四、Python行和缩进

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:
   # 打开文件流
   file = open(file_name, "w")
except IOError:
   print "写入文件有错:", file_name
   sys.exit()
print "输入 '", file_finish,
print "' 结束"
while file_text != file_finish:
   file_text = raw_input("输入文本: ")
   if file_text == file_finish:
      # close the file
      file.close
      break
   file.write(file_text)
   file.write("\n")
file.close()
file_name = raw_input("输入文件名: ")
if len(file_name) == 0:
   print "请输入内容"
   sys.exit()
try:
   file = open(file_name, "r")
except IOError:
   print "读取文件有错"
   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 = "一个句子."
paragraph = """一个段落,段落开始
段落结束."""

七、在Python中的注释

使用不在字符串文字内的散列符号(#)开始注释,所有在#后面的字符和直到物理行末尾的字符都是注释的一部分,Python解释器会忽略它们。

#!/usr/bin/python

# 第一个注释
print "Hello, Python!" # 第二个注释

你可以在语句或表达式之后的同一行中键入注释

name = "My Name" # 这是一个注释

你可以注释如下的多行:

# 这是一条评论。
# 这也是一条评论。
# 这也是一条评论。
# 我已经说过了。

下面的三引号字符串也被Python解释器忽略,可以用作多行注释:

```
这是一条多线
发表评论。
```

八、使用空行

只包含空白(可能包含注释)的行称为空行,Python完全忽略它。

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

九、等待用户

程序的下一行显示提示符,说明“按enter键退出”,并等待用户采取操作

#!/usr/bin/python

raw_input("\n\n按enter键退出.")

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

十、在一行中有多个语句

分号(;)用于如果两个语句都没有启动新的代码块,则允许在单行上有多个语句。这里是一个使用分号的例子

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

十一、多个语句组作为套件

在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的其他概念之后,应该对它进行一些研究。

赞(0)
未经允许不得转载:srcmini » 看过最好的python基本语法知识总结 – Python入门开发教程

评论 抢沙发

评论前必须登录!