021: class, objects and instance: 特殊方法

所有的特殊的方法,都是以如下格式存在:

__method_name__

1. __str__

如果一个类的定义当中有这样一个方法,则str(instance)的时候,会默认调用该实例的__str__方法

如果没有定义__str__方法,则默认返回该对象的地址:

class Employee(object):
    def __init__(self, name):
        super(Employee, self).__init__()
        self.name = name

    def __str__(self):
        return self.name
e = Employee("Miles")
print(e.name)
print(str(e))        

因此系统类型 int 要转换为string,则可以方便地使用如下方法:

num = 101
num_str = str(num)
时间: 2024-10-14 07:07:53

021: class, objects and instance: 特殊方法的相关文章

017: class, objects and instance: class method

类的方法 所谓类的方法,也就是,这个方法会绑定到一个类上面,实例化一个instance的时候,这个方法不会再重新生成 一份,它只有访问类级别的变量 它用@classmethod标签来标注这是一个class method. class Book(object): num = 10 # instance method, will be bound to an object def __init__(self, title, price): self.title = title self.price

018: class, objects and instance: static method

静态方法 使用@staticmethod来标记,该方法与某一个class或者某一个实例无关系,但可以用类名或者实例来调用,实际上这种写法应该一般只是为了组织代码. 实例方法的调用需要一个实例,声明时需要用self参数,调用时隐式传入该实例 类的方法调用需要一个类,其实该类本质上也是一个对象,声明时需要class参数,调用时隐式传入该类 静态方法调用不需要实实例也不需要类,其实该方法本质上与该类毫无关系,唯一的关系就是名字会该类有些关系, 用途应该只是为了组织一些代码,本质上和面向对象无关 cla

016: class, objects and instance: method

在Python的世界里,实际上class也是对象,object也是对象,因此这里加了一个概念,实例 1. 实例方法 所谓的实例方法,也就是,这个方法会绑定到一个instance上面,这个方法一般是需要访问这个instance的数据. 该实例方法,类是依然存在一份的方法定义的,只是实例化一个类的时候,也会重新生成一个方法定义,和类的方法分别存储在不同的地址. class Book(object): # instance method, will be bound to an object def

019: class, objects and instance: property

属性在本质上来讲是一组方法,但是调用的时候却如同字段,换句话说,其实就是对字段的一种封装,在设定和读取的时候,可以很轻易的添加逻辑,而其调用方式其不会改变 在Pyhon中可以用@property来定义: class Book(object): def __init__(self, title, price): self._title = title self._price = price @property def price(self): return "${}".format(se

020: class, objects and instance: 一个简单的例子,压缩文件中内容的替换

这个例子是对前面学习的知道的一个简单总结. 在设计类的时候,并非所有的类都是埋头干活的类,同时也需要有很多类似于管理的类,这样的类的功能就是调用其他的类来共同的完成任务. import sys import os import shutil import zipfile class ZipReplace(object): def __init__(self, file_name, search_string, replace_string): self.file_name = file_name

Django数据查询方法总结

__exact 精确等于 like 'aaa'__iexact 精确等于 忽略大小写 ilike 'aaa'__contains 包含 like '%aaa%'__icontains 包含 忽略大小写 ilike '%aaa%',但是对于sqlite来说,contains的作用效果等同于icontains.__gt 大于__gte 大于等于__lt 小于__lte 小于等于__in 存在于一个list范围内__startswith 以-开头__istartswith 以-开头 忽略大小写__en

pyhton中的魔术方法

魔术方法 ***** 特殊属性 属性 说明 __name__ 类.函数.方法等的名字 __module__ 类定义所在的模块名 __class__ 对象或类所属的类 __bases__ 类的基类的元组,顺序为它们在基类列表中出现的顺序 __doc__ 类.函数的文档字符串,如果没有定义则为 None __mro__ 类的mro,class.mro()返回的结果的保存在 __mro__ 中 __dict__ 类或实例的属性,可写的字典 查看属性 __dir__ 方法 方法 说明 __dir__ 返

$.when()方法翻译

地址:http://api.jquery.com/jQuery.when/ jQuery.when( deferreds ),returns Promise 正文 Description: Provides a way to execute callback functions based on zero or more Thenable objects, usually Deferred objects that represent asynchronous events. 描述:提供一个执行

从LINQ开始之LINQ to Objects(上)

LINQ概述 LINQ,语言集成查询(Language Integrated Query),它允许使用C#或VB代码以查询数据库相同的方式来操作不同的数据源. LINQ体系结构 从上图可以看出,LINQ总共包括五个部分:LINQ to Objects.LINQ to DataSets.LINQ to SQL.LINQ to Entities.LINQ to XML.LINQ to Objects:对内存中集合的操作LINQ to DataSets:对数据集Datatable的操作LINQ to