logo资料库

Python学习笔记.doc

第1页 / 共76页
第2页 / 共76页
第3页 / 共76页
第4页 / 共76页
第5页 / 共76页
第6页 / 共76页
第7页 / 共76页
第8页 / 共76页
资料共76页,剩余部分请下载后查看
Python基础教程
第一章Python的介绍
1、python介绍
2、Python的历史
3、关键点常识
4、Python优缺点
5、Python应用场景
第二章 python安装下载及基础语法
1、Python的下载
2、Python的安装
3、Python IDE的安装
4、第一个案例程序Python_helloworld
5、交互式窗口
6、Python的注释及乱码
7、变量及类型
8、标识符和关键字
9、输入与输出
10、运算符
第三章 Python的逻辑判断和循环
1、if elif else条件判断
2、input陷阱
3、if嵌套的格式
4、循环结构
第四章 集合类型
1、字符串
2、列表
3、元组
4、字典
5、可变类型与不可变类型
第五章Python的函数
1、函数介绍
2、函数的定义与调用
3、函数参数(一)
4、函数参数(二)
5、函数返回值(一)
6、函数的返回值(二)
7、局部变量和全局变量
8、递归函数
9、匿名函数
第六章Python的文件操作
1、文件的打开与关闭
2、文件的读写
3、文件的定位读写
4、文件的相关操作
第七章 类和对象
1、面向对象编程介绍
2、类和对象
3、定义类与创建对象
4、self
5、保护对象的属性
6、继承
7、多继承
8、多态
9、类属性与实例属性
10、类方法和静态方法
第八章设计模式
1、单例模式
2、工厂模式
第九章 异常
1、异常简介
2、捕获异常
3、异常的传递
4、自定义异常
5、异常处理中抛出异常
第十章Python模块及安装
1、模块的使用及安装
2、模块制作
3、Python中的模块
4、模块的发布
5、模块安装、使用
第十一章 列表推导式
Python 基础教程 第一章 Python 的介绍 1、python 介绍 一种面向对象,面向函数的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于 1989 年发明,第一个公开发行版发行于 1991 年。Python 是纯粹的自由软件, 源代码和解 释器 CPython 遵循 GPL(GNU General Public License)协议[2]. Python 语法简洁清晰,特色之一 是强制用空白符(white space)作为语句缩进。Python 具有丰富和强大的库。它常被昵称为胶 水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。常见的 一种应用情形是,使用 Python 快速生成程序的原型(有时甚至是程序的最终界面),然后对 其中[3] 有特别要求的部分,用更合适的语言改写,比如 3D 游戏中的图形渲染模块,性能 要求特别高,就可以用 C/C++重写,而后封装为 Python 可以调用的扩展类库。需要注意的 是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。 2、Python 的历史 自从 20 世纪 90 年代初 Python 语言诞生至今,它已被逐渐广泛应用于系统管理任务的 处理和 Web 编程。 Python 的创始人为 Guido van Rossum。1989 年圣诞节期间,在阿姆斯特丹,Guido 为了 打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为 ABC 语言的一种继承。之所以 选中 Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫 Monty Python 的 喜剧团体的爱好者。 ABC 是由 Guido 参加设计的一种教学语言。就 Guido 本人看来,ABC 这种语言非常优 美和强大,是专门为非专业程序员设计的。但是 ABC 语言并没有成功,究其原因,Guido 认 为是其非开放造成的。Guido 决心在 Python 中避免这一错误。同时,他还想实现在 ABC 中 闪现过但未曾实现的东西。 就这样,Python 在 Guido 手中诞生了。可以说,Python 是从 ABC 发展起来,主要受到 了 Modula-3(另一种相当优美且强大的语言,为小型团体所设计的)的影响。并且结合了 Unix shell 和 C 的习惯。 Python[4] 已经成为最受欢迎的程序设计语言之一。2011 年 1 月,它被 TIOBE 编程语言 排行榜评为 2010 年度语言。自从 2004 年以后,python 的使用率呈线性增长[5] 。 由于 Python 语言的简洁性、易读性以及可扩展性,在国外用 Python 做科学计算的研究 机构日益增多,一些知名大学已经采用 Python 来教授程序设计课程。例如卡耐基梅隆大学 的编程基础、麻省理工学院的计算机科学及编程导论就使用 Python 语言讲授。众多开源的 科学计算软件包都提供了 Python 的调用接口,例如著名的计算机视觉库 OpenCV、三维可视 化库 VTK、医学图像处理库 ITK。而 Python 专用的科学计算扩展库就更多了,例如如下 3 个 十分经典的科学计算扩展库:NumPy、SciPy 和 matplotlib,它们分别为 Python 提供了快速
数组处理、数值运算以及绘图功能。因此 Python 语言及其众多的扩展库所构成的开发环境 十分适合工程技术、科研人员处理实验数据、制作图表,甚至开发科学计算应用程序。 说起科学计算,首先会被提到的可能是 MATLAB。然而除了 MATLAB 的一些专业性很强 的工具箱还无法替代之外,MATLAB 的大部分常用功能都可以在 Python 世界中找到相应的 扩展库。和 MATLAB 相比,用 Python 做科学计算有如下优点: ● 首先,MATLAB 是一款商用软件,并且价格不菲。而 Python 完全免费,众多开源的 科学计算库都提供了 Python 的调用接口。用户可以在任何计算机上免费安装 Python 及其绝 大多数扩展库。 ● 其次,与 MATLAB 相比,Python 是一门更易学、更严谨的程序设计语言。它能让用 户编写出更易读、易维护的代码。 ● 最后,MATLAB 主要专注于工程和科学计算。然而即使在计算领域,也经常会遇到文 件管理、界面设计、网络通信等各种需求。而 Python 有着丰富的扩展库,可以轻易完成各 种高级任务,开发者可以用 Python 实现完整应用程序所需的各种功能。 3、关键点常识 1、Python 的发音与拼写 2、Python 的意思是蟒蛇,源于作者喜欢的一部电视剧 (C 呢?) 3、Python 的作者是 Guido van Rossum(龟叔) 4、Python 是龟叔在 1989 年圣诞节期间,为了打发无聊的圣诞节而用 C 编写的一个编程语 言 5、Python 正式诞生于 1991 年 6、Python 的解释器如今有多个语言实现,我们常用的是 CPython(官方版本的 C 语言实现), 7、其他还有 Jython(可以运行在 Java 平台)、IronPython(可以运行在.NET 和 Mono 平台)、 PyPy(Python 实现的,支持 JIT 即时编译) 8、Python 目前有两个版本,Python2 和 Python3,最新版分别为 2.7.13 和 3.6.2,现阶段大 部分公司用的是 Python2,Life is shot, you need Python. 人生苦短,我用 Python。 9 、 2018 年 8 月 份 编 程 语 言 用 户 量 排 行 榜 : https://www.tiobe.com/tiobe-index/
4、Python 优缺点  简单————Python 是一种代表简单主义思想的语言。阅读一个良好的 Python 程序就 感觉像是在读英语一样,尽管这个英语的要求非常严格!Python 的这种伪代码本质是 它最大的优点之一。它使你能够专注于解决问题而不是去搞明白语言本身。  易学————就如同你即将看到的一样,Python 极其容易上手。前面已经提到了,Python 有极其简单的语法。  免费、开源————Python 是 FLOSS(自由/开放源码软件)之一。简单地说,你可以自 由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由 软件中。FLOSS 是基于一个团体分享知识的概念。这是为什么 Python 如此优秀的原因 之一——它是由一群希望看到一个更加优秀的 Python 的人创造并经常改进着的。  高层语言————当你用 Python 语言编写程序的时候,你无需考虑诸如如何管理你的程 序使用的内存一类的底层细节。  可移植性————由于它的开源本质,Python 已经被移植在许多平台上(经过改动使它 能够工作在不同平台上)。如果你小心地避免使用依赖于系统的特性,那么你的所有 Python 程序无需修改就可以在下述任何平台上面运行。这些平台包括 Linux、Windows、 FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、 Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE 甚至还有 PocketPC、Symbian 以及 Google 基于 linux 开发的 Android 平台!  解释性————这一点需要一些解释。一个用编译性语言比如 C 或 C++写的程序可以从 源文件(即 C 或 C++语言)转换到一个你的计算机使用的语言(二进制代码,即 0 和 1)。
这个过程通过编译器和不同的标记、选项完成。当你运行你的程序的时候,连接/转载 器软件把你的程序从硬盘复制到内存中并且运行。而 Python 语言写的程序不需要编译 成二进制代码。你可以直接从源代码运行程序。在计算机内部,Python 解释器把源代 码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行。事 实上,由于你不再需要担心如何编译程序,如何确保连接转载正确的库等等,所有这一 切使得使用 Python 更加简单。由于你只需要把你的 Python 程序拷贝到另外一台计算机 上,它就可以工作了,这也使得你的 Python 程序更加易于移植。  面向对象————Python 既支持面向过程的编程也支持面向对象的编程。在“面向过程” 的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的。在“面向对象”的语言 中,程序是由数据和功能组合而成的对象构建起来的。与其他主要的语言如 C++和 Java 相比,Python 以一种非常强大又简单的方式实现面向对象编程。  可扩展性————如果你需要你的一段关键代码运行得更快或者希望某些算法不公开, 你可以把你的部分程序用 C 或 C++编写,然后在你的 Python 程序中使用它们。  丰富的库————Python 标准库确实很庞大。它可以帮助你处理各种工作,包括正则表 达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、 XML-RPC、HTML、WAV 文件、密码系统、GUI(图形用户界面)、Tk 和其他与系统有 关的操作。记住,只要安装了 Python,所有这些功能都是可用的。这被称作 Python 的“功 能齐全”理念。除了标准库以外,还有许多其他高质量的库,如 wxPython、Twisted 和 Python 图像库等等。  规范的代码————Python 采用强制缩进的方式使得代码具有极佳的可读性。 5、Python 应用场景  Web 应用开发 Python 经常被用于 Web 开发。比如,通过 mod_wsgi 模块,Apache 可以运行用 Python 编写的 Web 程序。Python 定义了 WSGI 标准应用接口来协调 Http 服务器与基于 Python 的 Web 程序之间的通信。一些 Web 框架,如 Django,TurboGears,web2py,Zope 等,可以 让程序员轻松地开发和管理复杂的 Web 程序。  操作系统管理、服务器运维的自动化脚本 在很多操作系统里,Python 是标准的系统组件。 大多数 Linux 发行版以及 NetBSD、 OpenBSD 和 Mac OS X 都集成了 Python,可以在终端下直接运行 Python。有一些 Linux 发行版的安装器使用 Python 语言编写,比如 Ubuntu 的 Ubiquity 安装器,Red Hat Linux 和 Fedora 的 Anaconda 安装器。Gentoo Linux 使用 Python 来编写它的 Portage 包管理系 统。Python 标准库包含了多个调用操作系统功能的库。通过 pywin32 这个第三方软件 包,Python 能够访问 Windows 的 COM 服务及其它 Windows API。使用 IronPython,Python 程序能够直接调用.Net Framework。一般说来,Python 编写的系统管理脚本在可读性、 性能、代码重用度、扩展性几方面都优于普通的 shell 脚本。  科学计算机器学习 NumPy,SciPy,Matplotlib 可以让 Python 程序员编写科学计算程序。  服务器软件(网络软件)——阿里云 Python 对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络 爬虫。第三方库 Twisted 支持异步网络编程和多数标准的网络协议(包含客户端和服务 器),并且提供了多种工具,被广泛用于编写高性能的服务器软件。
学习 Python 可以从事以下工作: 一、人工智能 Python 作为人工智能的黄金语言,选择人工智能作为就业方向是理所当然的,而且就业前 景好,薪资普遍较高,拉勾网上,人工智能工程师的招聘起薪普遍在 20K-35K,当然,如果 是初级工程师,起薪也已经超过了 12500 元/月。 二、大数据 我们目前正处于大数据时代,Python 这门语言在大数据上比 Java 更加有效率,大数据虽然 难学,但是 Python 可以更好地和大数据对接,用 Python 做大数据的薪资也至少是 20K 以上 了,大数据持续火爆,未来做大数据工程师,薪资还将逐渐上涨。 三、网络爬虫工程师 网络爬虫作为数据采集的利器,在大数据时代作为数据的源头,十分有用武之地。利用 Python 可以更快的提升对数据抓取的精准程度和速度,是数据分析师的福祉,通过网络爬虫,让 BOSS 再也不用担心你没有数据。做爬虫工程师的的薪资为 20K 起,当然,因为大数据,薪 资也将一路上扬。 四、Python web 全栈工程师 全栈工程师是指掌握多种技能,并能利用多种技能独立完成产品的人。也叫全端工程师(同 时具备前端和后台能力),英文 Full Stack developer。全栈工程师不管在哪个语言中都是人才 中的人才,而 Python web 全栈工程师工资基本上都高出 20K,所以如果你能力足够,首选 就是 Python web 全栈工程师。 五、Python 自动化运维 运维工作者对 Python 的需求很大,小伙伴们快快行动起来吧,学习 Python 自动化运维也能 有个 10k-15k 的工资,很不错哦 六、Python 自动化测试 Python 这门语言十分高效,只要是和自动化有关系的,它可以发挥出巨大的优势,目前做 自动化测试的大部分的工作者都需要学习 Python 帮助提高测试效率。用 Python 测试也可以 说是测试人员必备的工具了,Python 自动化测试的起薪一般也都是 15K 左右,所以测试的 小伙伴也需要学习 Python 哦! 第二章 python 安装下载及基础语法 1、Python 的下载 1、python 网址:https://www.python.org/ 2、anaconda 网址:https://www.anaconda.com/ 注意:Anaconda 指的是一个开源的 Python 发行版本,其包含了 conda、Python 等 180 多个科学包及其依赖项。
2、Python 的安装 1、Python 安装比较简单,只需要双击安装即可,安装比较快(window) 2、anaconda 同样是双击安装,但是安装过程的时间比较长,需要很多依赖项(window) 3、Python IDE 的安装 1、eclipse 插件安装 Help—> eclipse marketplace—> pydev(较慢) 插件包:加压拷贝到 eclipse 的 dropins 中,重启即可 2、pycharm 安装 傻瓜式安装,创建新的项目的时候直接选择 sdk 4、第一个案例程序 Python_helloworld 1、在任意的 IDE 中创建 Python 项目 2、创建 Python file 文件 3、输入代码 print(“hello ,python”) 4、右击直接运行,会在控制台看到对应的结果 5、交互式窗口 1、python:在 cmd 中直接输入 python(配置环境变量) 2、ipython:找到对应的 ipython 的执行文件,直接执行 Ipython:支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用 的功能和函数 注意:Python 中本身不带有这个 ipython 的交互,需要自行安装。首先查看计算机 中是否包含 pip,一般安装完之后有,执行 python –m pip install --upgrade pip,先将 pip 进行更 新,然后安装 ipython:pip install ipython 6、Python 的注释及乱码 1、单行注释:以#开头,#右边的所有东西当做说明,而不是真正要执行的程序,起辅 助说明作用 2、多行注释:’’’多行注释’’’可以写多行的功能说明 3、Python 乱码问题 由于 Python 源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在 保存源代码时,就需要务必指定保存为 UTF-8 编码。当 Python 解释器读取源代码时,为了 让它按 UTF-8 编码读取,我们通常在文件开头写上这两行: # -*- coding:utf-8 -*- # coding=utf-8
7、变量及类型 1、变量的定义 在程序中,有时我们需要对 2 个数据进行求和,那么该怎样做呢? 大家类比一下现实生活中,比如去超市买东西,往往咱们需要一个菜篮子,用来进行存 储物品,等到所有的物品都购买完成后,在收银台进行结账即可 如果在程序中,需要把 2 个数据,或者多个数据进行求和的话,那么就需要把这些数据 先存储起来,然后把它们累加起来即可 在 Python 中,存储一个数据,需要一个叫做变量的东西: 例如: num1=100 Num2=87 Result=num1+num2 变量三要素:变量的名称,变量的类型,变量的值 2、变量的类型 为了更充分的利用内存空间以及更有效率的管理内存,变量是有不同的类型,如图所示 注意: 整数 Python 可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学 上的写法一模一样,例如:1,100,-8080,0,等等。 计算机由于使用二进制,所以,有时候用十六进制表示整数比较方便,十六进制用 0x 前缀和 0-9,a-f 表示,例如:0xff00,0xa5b4c3d2,等等。 浮点数 浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个浮点 数的小数点位置是可变的,比如,1.23x109 和 12.3x108 是完全相等的。浮点数可以用 数学写法,如 1.23,3.14,-9.01,等等。但是对于很大或很小的浮点数,就必须用科学 计数法表示,把 10 用 e 替代,1.23x109 就是 1.23e9,或者 12.3e8,0.000012 可以写成 1.2e-5,等等。
整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的(除法难 道也是精确的?是的!),而浮点数运算则可能会有四舍五入的误差。 字符串 字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意, ''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有 a,b,c 这 3 个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符 是 I,',m,空格,O,K 这 6 个字符。 如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如: 'I\'m \"OK\"!' 表示的字符串内容是: I'm "OK"! 转义字符\可以转义很多字符,比如\n 表示换行,\t 表示制表符,字符\本身也要转 义,所以\\表示的字符就是\,可以在 Python 的交互式命令行用 print()打印字符串看看: 如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python 还允 许用 r''表示''内部的字符串默认不转义,可以自己试试: 如果字符串内部有很多换行,用\n 写在一行里不好阅读,为了简化,Python 允许 用'''...'''的格式表示多行内容, print('''line1 line2 line3''') 布尔值 布尔值和布尔代数的表示完全一致,一个布尔值只有 True、False 两种值,要么是 True,要么是 False,在 Python 中,可以直接用 True、False 表示布尔值(请注意大小写), 也可以通过布尔运算计算出来 布尔值可以用 and、or 和 not 运算。 and 运算是与运算,只有所有都为 True,and 运算结果才是 True: 空值 空值是 Python 里一个特殊的值,用 None 表示。None 不能理解为 0,因为 0 是有 意义的,而 None 是一个特殊的空值。 此外,Python 还提供了列表、字典等多种数据类型,还允许创建自定义数据类型, 我们后面会继续讲到。 怎样知道一个变量的类型呢? 在 python 中,只要定义了一个变量,而且它有数据,那么它的类型就已经确定了, 不需要咱们开发者主动的去说明它的类型,系统会自动辨别 可以使用 type(变量的名字),来查看变量的类型 3、常见的数据类型转换 函数 int(x [,base ]) long(x [,base ]) float(x ) complex(real [,imag ]) 说明 将 x 转换为一个整数 将 x 转换为一个长整数 将 x 转换到一个浮点数 创建一个复数
分享到:
收藏