Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试

近几年来,随着Google、YouTube、IRobot等大公司对Python语言的广泛使用,Python公司的身影经常出现与我们的视线,Python语言也在软件质量、开发效率、程序的可移植性、标准库的支持等方面成为了一个优秀的程序开发语言,可以完成网站、游戏开发到航空航天控制等领域的各种任务。本栏目希望通过学习《Python学习手册》和网站上的相关指导,从零学习Python,希望对大家有一些帮助。

本栏目开发环境:Windows 7 + Python 2.7.2 + VS2008(以后集成)


Python进阶(一)——安装Python、程序执行和Python模块


§一、安装Python

1. 下载Active Python安装包

    根据你机器型号download Python,32b选择for windows X86,64b选择for window 64b

2. 运行,安装,成功

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第1张图片




§二、程序执行

3. 打开IDLE(python GUI),输入简单脚本

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第2张图片


4. Python传统运行模式:

  • Python解释器:运行Python程序的程序;
  • Python字节码:Python将程序编译后所得到的底层形式;Python自动将字节码保存为名为.pyc的文件中;

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第3张图片

录入的源码转换为字节码->字节码在PVM(Python虚拟机)中运行->代码自动被编译,之后再解释

与C++不同,

  • Python无“build”和“make”的步骤,代码写好后立即运行
  • Python字节码不是机器的二进制代码(so 不能像C++运行速度那么快,其速度介于传统编译语言和传统解释语言之间)


5. Python编译器的替代实现:

  • CPython(Python的C代码编写实现,是Python语言的标准实现)
  • JPython(集成Java编程环境,即Python语言的Java实现)
  • IronPython(集成windows上的.NET框架,即Python语言的.NET实现)


6.编写.py文件:

打开编辑器pythonwin:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第4张图片

新建一个文件,我存在桌面上

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第5张图片

可以在cmd中运行:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第6张图片

也可以在pythonwin中直接运行,运行结果见“interactive window”窗口:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第7张图片


7.其他启动方式:

  • 法一、Win+R(运行):python
  • 法二、另一种运行方式,我们来看,双击script1.py,窗口一闪而过。很像VC运行时的Ctrl+F5对不对?那怎么办呢?(非windows系统可以跳过,不用此技巧)

这里我们加入一句话raw_input(),先来看看效果:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第8张图片

保存后再双击script1.py,显示:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第9张图片

那么,raw_input()是什么呢?

一般来说,raw_input读取标准输入的下一行,若未得到就一直等待,也就相当于一个cin,当然,其语法和cin还是有很大出入的,raw_input()有三种方式:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第10张图片

第一种方式结果如下:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第11张图片

后面两种以后的章节中还会讲。

但是呢,用这种方法双击打开不会显示python文件中的错误,而通过系统命令行huozheIDLE都可以看到生成的错误信息。所以尽量不用双击的方式运行python程序。





§三、Python模块

8.什么是模块?

  • 什么是模块?
           每一个.py文件都是一个模块,其他文件可以通过导入一个模块读取这个模块的内容,相当于C中的include……一个大型程序往往呈现出多模块的形式。其中一个模块文件被设计为主文件(or顶层文件)。



9.模块的导入:
  • 模块位置
           这里我们做一个最简单的example,更为详细的后面讲。这里把刚才写的script1放在我们安装Python的位置:
Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第12张图片
然后开始-运行-python:
Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第13张图片



10. import,from 和 reload
  • 模块只可以导入一次
            导入是一个开销很大的操作,以至于每个程序运行只可以导入一次。想再次运行除非调用内置reload函数:
Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第14张图片

import和reload不同的是,import不需要括号,是一个语句,而reload是一个函数,其返回值是一个python模块对象。
  • 模块扮演了工具库的角色:模块往往是变量名的封装,可被视作命名空间;在一个包中的变量名就是属性,或者说,属性就是绑定在特定对象上的变量名。一个模块通常可以有两个两个Python语句读入:import 和 from,以及reload函数的使用
  • import语句将模块作为一个整体引用,相当于引入一个类的object。看下面的效果就明白了。myfile作为一个模块被引用,然后script1就可以使用myfile的属性了。
Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第15张图片
  • 另一种引用方法:

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第16张图片

图中所示,from和import很相似,只不过后者增加了对变量名的额外赋值,也就是拷贝模块的属性,因此能够以title导入,而不是myfile这个对象。



  • 模块的知识我们将在后面的章节具体的讲,这里再给出一个import的例子。有朋友提出疑问,为什么import不是像C++中#include一样后续可以调用这个这个模块的方法和属性,而是直接执行了呢?这里给出一个解释,并不是不可以调用这个模块的方法,而是上面的例子给出的比较简单,没有涉及类的封装,只有几个执行语句。下面在给出的这个例子是一个简单的模块例子。该例中,Worker.py定义了Worker类,外部通过import Worker导入该模块,进行相关操作。
Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第17张图片

  • import&from总结版:
Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第18张图片

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第19张图片
dir(myfile)是获得myfile中的所有attribute,其中,前面带下划线的是Python预定义的内置变量名


11. 模块的其他概念:
  • 模块是Python程序最大的程序结构
  • 每个模块文件是一个独立完备的变量包装,即一个命名空间
  • execfile('myfile.py')是另一种程序执行方式,但是从本质上讲他并没有导入模块


12.使用IDLE进行GUI下文本编辑的:
步骤:
  • File->New Window
  • 编辑脚本
  • Run->Run module(F5)

此外,还有一些注意事项:

  • IDLE中没有清屏选项
  • 如果发生连接错误,试一下通过单个进程的模式启动IDLE。即在命令行cmd中切换到idle所在目录并用idle.py -n启动(C:\Python27\Lib\idlelib>   idle.py -n)



§四、IDLE调试

13.IDLE中调试:

  • 文本中在某一行设置断点:右键该行->Set breakpoint
  • 主窗口中Debug->Debugger
  • 按Debug Control中的Step逐行运行,变量见下方

Python进阶(一)——安装Python、程序执行、Python模块和IDLE调试_第20张图片



=============================================

好了,开了一个头,让大家现对Python有一个初步了解,本章中我们通过13个知识点给大家梳理了Python的安装、程序执行和Python模块的概念、引用以及稍稍介绍了下IDLE中Python代码的调试,希望能够对初学者有一些帮助。



关于Python更多的学习资料将继续更新,敬请关注本博客和新浪微博Sophia_qing




你可能感兴趣的:(windows,python,input,语言,import,文本编辑)