Python学习计划(一) 软件介绍 一、定义 软件:是指一系列按照特定顺序组织的计算机数据和指令的集合 指令:具体的操作流程 数据:被操作的东西 二、分类 软件一般分为两类:系统
Python学习计划(一)
软件介绍
一、定义
软件:是指一系列按照特定顺序组织的计算机数据和指令的集合
指令:具体的操作流程
数据:被操作的东西
二、分类
软件一般分为两类:系统软件、应用软件
系统软件:直接管理和控制计算机底层硬件,为user提高最基本的计算机功能Windows、Linux、IOS等等
应用软件:处理特殊领域问题的软件,丰富了计算机的功能
QQ、迅雷
三、软件开发
用编程语言去编写上述软件
四、高级编程语言
语言是同种事物之间沟通的桥梁
人与计算机是不同的事物
所以就产生了高级编程语言,它让程序员无序考虑过多的底层细节(比如汇编,需要考虑很多底层细节),并且该语言易于程序员阅读,主要以字母、数字与符号组成。
五、高级编程语言的分类
静态编译型:源代码需要完全被编译之后,在执行,且有着严格的数据类型
C/C++/java/C#
动态解释型:源代码不需要完全被编译,而是编译一行执行一行,这个过程叫做解释,没有严格的数据类型的区分
Python/JavaScript/Matlab/PHP
(编程语言没有好坏之分,只有特定的应用场合)
六、Python介绍
Python语言很精简,但是性能就会大打折扣
关键点常识:
(1)Python的发音与拼写
(2)Python的意思是蟒蛇
(3)Python的作者是Guido Van Rossum—龟叔
(4)Python是龟叔用C编写的一个编译语言
(5)Python诞生于1991年
(6)Python常用的解释器为Cpython
(7)Python目前有两个版本2/3
(8)TIOBE编程语言排行榜前三
七、Python优缺点
- 优点:
(1)简单—Python是一种代表简单注意思想的语言,阅读一个良好的Python程序就像感觉是在阅读英语一样,尽管这个英语的要求比较严格;Python的这种伪代码是它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。
(2)易学—就如同你看到的一样,Python极容易上手,因为Python有极其简单的语法。
(3)免费、开源—Python是FLOSS(自由/开放源码软件)之一,简单的说,你可以自由的发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件之中。FLOSS是基于一个团体分享知识的概念,这是为什么Python如此优秀的原因之一
(4)高层语言—当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
(5)可移植性—由于它的开源本质,Python以及被移植在诸多的平台上(经过改动可以让Python工作在不同的平台上)。如果你小心的避免使用依赖于系统的特性,那么你的所以Python程序无需修改就看而已在下述任何平台上运行。
(6)解释性—这一点需要一些解释。
一个用编译型语言比如C/C++写的成v可以从源文件(即C/C++语言)转换到一个你的计算机使用的语言(二进制代码,如0/1).这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载器软件把你的程序从硬盘复制到内存中并且允许。而Python语言写的程序不需要把编译成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后把它翻译成计算机使用的机器语言并且运行,事实上,由于你不在需要担心如何编译程序,如何确保连接转载正确的库等等,所以这一切都使得Python更加简单。由于你只需要把你的Python程序拷贝到另外一台即使算计上,它就可以工作了,这也使得你的Python从更加易于移植。
(7)面向对象—Python既支持面向过程的编程也支持面向对象的编程。在‘面向对象’的语言中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如C/C++相比,Python以一种非常强大又简单的方式实现面向对象的编程。
(8)可扩展性—如果你需要你的一段关键代码运行的更快或者希望某些算法不公开,你可以把你的部分程序用C/C++编写,然后在你的Python程序中使用他们。
(9)丰富的库—Python标准库确实很庞大,它可以帮助你处理各种工作。
(10)规范的代码—Python采用强制的方式使得代码具有极佳的可读性 - 缺点:
(1)运行速度,有速度要求,用C++改写关键部分
(2)国内的市场较小
(3)中文的资料匮乏
(4)构架的选择太多
八、Python应用场景
python经常被用于web开发,Apache可以运行用python编写的web程序。python定义了WSGI标准应用接口来协调HTTP服务器与基于python的web程序之间的通信。一些web框架,可以让程序员轻松的开发和管理负载的web程序。
在很多操作系统里,python是标准的系统组件。大多数的Linux发行版以及NetBSD、OpenBSD、Mac OS X都集成了python,可以在终端下直接运行python。有一些Linux发行版的安装器使用python语言编写,比如Ubuntu的Ubiquity安装器,RHL和Fedora的Anaconda安装器。Gentoo Linux使用python来编写它的Portage包管理系统。python标准库可以包含了多个调用操作系统功能的库。通过pywin32这个第三方软件包,python能够访问winodws的COM服务以及其他windows API。使用Ironpython、python程序能够直接调用,Net Framework。一般来说,python编写的系统管理脚本在可读性、性能、代码重用度、扩展性几方面都由于普通的shell脚本。
NumPy、SciPy、matplotlib可以让python程序员编写计算机程序。
PyQt、PySide…是python快速开发桌面应用程序的利器
Python对于各种网络协议的支持都很完善,因此经常被用于编写服务器软件、网络爬虫、第三方库Twisted支持异步网络编程和多数标准的网络协议(包括客户端和服务器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写哟咻的逻辑、服务器。相较于Python,Lua的功能更简单、体积小;而Python则支持更多的特性和数据类型。
YouTube、Google、yahoo!、NASA都在内部大量使用Python。