当前位置: 首页 > news >正文

图书管理系统网站开发毕业设计网站

图书管理系统网站开发,毕业设计网站,电子商务公司创意名字,网页游戏制作工具Python 一切皆对象 举个例子,在 python 中我们经常使用的 list l list() # 实例化一个 list 对象 l l.append(1) # 调用 l 的 append 方法 l.append(2) l.remove(1) print(len(l)) # 调用对象的 __len__ 方法在后面实现新的数据类型时,我们将…

Python 一切皆对象

举个例子,在 python 中我们经常使用的 list

l = list()    # 实例化一个 list 对象 l
l.append(1)    # 调用 l 的 append 方法
l.append(2)
l.remove(1)
print(len(l))    # 调用对象的 `__len__` 方法

在后面实现新的数据类型时,我们将使用 python 的 class 实现,它包含属性和方法。
属性一般是使用某种特定的数据类型,而方法一般是对属性的操作。
这里你只需了解这么多就行了, 我们不会使用继承等特性。

什么是抽象数据类型 ADT

实际上 python 内置的 list 就可以看成一种抽象数据类型。

ADT: Abstract Data Type,抽象数据类型,我们在组合已有的数据结构来实现一种新的数据类型, ADT 定义了类型的数据和操作。

我们以抽象一个背包(Bag) 数据类型来说明,背包是一种容器类型,我们可以给它添加东西,也可以移除东西,并且我们想知道背包里
有多少东西。于是我们可以定义一个新的数据类型叫做 Bag.

class Bag:""" 背包类型 """pass

实现一个 Bag ADT

视频中我们将使用 python 的 class 来实现一个新的容器类型叫做 Bag。

实现 ADT 我们应该注意什么?

  • 如何选用恰当的数据结构作为存储?
  • 选取的数据结构能否满足 ADT 的功能需求
  • 实现效率如何?
# coding: utf8class Bag(object):def __init__(self, maxsize=10):self.maxsize = maxsizeself._items = list()def add(self, item):if len(self) >= self.maxsize:raise Exception('Full')self._items.append(item)def remove(self, item):self._items.remove(item)def __len__(self):return len(self._items)def __iter__(self):for item in self._items:yield itemdef test_bag():bag = Bag()bag.add(1)bag.add(2)bag.add(3)assert len(bag) == 3bag.remove(3)assert len(bag) == 2for i in bag:print(i)if __name__ == '__main__':test_bag()

小问题:

  • 你了解 python 的魔术方法吗? 比如 __len__ ,调用 len(l) 的时候发生了什么?
  • 你了解单测吗?我们以后将使用 pytest 运行单元测试,保证我们实现的数据结构和算法是正确的。你可以网上搜索下它的简单用法

延伸阅读:

数据结构与算法–ADT

http://www.nhu.edu.tw/~chun/CS-ch12-Abstract%20Data%20Types.pdf

http://www.yidumall.com/news/9278.html

相关文章:

  • 做期货关注什么网站网络营销和电子商务区别
  • 手机评分网站电话销售外呼系统软件
  • 网站浮动咨询代码外包项目接单平台
  • 免费页面网站制作整站优化服务
  • 网站建设策划书是有谁编写的今日重要新闻
  • 昆明网站建设.com中国最大网站排名
  • 网站开发毕业论文免费网站建设模板
  • 西安建站免费模板国际新闻今天最新消息
  • 如何在后台做网站分页怎样在网上推广自己的产品
  • 建立网站费用表武汉网站优化公司
  • 举报网站建设情况总结重庆百度推广开户
  • 网上做造价网站优化网站做什么的
  • 做网站的图片用什么格式中文域名
  • 做网站后台数据库建设石家庄网站建设
  • 网站怎么做能赚钱建立一个企业网站需要多少钱
  • 上海招聘网 58同城青岛seo整站优化
  • 网站制作完成后如何发布优化大师官网下载
  • 广州网站建设优化网络营销战略
  • 保定网站建设荥阳网站优化公司
  • 中国最厉害的网站建设公司广告软文是什么意思
  • 网站loading动画汕头seo公司
  • 微信公众平台制作网站万网域名管理平台
  • 惠州高端网站建设信息流优化师培训
  • asp做的网站如何更新交换友情链接是什么意思
  • 凡科建站可以做几个网站百度关键词指数查询
  • 大型网站技术架构核心原理与案例分析在百度怎么创建自己的网站
  • 河北提供网站建设公司电话网络推广的主要工作内容
  • 东莞网站开发建设seo培训赚钱
  • 网站建设客户需求表厦门网站外包
  • 怎么用织梦源代码做网站百度2022最新版本