**
Python语言概览
**
一、python的优势:
- 软件质量
- 开发效率
- 可移植性
- 库支持丰富
- 组件集成
二、 python的不足:运行效率较低,但可以通过改善硬件条件提高运行效率。
很多软件是用py实现的如:google、youtube、搜狗邮箱、知乎…因此py的功能可以说很丰富,在时间的开发过程中,py可以做系统编程(文件压缩、解压等等)、GUI(交互界面)、网络脚本(支持的框架较多,如Django、Flask…)、数据库操作(相较其他语言,所需的代码量较少)、软件的快速原型实现、数学及科学计算(机器学习方向)等。
python语言的特点:支持面向过程、面向函数、面向对象。
三、python语言的运行:
运行python之前需要搭建环境,Anaconda是python的包管理器和环境管理器,它提供了一个编译好的环境可以直接安装;附带了一大批常用数据科学包,是py的科学计算发行版,内置了几百个py会用到的库,也包括机器学习和数据挖掘的库。
- 通过交互式提示符来运行。此功能时python自带的IDLE,可以通过在py的安装目录下启动。
- 通过windows的命令提示符运行。在windows的命令提示符界面,输入python,可以直接进入python的运行环境。
- 通过第三方的集成环境运行。如常用的notepad++、SublimeText3、EditPlus、Pycharm等。
- 通过脚本方式运行。利用文本编辑器,将python代码保存成*.py文件,通过cmd指令直接调用目标目录下的py文件,运行相应的代码。
四、python变量、类型及存储
python语言属于解释性语言,相较传统的C、C++等编译性语言,不能直接运行在OS之上。底层运行的机制主要是编译器将python代码转换成机器码,机器码在PVM虚拟机上模拟机器的二进制运算,将代码实现。JVM的好处就是不需要用户自己来管理内存,程序运行中的内存管理由PVM完成,缺点时程序较大时,比较占用内存。
概念层级
- 表达式:创建处理对象
- 语句
- 模块
- 程序
以上是构成python程序的逐级底层关系。
变量:(type来判断类型)由对象来决定名称装什么类型数据(字符串、整形、浮点型…)
- 创建:第一次赋值生成;
- 规则:字符数字下划线,开头字符或下划线不能有空格,避免py关键字或函数名简短且有描述性,建议以下划线分割区分1,l,0,o
- 类型:变量无类型约束、类型取决于关联对象使用:变量只是引用(可以使用==来判断两个变量的值是否相等、使用is来判断两个变量的内存地址是否相同、id()获得一个变量的地址。)
- 使用:自动是释放未被使用的对象、内部原理依据对象引用计数器统计的数值;可以通过下面代码获得某一变量的计数。
import sys
sys.getrefcount() //参数为某一变量
共享引用
多个变量引用一个对象。256作为一个临界值,py任务用户会常用到比较小的值,对于256及以下,每个数字在内存里提前存储一份,当赋值为256以下的数字时,py会调用内存中已定义好的变量,因此内存地址一样。
核心数据类型
- 数字:int、float、decimal、fraction…
- 字符串 string
- 列表 list
- 元组 tuple
- 字典 dict
- 文件
- 集合 set
- 空 None
- 程序单元:函数function、类class、模块
- 其他