古人云:“工欲善其事,必先利其器”,对于学习python亦是如此。通过前面一节的学习,我们知道了python是什么、能做什么、未来的使用前景、相比其他编程语言有什么优势以及发展历程。接下来,我将继续给大家介绍一些学习python需要的入门知识。通过这一节的学习,大家能够知道如何搭建python编译和运行环境、python的代码结构以及python编码规范。
一、搭建python编译和运行环境(限windows环境)
1、安装
选择最新的Python3.x版本,打开下载页面
根据使用的操作系统,单击相应的安装程序链接
下载完毕之后,双击安装程序开设安装
2、运行
从开始菜单中选择Python 3.x的选项,选择其中的IDLE(Python GUI),启动之后的IDEL编辑器初始屏幕如图所示:
经典程序—在屏幕输出“Hello World!”
print("hello world!")
解释器
python是介于传统编译语言与传统解释语言之间的一门解释型语言。之所以这样说,是因为它具有与传统编译语言Java相类似的字节码编译和虚拟机执行操作。但是它的字节码不是机器的二进制代码,并且代码在写好之后立即运行,这些又让它具备一些解释型语言特点。 python语言的实现方式多种多样,主要有三种:Cpython、Jython与IronPython。标准环境采用的是Cpython的实现方式。发布
有时候我们真正需要的是得到一种能够让python程序生成独立的可执行的二进制代码的方法,这是一个接近于打包分发概念的东西。冻结二进制文件能够将程序的字节码、PVM(python virtual machine,虚拟机)以及任何程序需要的python支持文件捆绑在一起形成一个单独的文件包。与传统的打包工具过程可能有些不同,但实际的结果将会是一个独立的可执行二进制程序(如windows下的exe文件),这个文件将很容易向客户分发,被使用。windows下主要使用py2exe生成冻结二进制文件。
3、一些深受欢迎的Python包
Python深受欢迎的原因之一是有大量高品质的库,可帮助完成各种软件任务。在这些库中,很多都只支持特定的Python版本。具体地说,很多包还不支持Python 3,因此要使用它们,可能需要使用Python 2.x。但如果熟悉Python 3,使用Python 2并不难。PIL(/products/pil/index.htm):Python图像处理库,是一个图像处理库,支持众多图像格式,可用于执行裁剪、大小调整、旋转和滤波效果等操作。
Tkinter:Python GUI,是Python库自带的,是访问流行工具包TK GUI的标准方式。如果要使用Python创建图形用户界面(GUI),应首先考虑使用这个包。有关该包的更详细信息,参阅/3/library/tkinter.html。
Bottle(/docs/dev/):类似于Django,它也是一个用于创建交互式网站的框架。不同的是,Bottle是一个轻量级的小型框架,更适合用于开发小型网站。
Pygame():能够创建和控制二维动画,尤其适合开发游戏。它提供了创建动画和声音的工具,还提供了控制游戏杆等输入设备的工具。Pygame网站还提供了初步教程和示例程序。
SciPy():深受欢迎,还有专门的会议。它提供的数学软件可以完成:求解最优化问题、执行线性代数数字计算、处理信号等。
Twisted(/trac)是一个深受欢迎的Python网络编程库,支持众多网络协议,可用于开发Web服务器、邮件服务器和聊天客户端/服务器等。
PyPI(/pypi):Python包索引,是一个更新频繁的清单,列出了数千个用户提交的Python包。如果要寻找专用Python库或了解Python已用于哪些方面,可在此查询
4、比较Python 2和Python 3Python 3发布于底,是一次重大的升级。
Python 3的有些改进不向后与Python 2兼容,因此Python 2始终与Python 3并行地向前发展。
全面了解Python 3和Python 2之间的差异,可参阅What’s New in Python 3.0(/3/whatsnew/3.0.html)。
工具2to3(/3/library/2to3.html )几乎能将任何Python 2程序自动转换为等价的Python 3程序。
Python 3新增功能Python 3新增了很多功能,一些显著的功能为: 在Python 3中,整数除法的结果完全符合预期:
而在Python 2中执行整数除法时,将删除小数部分:
在Python 3中, print是函数,易于修改;而在Python 2中,print是语句,就像if和for一样。
Python 2有两种类:老式类和新式类,而Python 3完全抛弃了老式类。
Python 3重命名了两个重要函数:函数input和range在Python 2中分别名为raw_input和xrange。
Python 3支持第六章要介绍的格式字符串,而Python 2不支持。Python 2只支持使用运算符%的字符串插入。
该使用哪个Python版本如果必须使用Python 2程序,可能应选择Python 2;否则,就得将既有的Python 2程序转换为Python 3程序,而这可能很难。
有些专用库只支持某个Python版本,如果需要这样的库,在选择Python 版本方面可能受到限制。
如果是刚从事编程工作或刚开始学习Python,不用维护老式Python程序,也无需使用专用库,使用Python 3可能是最佳选择。
二、python的代码结构
python的代码结构如下图所示,主要由模块导入、类定义、函数定义、分支结构、循环结构、异常处理和注释这几个部分组成。
后面的python基础知识将详细介绍这几个部分的特点和使用方式。
三、python编码规范命名规则 Python语言有一套自己的命名规则。命名规则并不是语法规定,只是一种习惯用法。变量名、模块名、包名 通常采用小写,可使用下划线。
例如:
rulemodule.py #模块名,即文件名_rule=’rule information’ #_rule变量名,通常前缀有一个下划线的变量名为全局变量类名、对象名 类首字母采用大写; 类中的方法名首字母小写,其后的每个单词的首字母大写; 对象名(类的实例)采用小写; 类外引用其属性和方法名时,以对象名作为前缀。 类的私有变量、私有方法以两个下划线作为前缀。 例:类及对象命名举例
函数名 函数名通常采用小写,并用下划线或单词首字母大写增加名称的可读性。 导入的函数以模块名作前缀。 下例中,为演示导入函数前缀写法,使用了生成随机数的模块random。该模块有一个函数randrange(),该函数可以根据给定的数字范围生成随机数。其声明为: randrange(start, stop[,step]) 说明: 参数start表示生成随机数所在范围的开始数字。 参数stop表示生成随机数所在范围的结束数字,但不包括数字stop。 参数step表示步长。生成的随机数在[start, stop-1]的范围内,取值等于start+step。 例:比较两个数的大小,数据由随机函数生成。随机数的范围在1—8之间选取。代码缩进与冒号 对于C、C++、Java等语言,代码缩进只是作为编程的一种良好习惯。 对于Python而言,代码缩进是一种语法。Python语言中没有采用花括号或begin…end分隔代码块,而是使用冒号和代码缩进区分代码之间的层次。 例:比较两个程序段并查看运行结果
模块导入的规范 模块是类或函数的集合,用于处理一类问题,使用任何Python模块都必须先导入。模块的导入使用import语句或from…import…语句。import语句 例如:导入数学函数模块math,调用其中的函数。
from…import…语句 说明: 使用第二种导入方式,在调用math模块中的任何函数时,都无需在前面加上“math.”。 使用第二种导入方式时,如果程序中的函数与math模块中的某个函数同名,将被math模块中的同名函数覆盖。第一种导入方式不会覆盖任何既有函数,但使用起来不如第二种方式简洁。 还可以导入模块math的特定函数。例如:from math import sqrt,tan 只导入函数sqrt和tan。使用空行分隔代码 函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。 类和函数入口之间也用一行空行分隔,突出函数入口的开始。
注释 注释是用于说明代码实现的功能、采用的算法、代码的编写者以及代码创建和修改的时间等信息。 注释是代码的一部分,注释起到了对代码补充说明的作用。 Python忽略所有注释,注释仅供程序员或其他可能阅读源代码的人员阅读。 Python使用#进行注释。 Python可以使用中文注释。Python 3默认的编码是Unicode,可以直接使用中文注释;但在Python 2中若使用中文注释,必须在Python文件的最前面加上: # -*- coding: UTF-8 -*-
语句的分隔 分号是C、Java等语言中标识语句结束的标志。Python也支持分号,同样可以用分号作为一行语句的结束标识。但在Python中分号的作用已经不像在C、Java中那么重要了,在C、Java中分号是必须的;而Python的分号可以省略,主要通过换行来识别语句的结束。 如果要在一行中书写多个语句,就必须使用分号了,否则Python无法识别语句之间的间隔。简单直白是Python语法的特点,通常一行只写一条语句,这样便于阅读和理解程序。 Python同样支持多行写一条语句,Python使用“\”作为换行符。多行写一条语句适用于长语句的情况。