关于class 的笔记和想法

everything in python is object.
每个object都有一个type,换言之,每个object都是与之对应的type的instance,而且每个type都有各自的method,比如 a= [1,2,3]就是type(int)的一个instance(实例), 1,2,3就是这个对象的内部数据,a.append就是这个object的一个method。创建一个class就是创建一个新的type,如下面这段代码

class Coordinate(object):

def __init__(self, x, y):
    self.x = x
    self.y = y

def __str__(self):
    return “<”+self.x+”,”+self.y+”>” 

def distance(self,other):
    return math.sqrt(sq(self.x - other.x) + sq(self.y-other.y))

创建了一个名为Coordinate的class,若输入下列代码
'a = Coordinate(3, 4)'
那a就是这个class的instance,当一个实例被创建出来时就自动调用init函数进行初始化,即a是一个object,这个object有:

  1. type: Coordinate
  2. attibutes
    2.1 an internal date representation(这个例子中是x和y)
    2.2 A set of procedures for interaction with the object(也就是上述所说的方法,即函数init, str和distance,实际上这些方法属于类Coordinate)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,814评论 0 9
  • Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的...
    有一种再见叫青春阅读 612评论 0 3
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,780评论 18 399
  • 我们常常会听说 Objective-C 是一门动态语言,那么这个「动态」表现在哪呢?我想最主要的表现就是 Obje...
    Ethan_Struggle阅读 2,235评论 0 7