面向过程
以指令为中心,有指令处理数据
如何组织代码解决问题
面向对象
以数据为中心,所有的数据代码都围绕数据展开
如何设计数据结构,并且提供对此类
tuple元组:()
list列表:【】
dictionary字典:{}
一、函数:
核心数据类型:
数字:int, long, float, bool
字符:str
列表:list
字典:dict
元组:tuple
文件:file
其他类型:集合(set)
类:将同一种具体事务的共同特征抽象出来的表现
状态和转换这些操作
数据
变量:就是类的属性
方法:
函数:操作变量引用的数据的代码
面向对象编程的三原则:
封装、继承、多态
二、装饰器
@装饰器函数名
def func():
pass
1、将func当做单数传给装饰器函数,并执行
2、将修饰器函数的函数值返回值重新赋给func
三、模块:
内置模块
_doc_
_package_
常用
_name_
_file_
sys:
sys.path:搜索模块的路径
os:
hashlib:md5加密
自定义模块
第三方模块
1、序列化相关模块:
json:适合跨语言,字符串,基本数据类型
pickle:所有类型化,只适用于python
import json:
json.dumps() 将基本数据类型转出成字符串
json.losds() 将字符串转换成基本数据类型!!反序列时,一定要使用双引号“ ”
json.dump () 将转换后的字符串写到文件里面
json.load () 去除字符串转换成列表
import pickle
2、处理模块:
import time
四、字符串格式化
%S
$d
五、生成器和迭代器
六、其他
递归
冒泡排列
七、反射:基于字符串的形式对象(模块)中操作其他成员
getattr, delattr, setattr, hasattr
八、正则表达式:
^ :在起始位置匹配
. : 任意字符
* :代表0到多次
+ :1到多次
?:0到1次
{}:
九、XML:
浏览器返回的字符串
1、HTML
2、JSON
3、XML
页面上做展示(字符串类型一个XML格式文件)
配置文件(内部数据XML格式)
十、面向对象:
python: 面向过程 + 面向对象
面向对象: 类、 对象
1、类和对象
(1)、创建类:
class类名
def 方法名 (self, xx)
pass
(2)、创建对象
对象 = 类名 ()
(3)、通过对像执行方法
对象、方法名 ()
2、函数式:
def fetch(host,username,passwd,sql):
pass
def create():
pass
def remove():
pass
def modify():
pass
3、面向对象:
class SQLhtlper:
def remove():
pass
def modify()
pass
def create()
pass
*|| 什么时候使用面向对象? 当某些函数具有相同参数时,可以使用面向对象的方式,将参数值一次性封装到对象,以后方便取值。
例子:
class SQLhelper:
def fetch(self,sql):
pass
def create(self,sql):
pass
def remove(self,sql):
pass
def modify(self,sql):
pass
obj = SQLhelper()
obj. hhost = '192.168.xxx'
obj. username = 'alex'
obj. modify = '1233'
obj. pwd = 'jdjfj'
4、self是什么?哪个对象执行方法,self就是谁。
5、构造方法:
类中有一个特殊的方法 _ init _ , 类在()自动执行
6、面向对象三大特征:
封装、继承、多态(多种形态,多种类型)
7、面向对象 类成员
字段
静态字段(使用类访问)
普通字段(使用对象访问)
ps:静态字段在代码加载时候,已经创建
方法
所用方法属于类
普通方法,有对象调用执行(方法属于类)至少有一个self
静态方法,有类来调用执行(对象执行)
类方法, :最少有一个cls,类执行(对象执行)
属性
不伦不类的东西
具有方法的写作形式,具有字段访问形式
8、成员修饰符:
私有:
只有类自己本身成员可以访问
共有:
9、面向对象其他
- ininstance :查看一个对象是否类的实例
- issubclass
- 执行父类构造方法
10、设计模式之单列模式(goF设计模式)
单列模式:
用来创建单个实例
11、异常捕获:
try:
except Exception as ex
12、python继承:
python2.7:
经典型:不继承obj,一条路走到黑
新式类:继承obj
python3.0:
全部新式类