Python基础文档1.docx
- 文档编号:6898806
- 上传时间:2023-01-12
- 格式:DOCX
- 页数:58
- 大小:42.36KB
Python基础文档1.docx
《Python基础文档1.docx》由会员分享,可在线阅读,更多相关《Python基础文档1.docx(58页珍藏版)》请在冰豆网上搜索。
Python基础文档1
目录
1Python概述3
1.1、计算机语言概述3
1.2、python简史6
1.3、python相关9
Python语言的特色9
Python应用领域9
Python的优势11
2Python语法基础12
2.1、Python环境配置13
Python环境安装13
2.2、python基础语法15
Python基础语法15
2.3、变量20
变量20
2.4、数据类型23
Python的数据类型23
数据类型转换28
2.5、表达式和运算符31
表达式和运算符31
2.6、分支结构36
流程控制36
2.7、循环结构39
循环结构39
3函数41
3.1、函数初步41
函数41
3.2、细说参数46
3.3、变量作用域47
函数的变量作用域47
3.4、递归调用50
递归函数50
4序列与内置函数51
4.1、字符串相关-string51
format格式字符串58
4.2、列表-list61
列表-list61
4.3、元组-tuple68
元组-tuple68
4.4、集合-set72
集合-set72
冰冻集合/固定集合frozen77
4.5、字典-dict78
字典-dict78
1Python概述
1.1、计算机语言概述
什么是计算机语言?
计算机语言(computerlanguage)指用于人与计算机之间通讯的语言。
计算机语言是人与计算机之间传递信息的媒介。
计算机系统最大特征是指令通过一种语言传达给机器。
为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。
这些就是计算机能接受的语言。
计算机语言总的来说分为机器语言,汇编语言,高级语言三大类。
机器语言:
电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。
所以人们要控制计算机一定要通过计算机语言向计算机发出命令。
计算机所能识别的语言只有机器语言,即由0和1构成的代码。
但通常人们编程时,不采用机器语言,因为它非常难于记忆和识别。
目前通用的编程语言有两种形式:
汇编语言和高级语言。
汇编语言:
汇编语言的实质和机器语言是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆。
它同样需要编程者将每一步具体的操作用命令的形式写出来。
汇编程序通常由三部分组成:
指令、伪指令和宏指令。
汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作,例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能实现的,而且源程序经汇编生成的可执行文件不仅比较小,而且执行速度很快。
高级语言:
高级语言是目前绝大多数编程者的选择。
和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。
同时,由于省略了很多细节,编程者也就不需要有太多的专业知识。
高级语言主要是相对于汇编语言而言,它并不是特指某一种具体的语言,而是包括了很多编程语言,如目前流行的Python、Java、C++等,这些语言的语法、命令格式都各不相同。
高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:
1)解释类:
执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
python就属于解释类语言,常见的解释类语言有Python、Java、JavaScript、Perl、Ruby、等。
2)编译类:
编译是指在应用源程序执行之前,就将程序源代码“翻译”成目标代码(机器语言),因此其目标程序可以脱离其语言环境独立执行,使用比较方便、效率较高。
但应用程序一旦需要修改,必须先修改源代码,再重新编译生成新的目标文件(*.OBJ)才能执行,只有目标文件而没有源代码,修改很不方便。
现在大多数的编程语言都是编译型的,例如C/C++、VisualFoxpro、Delphi等。
1.2、python简史
python诞生:
Python的创始人吉多·范罗苏姆(GuidovanRossum),在1989年12月的圣诞节期间,为了打发时间,决定开发一种新的脚本解释程序,作为ABC语言的继承。
至于为什么叫Python这个名字,是因为Guido所挚爱的电视剧MontyPython’sFlyingCircus。
他希望这个新的叫做Python的语言,能符合他的理想:
创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
python时间史:
1991年,第一个Python编译器诞生。
它是用C语言实现的,并能够调用C语言的库文件。
从一出生,Python已经具有了:
类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
Python1.0-January1994增加了lambda,map,filterandreduce.
1999年Python的web框架之祖——Zope1发布
Python2.0-2000/10/16,加入了内存回收机制,构成了现在Python语言框架的基础
Python2.4–2004/11/30,同年目前最流行的WEB框架Django诞生
Python2.5-2006/09/19
Python2.6-2008/10/1
Python2.7-2010/07/03
Python3.0-2008/12/03
Python3.1-2009/06/27
Python3.2-2011/02/20
Python3.3-2012/09/29
Python3.4-2014/03/16
Python3.5-2015/09/13
Python3.6-2016/12/23
2014年11月,Python2.7将在2020年停止支持的消息被发布,并且不会在发布2.8版本,建议用户尽可能的迁移到3.4+。
Python最初发布时,在设计上有一些缺陷,比如Unicode标准晚于Python出现,所以一直以来对Unicode的支持并不完全,而ASCII编码支持的字符有限。
例:
对中文支持不好Python3相对Python早期的版本是一个较大的升级,Py3在设计的时候没有考虑向下兼容,所以很多早期版本的Python的程序无法再Py3上运行。
为了照顾早期的版本,推出过渡版本2.6——基本使用了Python2.x的语法和库,同时考虑了向Python3.0的迁移,允许使用部分Python3.0的语法与函数。
2010年继续推出了兼容版本2.7,大量Python3的特性被反向迁移到了Python2.7,2.7比2.6进步非常多,同时拥有大量3中的特性和库,并且照顾了原有的Python开发人群。
我们该选Python2还是Python3?
py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。
2020年终止支持。
所有的最新的标准库的更新改进,只会在3.x的版本里出现。
Guido决定清理Python2.x,并且不再兼容旧版本。
最大的一个改变就是使用Unicode作为默认编码。
Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。
从开源项目看,支持py3的比例已经大大提高,知名的项目一般都支持py2.7和py3+。
py3比py2更规范统一、去掉了没必要的关键字Python3.x还在持续改进。
如果没有特殊的项目需求,为了Python的发展我们更应该选择Python3!
相关阅读:
python官网版本发行说明
python简史
1.3、python相关
Python语言的特色
1、Python是弱类型语言
简单来说,弱类型语言可以不用提前声明变量的类型即可直接使用,而强类型语言则必须要提前声明变量的类型,否则这个变量不能使用
2、Python是面向对象的语言
Python语言支持完全的面向对象编程方式,同时也支持过程化和一定程度的函数式编程可以简单的理解为,在Python中,一切皆对象
3、胶水语言
Python能够把其他语言(尤其是C和C++)编写的各种模块很轻松的联合在一起另外Python语言本身和扩展库大部分都由C语言构建
Python应用领域
Python被广泛应用于众多领域,例如:
数据分析:
2016/2月/11,美国科学家宣布发现引力波,分析观测30年的数据。
分析引力波数据的Python包:
GWPY
云计算:
典型应用——Python开发的OpenStack
WEB开发:
众多优秀的WEB框架,Django、flask、tornado科学运算、人工智能:
典型库NumPy,SciPy,Matplotlib,Enthoughtlibrarys,pandas。
系统运维:
运维人员必备,slatstack(系统自动化配置和管理工具),Ansible(自动化运维工具)
图形开发:
wxPython、PyQT、TKinter
并且越来越多的公司选在python作为其主要开发语言,例如:
Google-GoogleGroups、Gmail、GoogleMaps、AlphaGo等,GoogleAppEngine支持python作为开发语言
NASA-美国宇航局,从1994年起把python作为主要开发语言
Dropbox-美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
豆瓣网-图书、唱片、电影等文化产品的资料数据库网站
BitTorrent-bt下载软件客户端
gedit-Linux平台的文本编辑器
GIMP-Linux平台的图像处理软件(Linux下的PS)
知乎(国外的Quora)-社交问答网站,国内最大的问答社区,通过Python开发AutodeskMaya-3D建模软件,支持python作为脚本语言
YouTube:
世界上最大的视频网站YouTube就是用Python开发的
Facebook:
大量的基础库均通过Python实现的
Redhat:
世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
除上面之外,还有搜狐、金山、腾讯、盛大、网易、XX、阿里、淘宝、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
更多案例:
https:
//www.python.org/about/success/
Python的优势
1、简单
Python是一种代表简单主义思想的语言阅读一个良好的Python程序就像是在读英语,使你能够专注于解决问题而不是去搞明白语言本身
2、易学
Python的定位是“优雅”、“明确”、“简单”,所以Python程序看上去总是简单易懂,初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
3、开发效率高
开发效率非常高,Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
4、可移植性
由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
如果你小心地避免使用依赖于系统的特性,那么你的所有Python程序无需修改就几乎可以在市场上所有的系统平台上运行
5、可扩展可嵌入性
如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
你可以把Python嵌入你的C/C++程序,从而向你的程序用户提供脚本功能
扩展阅读:
Python的历史
2Python语法基础
2.1、Python环境配置
Python环境安装
目前Python有两个大版本,分别是2.X和3.X,我们的教程基于最新版本3.6.x你可以通过终端窗口输入"python"命令来查看本地是否已经安装Python以及Python的安装版本。
Windows操作系统进入终端方法:
win键+R输入cmd即可进入Windows的终端(Win键是印有Windows图标那个按键或称徽标键,linux中又称super键)。
Windows操作系统默认是没有安装Python的,我们需要手动安装,安装包我们可以去官网下载,Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到。
如果受限于网络运营商无法访问Python官网,可在我们提供的网盘中下载Python安装包。
python官网:
https:
//www.python.org/
Python安装包网盘下载地址:
Python安装包网盘地址
Windows下Python安装
以下为在Window平台上安装Python的简单步骤:
python的安装
Linux下Python3的安装
Linux/Unix系统默认是自带有Python2的,如果你是新手,又想换一个操作系统推荐你使用LinuxUbuntu操作系统,他对用户比较友好,安装软件包相对其他Linux系列操作系统比较容易并且系统自带有Python3.5直接使用即可。
如果你用的是LinuxReadHat系列可以参考下列教程安装Python3:
CentOS安装Python3
Anaconda安装使用
Python的一大特色之一,便是具有强大的标准库、第三方库以及自定义模块。
目前官网的存储库里约有十二万八千多的软件包,要扩展Python的功能或者说不重复造轮子直接使用封装好的包,避免不了的就是手动安装包了。
其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows的时候。
为了解决这些问题,有不少发行版的Python,比如WinPython、Anaconda等,这些发行版将python和许多常用的package打包,方便用户使用而Anaconda是我比较推荐的一个Python的发行版本,其包含了conda、Python等180多个科学包及其依赖项。
此外,还有virtualenv、pyenv等工具管理虚拟环境。
因为包含了大量的科学包,Anaconda的下载文件比较大(约500MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和Python)。
Anaconda下载地址
首先去官方网站下载Anaconda,网站可以直接检测出当前电脑的操作系统,并直以此提供合适安装包,Anaconda官网提供了3.x和2.7两个版本,我们下载对应Python3.6的版本。
安装过程可参考下列文档:
Windows安装Anaconda3详细过程
2.2、python基础语法
Python基础语法
编码
默认情况下,Python3源码文件以UTF-8编码,所有字符串都是unicode字符串。
当然你也可以为源码文件指定不同的编码:
#-*-coding:
cp-1252-*-
交互式编程
我们可以在命令提示符中输入Python命令来启动Python解释器(windows进入命令行:
徽标键+R输入cmd回车):
C:
\Users\Administrator>python
执行以上命令后,出现如下窗口信息:
Python3.6.1(default,May112017,13:
25:
24)[MSCv.190064bit
Type"help","copyright","credits"or"license"formoreinformation.
>>>
在python提示符中输入以下语句,然后按回车键查看运行效果:
>>>print("Hello,Python!
")
脚本式编程
创建一个以.py为后缀的文件例如test.py将python代码写入文件,例如print('hellopython3')中保存关闭在当前文件目录下空白处按住Shift键的同时鼠标右击在弹出的菜单栏中会有在此处打开命令窗口,点击会打开命令行,输入以下命令即可执行python文件
pythontest.py
Linux操作系统下和Windows下执行python代码一样,Linux图形界面版打开命令行方式是鼠标在桌面或者文件目录下右击就有打开命令窗口
注意:
在Linux操作系统中是严格区分大小写的
创建Python文件
文件名称部分命名规范:
1.可以使用英文,不要使用中文5.变量命名要避免和系统使用的保留关键字冲突2.可以使用数字,但是尽量不要全用数字
3.可以使用_或者-等部分字符分隔文件名
4.文件命名要有意义方便维护
5.变量命名要避免和系统使用的保留关键字冲突
文件名后缀部分
Python不限制文件后缀名,但建议使用更标准的常用格式常用文件后缀:
.py.pyw.pyw格式是被设计来运行开发完成的纯图形界面程序的但在开发纯图形界面程序的时候,你也可以暂时把.pyw改成.py,方便运行时调出控制台的窗口,查看所有错误信息
Python中的保留字
保留字即关键字,我们不能把它们用作任何标识符名称。
Python的标准库提供了一个keyword模块,可以输出当前版本的所有关键字
>>>importkeyword
>>>keyword.kwlist
['False','None','True','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']
行与缩进
python最具特色的就是使用缩进来表示代码块,不像某些语言需要使用大括号{}。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。
实例如下:
ifTrue:
print("你是个lv")
else:
print("你才是")
以下代码由于语句缩进数的空格数不一致,会报IndentationError错误:
ifTrue:
print("你可长点心吧")
print("点心!
什么点心?
")#缩进不一致运行会报错
else:
print("---")
print("***")
注释
什么是注释?
注释就是对代码的解释和说明。
目的是为了让别人和自己很容易看懂。
为了让别人一看就知道这段代码是做什么用的。
正确的程序注释一般包括序言性注释和功能性注释。
序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。
模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。
注释分为行注释和块注释
行注释:
在注释符号后那一行不会被编译(显示)
Python的行注释用#号,#号后面的代码不会被执行,可以在python文件中输入以下代码测试:
#这是单行注释
print('代码后边的内容不会执行')#看不到我...看不到我
块注释:
被块注释符号中间的部分不会被编译
Python的代码块注释用三引号""""""或者''''''
被三引号括起来的代码不会被执行,在python文件中输入以下代码测试:
'''
这是多行注释
多行注释
行注释
注释
释
'''
print('这里要写点啥?
')
"""
这也是多行注释
是
"""
print输出
print()默认输出是换行的,如果要实现不换行需要在变量末尾加上end="",在.py文件中写入以下代码运行下试试:
print('菩提本无树,')
print('明镜亦非台。
')
print('本来无一物,',end='')#不换行输出,后两行变一行
print('何处惹尘埃。
')
input等待用户输入
input()是等待用户输入,按下回车的时候结束:
uname=input('请输入你的名字:
')
print('你好!
',uname)
2.3、变量
变量
什么是变量?
变量就是可以改变的量,如:
x+y=10
x=5y=?
x=7y=?
上面示例中的x和y就是变量,它们是数学里的变量。
通俗的理解:
变量=生活中的容器
变量赋值操作=我们把物品放入容器
数据类型=取决于我们在容器中放的物品
变量命名规范
1.可以使用英文,不推荐使用中文;
2.可以使用数字,不能使用数字开头;
3.不可以使用特殊符合。
除了下划线_;
4.变量名严格区分大小写;
5.变量的命名要有意义;
6.不能和系统中的保留关键字冲突。
系统中保留关键字:
['False','None','True','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']
查看方式:
importkeyword#引入关键字模块
keyword.kwlist#查询python系统当前正在使用的保留关键字
变量的声明方式
变量名=变量值#基本变量赋值
a=1
变量a=变量b=变量c=值1#多变量赋相同值
a=b=c=1
变量a,变量b,变量c=值1,值2,值3#多变量赋多个
a,b,c=1,2,3
python中变量值的互换
#两个变量交换值操作
变量1,变量2=变量2,变量1
a=1
b=2
a,b=b,a
变量的三个常用操作
1.获取变量的值——可直接通过变量名获取
用法:
变量名
2.查看数据类型使用type()函数
用法:
type(变量名)
3.获取变量在内存中的id标识使用id()函数
用法:
id(变量名)
2.4、数据类型
Python的数据类型
Python中可以自定义数据类型,可以具有无限种数据类型。
系统默认提供6个标准数据类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 基础 文档