资讯专栏INFORMATION COLUMN

Python数据模型

Flink_China / 1234人阅读

摘要:本文重点了解数据模型和接口的概念掌握特殊方法的定义,作用和基本用法。一基本概念数据模型是数据特征的抽象,这里是对框架的描述。数据模型规范了自身构建模块的接口,模块包括但不限于序列迭代器函数类和上下文管理器。

导语:本文章记录了本人在学习Python基础之绪论篇的重点知识及个人心得,以加深自己的理解。

本文重点:

1、了解Python数据模型和接口的概念;
2、掌握特殊方法的定义,作用和基本用法。
一、基本概念

1、数据模型(Data Model)是数据特征的抽象,这里是对Python框架的描述。
数据模型规范了Python自身构建模块的接口,模块包括但不限于序列、迭代器、函数、类和上下文管理器。
2、接口:接口泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),用以由内部操作分离出外部沟通方法,使其能被修改内部而不影响外界其他实体与其交互的方式。
接口的作用:可以为不同类顺利交互提供标准。
3、中缀运算符的基本原则:不改变操作对象。

二、特殊方法

特殊方法,昵称是魔术方法,又称双下方法。

1、特殊方法的定义:

(1).定义在某些class当中;
(2).不需要直接调用,被Python解释器调用;
(3).Python的某些函数或者是操作符会调用相应的特殊方法。

2、作用:特殊方法能让对象实现和支持以下的语言构架,并与之交互:

迭代

集合类

属性访问

运算符重载

函数和方法的调用

对象的创建和销毁

字符串表示形式和格式化

管理上下文(with块)

3、意义:通过内置函数调用特殊方法通常有额外好处(目前不明);对于内置的类而言,使用特殊方法速度更快。 4、字符串特殊方法

包括__repr__和__str__。
前者方便我们调试和记录日志,注重准确性,后者则是给终端用户看的,注重可读性。

eg:利用特殊方法知识自定义向量加法

# -*- coding: utf-8 -*-
class Vector:
    def __init__(self,x,y):#定义类的参数
        self.x=x
        self.y=y
    def __repr__(self):
        return "Vector(%r,%r)"%(self.x,self.y)#以字符串形式输出类便于辨认,重要!!!
    def __add__(self,other):#自定义向量的加法并返回值
        x=self.x+other.x
        y=self.y+other.y
        return Vector(x,y)
v1=Vector(2,3)
v2=Vector(1,4)
print(v1+v2)#输出Vector(3,7)

To Learn More:https://www.cnblogs.com/chang...

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41472.html

相关文章

  • 入门系列之Scikit-learn在Python中构建机器学习分类器

    摘要:使用该数据集,我们将构建机器学习模型以使用肿瘤信息来预测肿瘤是恶性的还是良性的。我们将使用函数来确定机器学习分类器的准确性。您已成功构建了第一台机器学习分类器。现在,您可以使用在中加载数据组织数据训练预测和评估机器学习分类器。 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 介绍 机器学习是计算机科学、人工智能和统计学的研究领域。机器学...

    Null 评论0 收藏0
  • Python学习之路17-Django入门

    摘要:编程从入门到实践笔记。执行命令后,项目的根目录下会多出一个名为的数据库文件。下面创建一个主题类用户学习的主题返回模型的字符串表示类是中的一个定义了模型基本功能的类。这种交互式环境称为,常用语测试项目和排除故障。 《Python编程:从入门到实践》笔记。从本篇开始将是该书的最后一个项目,将用3篇文章来介绍Django的基础。完成一个学习笔记的小网站。 1. 前言 在本篇中,我们将: 用...

    shadowbook 评论0 收藏0
  • python Copula如何绘制散点模型

      这篇文章的主要目的,是给大家讲解一下,关于python Copula如何进行绘制散点模型的相关实例,具体的代码下面给大家列出来了,有问题的小伙伴,可以仔细的进行阅读下文哦。  一、使用copula生成合成数据集(synthetic dataset)  1.三维数据描述  建立一个三维数据表,查看三维数据的散点图:  fromcopulas.datasetsimportsample_trivar...

    89542767 评论0 收藏0
  • 使用DeepLab进行语义分割

    摘要:介绍是谷歌使用基于开发的语义分割模型,至今已更新个版本。最新版本是,在此模型中进一步将深度可分离卷积应用到孔空间金字塔池化和解码器模块,从而形成更快,更强大的语义分割编码器解码器网络。 介绍 showImg(https://segmentfault.com/img/bVbnw9d?w=1860&h=398); DeepLab是谷歌使用tensorflow基于CNN开发的语义分割模型,至...

    lavnFan 评论0 收藏0

发表评论

0条评论

Flink_China

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<