目标

  • 了解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. JSP 表单处理向服务器提交信息

    JSP 表单处理 我们在浏览网页的时候,经常需要向服务器提交信息,并让后台程序处理.浏览器中使用 GET 和 POST 方法向服务器提交数据. GET 方法 GET方法将请求的编码信息添加在网址后面, ...

  2. x^a=b(mod c)求解x在[0,c-1]上解的个数模板+原根求法

    /************************************* 求解x^a=b(mod c) x在[0,c-1]上解的个数模板 输入:1e9>=a,b>=1,1e9>= ...

  3. GitHub 小试牛刀(踩坑记录)

    首先要在GitHub上创建好远程仓库,把README,LISCENCE,.gitignore三个文件在远程仓库初始化好. 然后在创建本地仓库,先要cd到自己的项目目录下,然后: $ git init ...

  4. 【BZOJ4009】[HNOI2015]接水果 DFS序+整体二分+扫描线+树状数组

    [BZOJ4009][HNOI2015]接水果 Description 风见幽香非常喜欢玩一个叫做 osu!的游戏,其中她最喜欢玩的模式就是接水果.由于她已经DT FC 了The big black, ...

  5. Android jni 编程(参数的传递,成员,方法的)相互访问

    package com.test.androidjni; import android.app.Activity; import android.os.Bundle; import android.u ...

  6. Delphi编译指令说明

    Delphi快速高效的编译器主要来自Object PASCAL的严谨,使用Delphi随时都在与编译器交流,大部分情况下不需要干涉编译器的运行,但是有时也需要对编译器进行必要的设置. ******** ...

  7. 我的Android进阶之旅------>Android关于Log的一个简单封装

    android.util.Log类,可以方便地用于在编码调试过程中打印日志.但是在发布后的产品中,如果有太多的日志打印,则会严重地影响性能.对android.util.Log类做一个简单的封装,当产品 ...

  8. Linux软连接和硬连接

    软连接 命令: ln -s 原文件 目标文件 特征: 1.相当于windows的快捷方式 2.只是一个符号连接,所以软连接文件大小都很小 3.当运行软连接的时候,会根据连接指向找到真正的文件,然后执行 ...

  9. 关于js中undefined的判断

    在开发中遇到一个情景,当添加用户的时候不需要传入用户id,如果是修改那么需要传入id,因为用的是angular框架,参数是早就定义好了的,那么在新增用户的时候就会出现undefined的情况,之前我一 ...

  10. 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就会生 ...