python2面向对象

十 面向对象(上)

1定义并使用类

定义类

类的基本使用

2 类对象

3 类方法

3.1定义并使用类方法

3.2构造方法__init__()

3.3方法调用:调用全局方法,调用类自身的方法self.

3.4创建多个实例

3.5使用私有方法__add

3.6析构方法:使用del删除对象时调用析构方法,当一个对象在作用域调用完毕后也调用析构方法。

3.7静态方法和类方法:通过类调用,也可通过实例调用

3.8专有方法:例如__init__

4 类属性

4.1认识属性

4.2类属性和实例属性

4.3设置属性的默认值

4.4修改属性的值

通过实例进行修改

4.5私有属性

5继承

5.1定义子类

父类必须在当前文件之前

必须指定父类名称 class childClass(parentClass)

使用super()将子类与父类关联

5.2在子类中定义方法和属性

5.3子类可以继续派生新类

5.4私有属性和私有方法

5.5多重继承

class childClass(parent1, parent2)

继承顺序:从左到右,调用先继承的同名方法

6方法重写

十一 面向对象(下)

1模块架构

最基本的模块调用:外部模块第一次调用时编译成字节码.pyc文件

使用compile模块对文件进行字节码编译

防止源码的泄漏

import py_compile

py_compile.compile('first.py', 'first.pyc')

使用__name__属性

模块名:作为模块导入

__main__:独立运行

2 使用包

2.1表示包

一个文件夹,必须包含__init__.py

3导入类

3.1只导入一个类from car import Car

3.2导入指定的类from car import Car

3.3导入多个类from car import Car,ChadianCar

3.4导入整个模块import car

3.5 在一个模块中导入另一个模块

4迭代器

4.1什么是迭代器

iter(list)创建迭代器对象

5生成器

使用yield定义的函数被称为生成器

生成一个值用于迭代

 

6装饰器

6.1创建装饰器

6.2 使用装饰器装饰函数

和函数类似,参数为函数/类对象,返回一个新的函数代替被装饰的函数

def zz(fun):

    def wrapper(*args, **bian):

        print('开始运行')

        fun(*args, **bian)

        print('运行结束')

    return wrapper

@zz

def hello(name):

    print('Hello', name)

if __name__ == '__main__':

    hello('浪潮')

6.3 使用装饰器装饰类

7 命名空间

命名空间是一个字典:键是变量名,值是变量的值

 

11.8闭包

8.1什么是闭包?

调用一个函数,返回另一个函数。返回的函数就叫闭包

def func(name):

    def inner_func(age):

        print('name', name, 'age:', age )

    return inner_func

bb = func('程序')

bb(66)

8.2 闭包和嵌套函数

闭包:将组成函数的语句和这些语句的执行环境打包到一起所得到的环境

8.3 使用闭包记录函数的调用次数

8.3 使用闭包实现延迟请求

8.5 闭包和装饰器

 

 

十二文件操作处理

十三异常处理

十四正则表达式

十五多线程开发

十六 Tkinter图形化界面开发

十七 网络编程

1网络开发基础

1.1 OSI七层网络模型

物理硬件层 数据链路层 网络层 数据传输层 会话层 表示层 应用层

1.2 TCP/IP协议

数据链路层 网络层 数据传输层 应用层

TCP:具有重发机制

2套接字编程

3 socket-server编程

4 HTTP协议开发

4.1使用urllib包

urlopen()打开一个URL地址

urlretrieve()可以将URL另存为本地文件

urlencode()可以对URL进行编码

quote()和quote_plus()替换字符串中的特殊字符

4.2使用HTTP包

from http.client import HTTPConnection

mc = HTTPConnection('www.baidu.com')

mc.request('GET', '/')

res = mc.getresponse()

print(res.status, res.reason)

print(res.read().decode('utf-8'))

5 收发电子邮件

6开发FTP文件传输程序

7 解析XML

8解析JSON

8.1类型转换

JSON类型喝Python进行类型转换

json.dumps()编码json数据,

json.loads()解码json数据

json.dump()编码json文件

json.load()解码json文件

import json

data = {

    'no': 1,

    'name': 'shiyujian'

}

str = json.dumps(data)

print(repr(data))

print(str)

 

十八数据库开发

搭建PyMySQL环境

pip3 install PyMySQL

mysql community 数据库服务

import pymysql

#打开数据库连接

db = pymysql.connect('127.0.0.1', 'root', '847650632syj', 'construct_tree')

#创建一个游标对象cursor

cursor = db.cursor()

#使用execute方法执行SQL查询

cursor.execute('SELECT VERSION()')

#使用fetchone()方法获取单条数据

data = cursor.fetchone()

print(data)

#关闭数据库连接

db.close()

使用适配器

用于连接多个数据库系统

使用ORM操作数据库

用于减少写SQL语句,减少参与数据库管理

十九 动态Web开发基础

1 CGI编程

1.2搭建CGI服务器

自带服务器:

python2 -m SimpleHTTPServer 9999

 

 

 

上一篇:Ubuntu 18.04下安装FSL的一些说明


下一篇:Python18_Windows下切换py2和py3