zoukankan      html  css  js  c++  java
  • __str__魔术方法

    # ### __str__
    '''
    	触发时机: 使用print(对象)或者str(对象)的时候触发
    	功能:     查看对象
    	参数:     一个self接受当前对象
    	返回值:   必须返回字符串类型
    '''
    
    class Cat():
    	gift = "抓老鼠"
    	def __init__(self,name):
    		self.name = name
    		
    	def cat_info(self):
    		strvar = "这个对象的名字{},这个对象的天赋:{}".format(self.name,self.gift)
    		return strvar
    
    	def __str__(self):
    		return self.cat_info()
    
    tom = Cat("汤姆")
    # (1) 打印对象触发__str__方法
    # print(tom)
    # (2) str强转对象时候触发__str__方法
    res = str(tom)
    print(res)
    
    # ### __repr__
    '''
    	触发时机: 使用repr(对象)的时候触发
    	功能:     查看对象,与魔术方法__str__相似
    	参数:     一个self接受当前对象
    	返回值:   必须返回字符串类型
    '''
    class Mouse():
    	gift = "打洞"
    	def __init__(self,name):
    		self.name = name
    		
    	def mouse_info(self):
    		strvar = "该对象的名字{},它的天赋是{},龙胜龙,凤生凤,老鼠的儿子会打洞".format(self.name,self.gift)
    		return strvar
    
    	def __repr__(self):
    		return self.mouse_info()
    		
    	# 在系统的底层加了如下一句话:如果存在__repr__ 这个方法,就把它赋值给__str__
    	# __str__ = __repr__
    
    jerry = Mouse("杰瑞")
    # res = repr(jerry)
    # print(res)
    print(jerry)
    

      

  • 相关阅读:
    [BZOJ5015][Snoi2017]礼物
    [BZOJ5016][Snoi2017]一个简单的询问
    [BZOJ4184]shallot
    上传头像
    前端基础之jQuery
    前端之html的查漏补缺
    CSS3圆角、阴影、rgba
    CSS3新增选择器
    前端基础之BOM和DOM
    前端基础之JavaScript
  • 原文地址:https://www.cnblogs.com/huangjiangyong/p/10920655.html
Copyright © 2011-2022 走看看