Python编程入门的一些基本知识


Posted in Python onMay 13, 2015

 Python与Perl,C和Java语言等有许多相似之处。不过,也有语言之间有一些明确的区别。本章的目的是让你迅速学习Python的语法。
第一个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标识符:

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

Python中标识符内不允许标点符号,如@,$和%。 Python是一种区分大小写的编程语言。因此,Manpower 和manpower在Python中是两个不同的标识符。

这里有Python标识符命名约定:

  •     类名以大写字母以及所有其它标识符以小写字母。
  •     开头单个前导下划线的标识符表示由该标识符约定意思是私有的。
  •     开头两个前导下划线的标识符表示一个强烈的私有的标识符。
  •     如果标识符末尾还具有两个下划线结束时,该标识符是一个语言定义的特殊名称。

保留字:

下面列出了在Python中的保留字。这些保留字不可以被用作常量或变量,或任何其它标识符。所有Python关键字只包含小写字母。

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:
 # 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完全忽略它。

在交互式解释器会话中,必须输入一个空的物理行终止多行语句。
等待用户:

程序的下面一行显示的提示,按回车键退出,等待用户按下回车键:

#!/usr/bin/python

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

在这里,“\n\n已”被用来显示实际行之前创建两个换行。一旦用户按下键时,程序结束。这是一个很好的技巧,保持一个控制台窗口打开,直到用户完成应用程序运行。
在一行中多个语句:

分号( ; ) 允许在单行写入多条语句,不管语句是否启动一个新的代码块。下面是使用分号示例:

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概念后。

Python 相关文章推荐
Python中使用glob和rmtree删除目录子目录及所有文件的例子
Nov 21 Python
Python3中的列表,元组,字典,字符串相关知识小结
Nov 10 Python
python中scikit-learn机器代码实例
Aug 05 Python
pygame游戏之旅 添加碰撞效果的方法
Nov 20 Python
记一次python 内存泄漏问题及解决过程
Nov 29 Python
pycharm配置git(图文教程)
Aug 16 Python
Django之编辑时根据条件跳转回原页面的方法
Aug 21 Python
python解析yaml文件过程详解
Aug 30 Python
pytorch梯度剪裁方式
Feb 04 Python
windows上彻底删除jupyter notebook的实现
Apr 13 Python
Python数据分析入门之教你怎么搭建环境
May 13 Python
告别网页搜索!教你用python实现一款属于自己的翻译词典软件
Jun 03 Python
python实现字符串和日期相互转换的方法
May 13 #Python
python判断给定的字符串是否是有效日期的方法
May 13 #Python
python对url格式解析的方法
May 13 #Python
python返回昨天日期的方法
May 13 #Python
python连接MySQL数据库实例分析
May 12 #Python
python使用分治法实现求解最大值的方法
May 12 #Python
python超简单解决约瑟夫环问题
May 12 #Python
You might like
深入php内核之php in array
2015/11/10 PHP
PHP读取mssql json数据中文乱码的解决办法
2016/04/11 PHP
PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
2017/07/22 PHP
PHP编程中的Session阻塞问题与解决方法分析
2017/08/07 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
通过javascript的匿名函数来分析几段简单有趣的代码
2010/06/29 Javascript
JS date对象的减法处理实现代码
2010/12/28 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
js unicode 编码解析关于数据转换为中文的两种方法
2014/04/21 Javascript
Google 地图叠加层实例讲解
2016/08/06 Javascript
JavaScript模仿Pinterest实现图片预加载功能
2016/10/25 Javascript
Node.js中路径处理模块path详解
2016/11/14 Javascript
详解JS获取HTML DOM元素的8种方法
2017/06/17 Javascript
zTree异步加载展开第一级节点的实现方法
2017/09/05 Javascript
vue实现登陆登出的实现示例
2017/09/15 Javascript
微信小程序中setInterval的使用方法
2017/09/29 Javascript
利用VS Code开发你的第一个AngularJS 2应用程序
2017/12/15 Javascript
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
js动态获取时间的方法分析
2019/08/02 Javascript
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
python实现sublime3的less编译插件示例
2014/04/27 Python
pygame学习笔记(3):运动速率、时间、事件、文字
2015/04/15 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
pytorch 在sequential中使用view来reshape的例子
2019/08/20 Python
python logging日志模块原理及操作解析
2019/10/12 Python
python实现数据清洗(缺失值与异常值处理)
2019/12/02 Python
利用python实现凯撒密码加解密功能
2020/03/31 Python
python代码中怎么换行
2020/06/17 Python
金牌葡萄酒俱乐部:Gold Medal Wine Club
2017/11/02 全球购物
Zavvi西班牙:电子游戏、极客服装、Blu-ray、Funko Pop等
2019/05/03 全球购物
技术学校毕业生求职信分享
2013/12/02 职场文书
酒店财务部岗位职责
2015/04/14 职场文书
基石观后感
2015/06/12 职场文书
学校食堂管理制度
2015/08/04 职场文书