第一章 走进Python
目标
- 了解Python的历史
- 了解Python的特征
- 了解Python的应用
- 掌握Linux下Python开发环境的搭建
- 理解Windows下Python环境搭建
案例
- 安装Python,写出第一个Python程序
第一节 Python简史
什么是Python
- 一种解释型的、面向对象的、带有动态语义的高级程序设计语言
Python编程
- 是一种使你在编程时能够保持自己风格的程序设计语言,你不用费什么劲就可以实现你想要的功能,并且编写的程序清晰易懂。
Python简史
- Python的发展,可以分为几个重要的阶段:
- CNRI时期:CNRI是资助Python发展初期的重要单位,Python1.5版之前的成果大部分都在此时期完成。
- BeOpen时期:Guido van Rossum与BeOpen公司合作,此一期间将Python2.0推出,甚至Python1.6也同时问世,但原则上已经分别维护了。
- DC时期:目前Guido已离开BeOpen公司,将开发团队带到Digital Creations(DC)公司,该公司以发展Zope系统闻名,因此这项合作也颇受注目。
- Python 3.0
里程碑
- Python获年度Tiobe编程语言大奖
- Python在2010年获得了较大的市场份额增长,2010年1月以来Python的市场份额增长了1.81%,是增长速度最快的。
第二节 Python特征
Python编程语言中的定位
- 脚本语言
- 高阶动态编程语言
简单易学
- Python是一种代表简单主义思想的语言。Python的这种伪代码本质是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。Python有极其简单的语法,极易上手。
解释性&编译性
- Python语言写的程序不需要编译成二进制代码。可以直接从源代码运行程序,但是需要解释器。这点类似于Java,或是Matlab。其实我更今偏重于认为是后者。
- Python中亦有编译执行的特性。
面向对象
- Python既支持面向过程的编程也支持面向对象的编程。与其他主要的语言如C++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。让我迷惑的是,Python中类的属性似乎不是那么重要,至少我现在还不是很明白。
高级语言
- 使用Python语言编写程序,无需考虑诸如管理内存一类的底层。
可扩展性及可嵌入性
- 可以把部分程序用C或C++编写,然后Python程序中使用它们。与此相反,可以把Python嵌入C/C++程序,提供脚本功能。
免费、开源
- 自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。现阶段,我们好像不太在意这一点。
可移植性
- 由于它的开源本质,Python已经被移植在许多平台上。如果能避免使用依赖于系统的特性,那么所有Python程序无需修改就可在任何平台上面运行。包括Linux、Windows、FreeBSD、Macintosh、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Window CE甚至还有PocketPC!
丰富的库
- 丰富的库,似乎已成为判断一门编程语言是否强大的重要标准。Python标准库确实很庞大。它可以帮助你处理各种工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI、TK和其他与系统有关的操作。只要安装了Python,所有这些功能都是可用的。这被称作Python的“功能齐全”理念。除了标准库以外,还有许多其他高质量的库(似乎可以称为第三方),如wxPython、Twisted和Python图像库等等。
总结
- 易用与速度的完美结合
- 把精力放在要解决的总理上
- 跨平台又易扩展
- 自动化的内存管理
- 内建许多高阶而实用的资料型态
- 轻易结合网络程序模块
- 万能钥匙? No, 胶水语言
第三节 Python的应用
- 实现Web爬虫和搜索引擎中的很多组件。
Yahoo
- Yahoo使用它(包括其他技术)管理讨论组。
NASA
- NASA在它的几个系统中既用了Python开发,又将其作为脚本语言。
YouTube
- 视频分享服务大部分是由Python编写的。
豆瓣在Python和Ruby之间为何选择前者?
- Ruby名气很大,但在国内真正用的人不多。
- Python的“可用性”要好的多,Java本来就在传统的大型应用中占有重要地位。
- 虽然Python没有Perl的库强大,但是很多库还是在大型商业中应用的比较广泛,比之Ruby还是要稳的多。
- Python的简洁性。
- 还用,据说Ruby是小日本创造的。
- 其他:都根植于Unix体系,Google使用Python。
第四节 搭建Python环境
Linux环境
- 大多Linux发行版均默认安装了Pthon环境。如想下载不同的版本,可到www.python.org下载。软件安装方法参照Linux软件安装。
- 输入Python可启动Python交互模式
- 程序编辑推荐使用VIM
Windows环境
- 可下载安装python的msi所直接安装
- 自带python的GUI开发环境
- 开发工具很多
第一章 走进Python的更多相关文章
- 虚拟机--第一章走进java--(抄书)
这是本人阅读周志明老师的<深入理解Java虚拟机>第二版抄写的,有很多省略,不适合直接阅读,需要阅读请出门左转淘宝,右转京东,支持周老师(侵权请联系删除) 第一章走近java 世界上并没有 ...
- 第一章:Python基础の快速认识基本语法
本課主題 第一个 Hello World 程序实战 用户输入实战 模块介紹 变量介绍 格式化介紹 条件判断介紹和操作实战 for 循环介紹和操作实战 作业需求 Python 第一个 Hello Wor ...
- 《流畅的python》读书笔记,第一章:python数据模型
这本书上来就讲了魔法方法,也叫双下方法.特殊方法,通过两个例子对让读者了解了双下方法的用法,更重要的是,让我一窥Python的语言风格和给使用者的自由度. 第一个例子:一摞Python风格的纸牌: i ...
- 第一章 关于python
Python简介 Python是什么? python的创始人为吉多·范罗苏姆(Guido van Rossum). “Python is a great object-oriented, int ...
- 第一章:Python数据分析前的基础铺垫
本节概要 - 数据类型 - 数据结构 - 数据的常用操作方法 数据类型 基础铺垫 定义 我们搞数据时,首先要告诉Python我们的数据类型是什么 数值型:直接写一个数字即可 逻辑型:True,Fals ...
- 第一章:Python的数据结构、函数和文件
list list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates = ['Michael', ...
- 第一章:python基础语法| 字符编码| 条件语句...
1.编程语言介绍 编程就是写代码,让计算机帮你做事情.计算机底层是电路,只认识二进制0和1.机器语言&汇编语言语言进化历史:机器.汇编.高级.机器语言只接受二进制代码:汇编语言是采用英文缩写的 ...
- 第一章:初识Python
一个Python列表 movies = ["The Holy Grail",1975,"Terry Jones&Terry Gilliam",91,[& ...
- 第一章、Python环境搭建
一.安装Python解释器 Windows下 Python开发环境搭建 1.官网下载: https://www.python.org/downloads/ 2.选择对应的版本 3.双击运行 4.选 ...
随机推荐
- JSP 表单处理向服务器提交信息
JSP 表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法向服务器提交数据. GET 方法 GET方法将请求的编码信息添加在网址后面, ...
- x^a=b(mod c)求解x在[0,c-1]上解的个数模板+原根求法
/************************************* 求解x^a=b(mod c) x在[0,c-1]上解的个数模板 输入:1e9>=a,b>=1,1e9>= ...
- GitHub 小试牛刀(踩坑记录)
首先要在GitHub上创建好远程仓库,把README,LISCENCE,.gitignore三个文件在远程仓库初始化好. 然后在创建本地仓库,先要cd到自己的项目目录下,然后: $ git init ...
- 【BZOJ4009】[HNOI2015]接水果 DFS序+整体二分+扫描线+树状数组
[BZOJ4009][HNOI2015]接水果 Description 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果.由于她已经DT FC 了The big black, ...
- Android jni 编程(参数的传递,成员,方法的)相互访问
package com.test.androidjni; import android.app.Activity; import android.os.Bundle; import android.u ...
- Delphi编译指令说明
Delphi快速高效的编译器主要来自Object PASCAL的严谨,使用Delphi随时都在与编译器交流,大部分情况下不需要干涉编译器的运行,但是有时也需要对编译器进行必要的设置. ******** ...
- 我的Android进阶之旅------>Android关于Log的一个简单封装
android.util.Log类,可以方便地用于在编码调试过程中打印日志.但是在发布后的产品中,如果有太多的日志打印,则会严重地影响性能.对android.util.Log类做一个简单的封装,当产品 ...
- Linux软连接和硬连接
软连接 命令: ln -s 原文件 目标文件 特征: 1.相当于windows的快捷方式 2.只是一个符号连接,所以软连接文件大小都很小 3.当运行软连接的时候,会根据连接指向找到真正的文件,然后执行 ...
- 关于js中undefined的判断
在开发中遇到一个情景,当添加用户的时候不需要传入用户id,如果是修改那么需要传入id,因为用的是angular框架,参数是早就定义好了的,那么在新增用户的时候就会出现undefined的情况,之前我一 ...
- Swap file "/etc/.hosts.swp" already exists! [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it,
非正常关闭vi编辑器时会生成一个.swp文件 非正常关闭vi编辑器时会生成一个.swp文件 关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生 ...