首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

安装Python、程序执行、Python模块和IDLE调试

近几年来,随着Google、YouTube、IRobot等大公司对Python语言的广泛使用,Python公司的身影经常出现与我们的视线,Python语言也在软件质量、开发效率、程序的可移植性、标准库的支持等方面成为了一个优秀的程序开发语言,可以完成网站、游戏开发到航空航天控制等领域的各种任务。

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

§一、安装Python

1. 下载Active Python安装包

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

2. 运行,安装,成功

§二、程序执行

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

4. Python传统运行模式:

Python解释器:运行Python程序的程序;

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

录入的源码转换为字节码->字节码在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:

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

可以在cmd中运行:

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

7.其他启动方式:

法一、Win+R(运行):python

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

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

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

那么,raw_input()是什么呢?

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

第一种方式结果如下:

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

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

§三、Python模块

8.什么是模块?

什么是模块?

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

9.模块的导入:

模块位置

这里我们做一个最简单的example,更为详细的后面讲。这里把刚才写的script1放在我们安装Python的位置:

然后开始-运行-python:

10. import,from 和 reload

模块只可以导入一次

导入是一个开销很大的操作,以至于每个程序运行只可以导入一次。想再次运行除非调用内置reload函数:

import和reload不同的是,import不需要括号,是一个语句,而reload是一个函数,其返回值是一个python模块对象。

模块扮演了工具库的角色:模块往往是变量名的封装,可被视作命名空间;在一个包中的变量名就是属性,或者说,属性就是绑定在特定对象上的变量名。一个模块通常可以有两个两个Python语句读入:import 和 from,以及reload函数的使用

import语句将模块作为一个整体引用,相当于引入一个类的object。看下面的效果就明白了。myfile作为一个模块被引用,然后script1就可以使用myfile的属性了。

另一种引用方法:

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

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

import&from总结版:

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)

最后

每天晚上20:00都会开直播给大家分享Python知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2018Python学习教程),大家都是学习Python的,或是转行,或是大学生,还有工作中想提升自己能力的Python党,如果你是正在学习Python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180519A15VSS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券