上一章Python教程请查看:python编程环境安装步骤
Python语言与Perl、C和Java有很多相似之处,然而Python和这些语言之间有一些明显的差异,这一章我们正式开始讨论Python编程的基本语法。
一、第一个Python程序让我们以不同的编程模式执行程序。
1、交互模式编程
在不传递脚本文件作为参数的情况下调用解释器,会出现以下提示符
$ python
Python 2.4.3
>>>
【看过最好的python基本语法知识总结 – Python入门开发教程】在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/pythonprint "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标识符的命名约定:
- 类名以大写字母开头,所有其他标识符都以小写字母开头。
- 用一个前导下划线开始标识符表明该标识符是私有的。
- 用两个前导下划线开始标识符表示强私有标识符。
- 如果标识符也以两个尾划线结尾,则标识符是语言定义的特殊名称。
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 |
缩进中的空格数是可变的,但是块中的所有语句必须缩进相同的数量如:
if True:
print "True"
else:
print "False"
但是下面的块会产生一个错误
if True:
print "Answer"
print "True"
else:
print "Answer"
print "False"
因此在Python中,用相同数量的空格缩进的所有连续行将形成一个块,下面的例子有各种语句块。
注意不要试图去理解这个规定的逻辑,只要确保你理解了不同的块,即使它们没有大括号。
#!/usr/bin/pythonimport systry:
# 打开文件流
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/pythonraw_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的其他概念之后,应该对它进行一些研究。
推荐阅读
- python变量类型学习笔记总结 – Python入门开发教程
- python编程环境安装步骤详解 – Python入门开发教程
- python编程入门介绍 – Python入门开发教程
- pycharm相关|Pycharm远程连接时部署灰色解决
- pycharm相关|远程连接断开后程序继续运行——Screen使用记录
- pytorch学习|深度学习pytorch代码: transforms结构及用法 常见的transforms
- nlp|Onehot_encode与Word2vec词向量训练
- Python OpenCV cv2.imread()函数用法指南
- 在Python中使用JSON数据经典指南