目标

  • 了解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的应用

Google

  • 实现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的更多相关文章

  1. 虚拟机--第一章走进java--(抄书)

    这是本人阅读周志明老师的<深入理解Java虚拟机>第二版抄写的,有很多省略,不适合直接阅读,需要阅读请出门左转淘宝,右转京东,支持周老师(侵权请联系删除) 第一章走近java 世界上并没有 ...

  2. 第一章:Python基础の快速认识基本语法

    本課主題 第一个 Hello World 程序实战 用户输入实战 模块介紹 变量介绍 格式化介紹 条件判断介紹和操作实战 for 循环介紹和操作实战 作业需求 Python 第一个 Hello Wor ...

  3. 《流畅的python》读书笔记,第一章:python数据模型

    这本书上来就讲了魔法方法,也叫双下方法.特殊方法,通过两个例子对让读者了解了双下方法的用法,更重要的是,让我一窥Python的语言风格和给使用者的自由度. 第一个例子:一摞Python风格的纸牌: i ...

  4. 第一章 关于python

    Python简介 Python是什么?   python的创始人为吉多·范罗苏姆(Guido van Rossum).  “Python is a great object-oriented, int ...

  5. 第一章:Python数据分析前的基础铺垫

    本节概要 - 数据类型 - 数据结构 - 数据的常用操作方法 数据类型 基础铺垫 定义 我们搞数据时,首先要告诉Python我们的数据类型是什么 数值型:直接写一个数字即可 逻辑型:True,Fals ...

  6. 第一章:Python的数据结构、函数和文件

    list list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> classmates = ['Michael', ...

  7. 第一章:python基础语法| 字符编码| 条件语句...

    1.编程语言介绍 编程就是写代码,让计算机帮你做事情.计算机底层是电路,只认识二进制0和1.机器语言&汇编语言语言进化历史:机器.汇编.高级.机器语言只接受二进制代码:汇编语言是采用英文缩写的 ...

  8. 第一章:初识Python

    一个Python列表 movies = ["The Holy Grail",1975,"Terry Jones&Terry Gilliam",91,[& ...

  9. 第一章、Python环境搭建

    一.安装Python解释器 Windows下   Python开发环境搭建 1.官网下载: https://www.python.org/downloads/ 2.选择对应的版本 3.双击运行 4.选 ...

随机推荐

  1. ubuntu 及 postgredql 安装配置小坑摘录

    ubuntu 16.04.1 安装 Ubuntu Server 16.04.1安装配置图解教程,按教程修改局域网static IP 开启sftp必须 解决SSH服务拒绝密码,之后才能欢乐地使用file ...

  2. 如何使CSS--better(系列二)

    上一篇文章(如何使CSS--beter 系列一)中  分析了一下 什么样子的代码是高效的 应该避免什么样子的代码, 那么什么样子的代码是更容易扩展的? 什么代码是更好维护的? 什么代码是更好的? 下边 ...

  3. android webview 加载本地html 实现 与 java 之间的相互响应

    1.布局 <?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:androi ...

  4. 如何正确对tomcat host进行配置

    今天在对tomcat的host容器(即虚拟主机的配置)进行配置时,发现即使修改了host name的值(默认为localhost),但是仍无法访问web项目的问题(提示域名解析出错).只能使用默认的值 ...

  5. 安装mingw后,在命令窗体编译c文件

    1.编译test.cpp文件 #include<iostream> int main(int argc,char **argv) {   std::cout<<"he ...

  6. LNMP环境搭建(一:nginx)

    1.从nginx官网获取源码包 # cd /usr/local/src # wget http://nginx.org/download/nginx-1.10.3.tar.gz 2.解压源码包 # t ...

  7. jquery 通过属性选择器获取input不为disabled的对象

    $("input[id^='input_001']:not(:disabled)").each(function(){ console.log(this); });

  8. 【BZOJ3105】[cqoi2013]新Nim游戏 贪心+线性基

    [BZOJ3105][cqoi2013]新Nim游戏 Description 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个 ...

  9. (转)深入理解Java内存模型之系列篇

    原文地址: http://blog.csdn.net/ccit0519/article/details/11241403 深入理解Java内存模型(一)——基础 并发编程模型的分类 在并发编程中,我们 ...

  10. EasyDSS流媒体服务器灵活地帮助用户实现摄像机RTSP转RTMP直播功能

    简要描述 今天突然接到国内某上市公司同事打来的技术咨询电话,经过简单的沟通,大概所描述的需求是: 1.目前现场有非常多的摄像机资源需要接入: 2.需要将摄像机的RTSP流转成RTMP流接入到微信小程序 ...