zoukankan      html  css  js  c++  java
  • Python __str__() 方法

    1、https://www.runoob.com/note/41154

    https://blog.csdn.net/qq_37616069/article/details/79387010

    2、

    https://www.runoob.com/python3/python3-class.html

    类的专有方法:

    • __init__ : 构造函数,在生成对象时调用
    • __del__ : 析构函数,释放对象时使用
    • __repr__ : 打印,转换
    • __setitem__ : 按照索引赋值
    • __getitem__: 按照索引获取值
    • __len__: 获得长度
    • __cmp__: 比较运算
    • __call__: 函数调用
    • __add__: 加运算
    • __sub__: 减运算
    • __mul__: 乘运算
    • __truediv__: 除运算
    • __mod__: 求余运算
    • __pow__: 乘方

    3、定义 __str__() 方法:

    class Cat:
        """定义一个猫类"""
     
        def __init__(self, new_name, new_age):
            """在创建完对象之后 会自动调用, 它完成对象的初始化的功能"""
            # self.name = "汤姆"
            # self.age = 20
            self.name = new_name
            self.age = new_age  # 它是一个对象中的属性,在对象中存储,即只要这个对象还存在,那么这个变量就可以使用
            # num = 100  # 它是一个局部变量,当这个函数执行完之后,这个变量的空间就没有了,因此其他方法不能使用这个变量
     
        def __str__(self):
            """返回一个对象的描述信息"""
            # print(num)
            return "名字是:%s , 年龄是:%d" % (self.name, self.age)
     
        def eat(self):
            print("%s在吃鱼...." % self.name)
     
        def drink(self):
            print("%s在喝可乐..." % self.name)
     
        def introduce(self):
            # print("名字是:%s, 年龄是:%d" % (汤姆的名字, 汤姆的年龄))
            # print("名字是:%s, 年龄是:%d" % (tom.name, tom.age))
            print("名字是:%s, 年龄是:%d" % (self.name, self.age))
     
    # 创建了一个对象
    tom = Cat("汤姆", 30)
    print(tom)

    总结:

    • 在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法
    • 当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据
    • __str__方法需要返回一个字符串,当做这个对象的描写

     4、

    __str__方法:
    使用:如:
    class Car:
    def __init__(self, newWheelNum, newColor):
    self.wheelNum = newWheelNum
    self.color = newColor
    def __str__(self):
    msg = "嘿。。。我的颜色是" + self.color + "我有" + int(self.wheelNum) + "个轮胎..."
    return msg
    def move(self):
    print('车在跑,目标:夏威夷')
    BMW = Car(4, "白色")
    print(BMW)
    总结:
    在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法
    当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据

    class Cat:
    """定义了一个Cat类"""

    #初始化对象
    def __init__(self, new_name, new_age):
    self.name = new_name
    self.age = new_age

    def __str__(self):
    return "%s的年龄是:%d"%(self.name, self.age)

    #方法
    def eat(self):
    print("猫在吃鱼....")

    def drink(self):
    print("猫正在喝kele.....")

    def introduce(self):
    print("%s的年龄是:%d"%(self.name, self.age))

    #创建一个对象
    tom = Cat("汤姆", 40)

    lanmao = Cat("蓝猫", 10)


    print(tom)
    print(lanmao)
    运行结果:

    汤姆的年龄是:40
    蓝猫的年龄是:10
    ————————————————
    https://blog.csdn.net/qq_37616069/article/details/79387010

  • 相关阅读:
    【ASP.NET】服务器控件大演练与实例分析
    【利用存储过程和三层架构完成新闻发布】
    【软件工程】web规格开发全过程
    【数据库】如何解决数据库附加失败问题
    【框架设计】异常
    【数据库】SqlCommand的几个易忽视的执行操作
    【ASP.NET】asp.net 页面调用服务端对象值
    【c#迭代器】
    【框架设计】CLR寄宿和应用程序域
    【ASP.NET】演绎GridView基本操作事件
  • 原文地址:https://www.cnblogs.com/yaok430/p/14991310.html
Copyright © 2011-2022 走看看