第一章 走进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.选 ...
随机推荐
- Java 异常介绍
Java标准库内建了一些通用的异常,这些类以 Throwable 为顶层父类.Throwable又派生出 Error 类和 Exception 类. 错误:Error类以及他的子类的实例,代表了JVM ...
- C# 中安全代码与不安全代码
C# 中安全代码与不安全代码 P/Invoke 非托管代码需要在unsafe块中书写. using System; using System.Collections.Generic; using Sy ...
- c++中如何查看一个类的内存布局
打开VS command prompt,输入下述命令可以看到对象的内存布局. cl a.cpp -d1 reportSingleClassLayout[classname] // reportSin ...
- 读取Excel中的数据到DataSet
读取Excel中的数据到DataSet 1.引用命名空间 using System.Data.OleDb; 2.输入Excel文件,输出DataSet public DataSet ExecleDs( ...
- 修改mysql数据库存储目录
使用了VPS一段时间之后发现磁盘空间快满了.本人的VPS在购买的时候买了500gb的磁盘,提供商赠送了20GB的高性能系统磁盘.这样系统就有两个磁盘空间了.在初次安装mysql 的时候将数据库目录安装 ...
- Lumen开发:结合Redis实现消息队列(3)
4.运行队列监听器 开启任务监听器 Lumen包含了一个Artisan命令用来运行推送到队列的新任务.你可以使用queue:listen命令运行监听器: php artisan queue:liste ...
- Mark指针的指针(**)和链表使用(*&)
利用二级指针删除单向链表 彻底理解链表中为何使用指针的指针或者指针的引用 详解C++指针的指针和指针的引用
- HYSBZ - 1799 self 同类分布
self 同类分布 HYSBZ - 1799 给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数.Sample Input 10 19 Sample Output 3 Hint [约束条件] ...
- 【BZOJ3993】[SDOI2015]星际战争 二分+最大流
[BZOJ3993][SDOI2015]星际战争 Description 3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地 ...
- 【HTML5开发系列】DOM及其相关
对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.DOM把Javascript和HTML文档的结构和内容连接起来,通过DOM可以控 ...