类的专有方法(__str__)

# -*- coding: utf-8 -*-
#python 27
#xiaodeng
#http://5ydycm.blog.51cto.com/115934/157548/
#http://my.oschina.net/syc2013/blog/335842

#类的专有方法(__str__)
#类实例字符串化函数

class Friend():
    def __init__(self,name):
        self.name=name

#输出结果:<__main__.Friend instance at 0x1d92a70>
#返回的是存储地址
if __name__=="__main__":
    friend = Friend(‘xiaodeng‘)
    print friend

#怎么打印出一个对象的有感内容?
class Friend():
    def __init__(self,name):
        self.name=name
    def __str__(self):
        return self.name

if __name__=="__main__":
    friend = Friend(‘xiaodeng‘)
    print friend
时间: 2024-12-12 15:17:50

类的专有方法(__str__)的相关文章

[py]类的专有方法

陆陆续续总结一些用到的类的特殊方法 看源码总会看到一些奇奇怪怪的写法: 掺杂着设计模式 https://coding.net/u/RuoYun/p/Python-design-pattern/git/tree/master https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319098638265527beb24f7840aa97de564ccc7f20f6000 类的专

python干货-类属性和方法,类的方法重写

类属性与方法 类的私有属性 __private_attrs: 两个下划线开头,表明为私有,外部不可用,内部使用时self.__private_attrs. 类的方法 在类的内部,使用 def 关键字来定义一个方法,类方法必须包含参数 self,且为第一个参数.self的名称也可自己取,如使用this,但是建议还是用self为好. 类的私有方法 __private_method: 两个下划线开头,为私有方法,只能在类的内部调用 ,不能在类的外部调用.self.__private_methods.

Python私有函数和专有方法

在任何语言中,都会规定某些对象(属性.方法.函数.类等)只能够在某个范围内访问,出了这个范围就不能访问了.这是“公”.“私”之分.此外,还会专门为某些特殊的东西指定一些特殊表示,比如类的名字就不能用class,def等,这就是保留字.除了保留字,python中还为类的名字做了某些特殊准备,就是“专有”的范畴. 私有函数 在某些时候,会看到有一种方法命名比较特别,是以“__”双划线开头的,将这类命名的函数/方法称之为“私有函数”. 所谓私有函数,就是:私有函数不可以从它们的模块外面被调用 私有类方

类的内建函数和用来定制类的特殊方法

两个类的内建函数一:isinstance() 1 class P1(): 2 3 def __init__(self, name): 4 self.name = name 5 pass 6 7 class P2(P1): 8 A = P1('wang') # 定义类属性!! 9 B = P1('zi') 10 11 print(P2.__dict__) 12 for i, v in P2.__dict__.items(): 13 if i =='A': 14 print(v) 15 print(

python 的特殊方法 __str__和__repr__

__str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__(): class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self): return '(Person: %s, %s)' % (self.name, self.gender) 现在,在交互式命令行下用 print 试试: >>>

类的成员,类的特殊方法

类的成员: 在类中的私有字段和私有方法是不能被类意外的方法调用的.只能在类的内使用. 在普通字段和方法前加两个下划线就可以把普通字段定义成私有字段或方法. 在子类中,不能执行父类中的方法,不能获得父类的字段.示例: class bar(): def __init__(self): self.name = 'bar_name' self.__age = 18 def get_age(self): return (self.__age) class b(bar): def __init__(self

python中魔法方法__str__与__repr__的区别

提出问题 当我们自定义一个类时,打印这个类对象或者在交互模式下直接输入这个类对象按回车,默认显示出来的信息好像用处不大.如下所示 In [1]: class People: ...: def __init__(self, name, sex): ...: self.name = name ...: self.sex = sex ...: In [2]: p = People('xiaoming', 'male') In [3]: p Out[3]: <__main__.People at 0x7

Python类的特殊方法

# 特殊方法,也称为魔术方法 # 特殊方法都是使用__开头和结尾的 # 特殊方法一般不需要我们手动调用,需要在一些特殊情况下自动执行 # 定义一个Person类 class Person(object): """人类""" def __init__(self, name , age): self.name = name self.age = age # __str__()这个特殊方法会在尝试将对象转换为字符串的时候调用 # 它的作用可以用来指定对

面向对象 --- 类的绑定方法,面向对象高阶

昨日回顾 类的绑定方法 classmethod(类的绑定方法) 翻译过来是一个类方法,是一个装饰器,可以装饰给类内部的方法,使该方法绑定给类来使用. --- 对象的绑定方法的特殊之处:由对象来调用,会将对象当作第一个参数传给该方法 --- 类的绑定方法的特殊之处:由类来调用,会将类仿作第一个参数传给该方法 通过对象也可以调用,只是默认传递的第一个参数还是这个对象对应的类 staticmethod(非绑定方法) 是一个装饰器,可以装饰类内部的方法,使该方法即不绑定给对象,也不绑定给类.谁都可以调用