---恢复内容开始---
Python的定义:一种解释型,面向对象的,带有动态语义的高级程序 设计语言
解释型与编译型
计算机无法理解高级语言,也就不能直接执行高级语言,必须将其 翻译成机 器语言,才能运行高 级语言编写的程序
翻译的方式有两种:编译、解释,两种方式只是翻译的时间不同
编译:在程序运行前翻译,通过专门的编译器编译成机器语言文 件,比如 exe,运行时直接执行编译后的文件,翻译只需一次,因此执 行效率高。
解释:在程序运行时翻译,每个语句都是执行时才翻译,也需要通 过专门的解释器。解释型语言每执行一次都要翻译一次,因此执行效率 比较低。
面向对象
Python语言的一个重要特点就是其对象模型的一致性。 Python解 释器中的任何数值、字符串、数据结构、函数、 类、模块等都待在它 们自己的“盒子”里,这个“盒子” 就是Python对象。
每一个对象都有一个与之相关的类型(比如字符串或函 数)以及内 部数据。在实际工作中,这使得Python语言 变得非常灵活,因为即使 是函数也能被当做其它对象那 样处理。
string 字符串
Python语言的对象模型是一致性的,每一个对象都有一个人与之相 关的类型以及内部数据, 由于函数被其当做对象处理,所以Python在实际工作中就很灵活
动态语义
只有在运行时,才确定变量的类型
Python的发展历史
Python 1.0 1999年 python web框架之祖—Zope 1
Python 2.0 2000.10 加入了内存回收机制
Python 2.4 2004.11 web框架 Django诞生
Python 2.5 2006.9
Python 2.6 2008.10 过渡版本
Python 2.7 2010年
反向兼容python3特性(至2020年不再维护)
Python 3.0 2008.12
Python 3.1 2009.06
Python 3.2 2011.02
Python 3.3 2012.09
Python 3.4 2014.03
Python 3.5 2015.9
Python的应用
Google (C++, Java, Python)
Facebook Dropbox
BitTorrent
Python特性
解释型语言,动态类型,强类型与弱类型,开发效率高, 通用性强,内置方便的数据容器,易于扩展和嵌入,缩进 (indent)
python解释器的几种实现版本
CPython 是python默认的解释器
ActivePython CPython的一个扩展实现,2与3均兼容 Jython 用java实现的一个解释器,使用了JIT技术。 IronPython 是用C#实现
Python编程的基本方式
文件头的编码声明
单行注释 多行注释
左右各三个单引号
Python主体的使用 导入另一个文件
反斜杠 \\ 及小括号()
{} 表示字典
()表示元祖
【】表示序列
计算机里的自省是指检查某些事物以确定它是什么,它知道什么以及它 能做什么
dir 压缩函数
Python两个重要模块:
OS:是与操作系统交互的一个缺口
sys:用于提供对Python解释器的相关操作
常量
如10、100这样的数值或者“Hello World!”这样的字符串, 具 备字面的含义,可以按照字面上的含义使用它们的值,这就 是常量。 常量的值不能改变
变量
是计算机中存储信息的一部分内存,这部分内存中存储的 信息可以 变化,即可以保存任何东西。为了方便调用这部分内存 中存储的信 息,为其设置一个名称,即变量名。使用变量名,就 意味着使用变量 中保存的数据
变量的两个有用的方法
id() 身份id方法来查看唯一标识符,查看内存
type() 类型 type
数据类型
变量可以处理不同类型的值,称为数据类型。
在python中基本的数据类型:整数、小数、字符串、布尔值
在python中创建变量的时候,不需要明确指定变量的数据类型,就 像之前介 绍的,只需要“起个名字,给它个值” ,python会根据赋给 变量的值来区分 变量的数据类型。同时,因为变量的值是可变的,因 此变量的数据类型也是 变化的
索引与切片操作
字符串是字符的有序集合,可以通过其位置来获得具体的元素
字符串中的字符是通过索引来提取的,索引从0开始。
索引获取特定偏移的元素
分片提取相应部分数据
字符串格式化
除了使用字符串连接符,刚才的练习我们可以使用另外 一种方式输 出满足要求的结果,就是使用字符串格式化 的方式 字符串格式化
可以使用如下方式,对格式进行进一步控制: %[(name)][flags][width].[precision]typecode
(name)为命名、 flags可以有+、-、0等,+表示在正数前加上正号,-表示左对 齐,0表 示右对齐是空的位置用0填充
width表示输出宽度、precision表示小数点后精度、typecode表示 类型
width和precision应均为整数,我们可以使用*来动态的代入这两个 量
类型转换
变量的数据类型根据存储数据的不同,可以任意改变,但当对一个 特定类型 的变量进行操作时,如果这个操作与它的数据类型不匹配, 就会产生错误。
字符串和整数无法使用“+”计算,在这种情况下,我们需要将 数 据从一种类型转换成另外一种类型,使用数据类型转换函数 int()、 float()、str()、bool() 类型转换并不会修改变量原来的值,而是创建了一个新的值
1、int函数能够
(1)把符合数学格式的数字型字符串转换成整数
(2)把浮点数转换成整数,但是只是简单的取整,而非四舍五 入
2、float函数将整数和字符串转换成浮点数。
3、str函数将数字转换成字符 使用数据类型转换函数也有一定的限制
1.任意整数、小数、布尔值都可以通过str()函数转换为字符串
2.不是所有的字符串都能转换成整数或小数
3.使用bool()函数进行数据类型转换,除了为0的数字、空字符串、 空值None、 空集合,其他的值都认为是True is判断的是内存的标识符是否相等,==判断的是数值是否相等
---恢复内容结束---