解读The Python Tutorial(一)
来源:互联网 发布:仿没内涵网源码模板 编辑:程序博客网 时间:2024/05/18 06:28
我将用自已的语言来翻译The Python Tutorial,即意译,不是直译。所以会省略一些我认为不重要的内容,但尽量不跳过任何知识点。请对应The Python Tutoria目录来看我的文章。
2. Using the Python Interpreter
我是windows平台的,当安装好Python后,桌面上新建文件,重命名后缀为.py。选择以下方式打开:
下图右边是源代码,按F5执行代码,下图左边是执行结果。
左图其实是 Interactive Mode(交互模式),例如我们可以输入100 + 200,回车与电脑实时交互,结果就出来了。
在交互模式下,命令提示符>>>代表等待你的输入,当你输入的内容一行写不下,你拍回车,提示符自动变成… 这是续行的意思,等待你继续输入。Python的缩进必须是4个空格,否则报语法错误。列如下面的print与上一行的if相隔4个空格。
>>> the_world_is_flat = True>>> if the_world_is_flat:... print("Be careful not to fall off!")...Be careful not to fall off!
和JAVA,C等不同的是,Python是解释性语言。C语言需要把源代码编译成二进制最后把二进制导入计算机内存给CPU解读并执行。解释性语言不需要编译成0101001这种二进制码,而是由专门的解释器来直接解读并执行Python源代码。Python之于解释器 犹如HTML之于浏览器。我的理解是,任何平台只要安装了解释器就可以执行Python,所以Python容易移植到多平台。然而解释器解读源代码必然没有CPU处理二进制模块效率高。所以Python的执行效率较差。
另外,由于解释器解读的是源代码,这就涉及到编码的问题。我们新建文本并在上面写东西的时候,其实我们写的内容还都只是在计算机内存中, 在计算机内存中,统一使用Unicode编码。当我们ctrl+s保存的时候,我们写的内容才会保存到硬盘中,这时其实是可以选择保存到硬盘的文件采用什么编码,默认是UTF-8编码。
解释器解读Python源代码的时候,是在计算机内存进行的,也就是说解释器拿到的必须是Unicode版本的源代码,而事实上我们为了节省空间,保存在硬盘的源代码往往是UTF-8版本的。这就需要转码,当然这个转码过程并不是你需要关心的,源代码第一行这样写,就等于告诉解释器,我在硬盘中的编码是utf-8。如此即可。
#-*- coding: utf-8 -*-
但是有时候你会发现,第一行是这样的,第二行才是编码声明。
#!/usr/bin/env python3# -*- coding: cp-1252 -*-
这里的第一行其实是为UNIX系统用的。告诉UNIX,这是一个可执行文件。在windows平台则不需要,windwos默认Python源代码文件就是可执行文件,只要双击就如同.exe文件一样,可执行。
下一篇文章将解读
3. An Informal Introduction to Python
- 解读The Python Tutorial(一)
- 解读The Python Tutorial(二)
- 解读The Python Tutorial(三)
- 解读The Python Tutorial(四)
- 解读The Python Tutorial(五)
- 解读The Python Tutorial(六)
- 解读The Python Tutorial(七)
- 解读The Python Tutorial(八)
- 解读The Python Tutorial(九)——类
- The Python Tutorial(1)- Python教程
- The Python Tutorial - Modules
- Python document-The python tutorial
- python tutorial 学习笔记(一)
- 重读 The Python Tutorial 笔记
- The Python GTK+ 3 Tutorial
- The Python Tutorial - Data Structures
- The Python GTK+ 3 Tutorial
- The Python Tutorial(2)-1 激发你的兴趣
- 使用slots进行内容分发
- 自动行为操控Steering(十)—聚集(群体操控)
- java中多态的一些缺陷以及方法调用绑定
- 给JavaWeb的servlet发张合法身份证(IDEA中web.xml配置servlet)
- 求字符串空格、数字、字母个数--JAVA基础
- 解读The Python Tutorial(一)
- codility EquiLeader
- .net全站过滤url危险参数,防注入
- Solr 6.6.0 中文分词 (二)
- 分类模型的再考以及随机森林的应用
- 国际网络犯罪基础设施被曝光,WireX 僵尸网络袭击全球,游戏行业最大攻击流量有所下降
- 剑指Offer—66—机器人的运动范围
- Linux常用命令和操作
- POST方式参数接收不到问题