面向对象

面向对象编程最主要的两个概念就是:类(class)和对象(object)
类是一种抽象的类型,而对象是这种类型的实例。
举个现实的例子:
“笔”作为一个抽象的概念,可以被看成是一个类。而一支实实在在的笔,则是“笔”这种类型的对象。
一个类可以有属于它的函数,这种函数被称为类的“方法”。
一个类/对象可以有属于它的变量,这种变量被称作“域”。
域根据所属不同,又分别被称作“类变量”和“实例变量”。
继续笔的例子。一个笔有书写的功能,所以“书写”就是笔这个类的一种方法。
每支笔有自己的颜色,“颜色”就是某支笔的域,也是这支笔的实例变量。
而关于“类变量”,我们假设有一种限量版钢笔,我们为这种笔创建一种类。而这种笔的“产量”就可以看做这种笔的类变量。因为这个域不属于某一支笔,而是这种类型的笔的共有属性。
域和方法被合称为类的属性。
python是一种高度面向对象的语言,它其中的所有东西其实都是对象。所以我们之前也一直在使用着对象。看如下的例子:
s = ‘how are you’
#s被赋值后就是一个字符串类型的对象
l = s.split()
#split是字符串的方法,这个方法返回一个list类型的对象
#l是一个list类型的对象
通过dir()方法可以查看一个类/变量的所有属性:
dir(s)
dir(list)

class MyClass:
pass

mc = MyClass()
print (mc)
关键字class加上类名用来创建一个类。之后缩进的代码块是这个类的内部。在这里,我们用pass语句,表示一个空的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本文档格式为word文档,包含了相应的目录结构。 Python教程 1 关于作者 2 Python简介 2 1 安装Python 5 1.1 Python解释器 8 2 第一个Python程序 9 2.1 使用文本编辑器 10 2.2 输入和输出 14 3 Python基础 17 3.1 数据类型和变量 18 3.2 字符串和编码 25 3.3 使用list和tuple 34 3.4 条件判断 39 3.5 循环 43 3.6 使用dict和set 45 4 函数 50 4.1 调用函数 52 4.2 定义函数 54 4.3 函数的参数 58 4.4 递归函数 70 5 高级特性 73 5.1 切片 73 5.2 迭代 77 5.3 列表生成式 79 5.4 生成器 81 5.5 迭代器 88 6 函数式编程 90 6.1 高阶函数 91 6.1.1 map/reduce 94 6.1.2 filter 97 6.1.3 sorted 100 6.2 返回函数 101 6.3 匿名函数 105 6.4 装饰器 106 6.5 偏函数 110 7 模块 112 7.1 使用模块 114 7.2 安装第三方模块 118 8 面向对象编程 120 8.1 类和实例 122 8.2 访问限制 126 8.3 继承和多态 128 8.4 获取对象信息 134 8.5 实例属性和类属性 141 9 面向对象高级编程 143 9.1 使用__slots__ 143 9.2 使用@property 146 9.3 多重继承 149 9.4 定制类 154 9.5 使用枚举类 164 9.6 使用元类 167 10 错误、调试和测试 175 10.1 错误处理 176 10.2 调试 186 10.3 单元测试 191 10.4 文档测试 196 11 IO编程 200 11.1 文件读写 201 11.2 StringIO和BytesIO 205 11.3 操作文件和目录 207 11.4 序列化 210 12 进程和线程 215 12.1 多进程 217 12.2 多线程 225 12.3 ThreadLocal 232 12.4 进程 vs. 线程 235 12.5 分布式进程 237 13 正则表达式 243 13.1 常用内建模块 249 13.1.1 datetime 249 13.1.2 collections 254 13.1.3 base64 258 13.1.4 struct 260 13.1.5 hashlib 262 13.1.6 itertools 267 13.1.7 XML 270 13.1.8 HTMLParser 272 13.1.9 urllib 274 14 常用第三方模块 278 14.1 PIL 278 15 virtualenv 282 16 图形界面 284 17 网络编程 288 17.1 CP/IP简介 289 17.2 TCP编程 291 17.3 UDP编程 296 18 电子邮件 298 18.1 SMTP发送邮件 300 18.2 POP3收取邮件 308 19 访问数据库 314 19.1 使用SQLite 318 19.2 用MySQL 321 19.3 使用SQLAlchemy 324 20 Web开发 329 20.1 HTTP协议简介 330 20.2 HTML简介 337 20.3 WSGI接口 341 20.4 使用Web框架 347 20.5 使用模板 352 21 异步IO 357 21.1 协程 359 21.2 syncio 362 21.3 async/await 366 21.4 aiohttp 367 22 实战 369 22.1 Day 1 - 搭建开发环境 372 22.2 Day 2 - 编写Web App骨架 374 22.3 Day 3 - 编写ORM 375 22.4 Day 4 - 编写Model 385 22.5 Day 5 - 编写Web框架 390 22.6 Day 6 - 编写配置文件 396 22.7 Day 7 - 编写MVC 398 22.8 Day 8 - 构建前端 399 22.9 Day 9 - 编写API 410 22.10 Day 10 - 用户注册和登录 412 22.11 Day 11 - 编写日志创建页 423 22.12 Day 12 - 编写日志列表页 432 22.13 Day 13 - 提升开发效率 439 22.14 Day 14 - 完成Web App 443 22.15 Day 15 - 部署Web App 445 22.16 Day 16 - 编写移动App 454 23 FAQ 456 24 期末总结 458
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值