zoukankan      html  css  js  c++  java
  • python之面向对象02

    在python中方法名如果是__xxxx__()的,那么就有特殊的功能,因此叫做“魔法”方法

    1. __init__()方法

     1 class Cat:
     2     def __init__(self,newname,newage):
     3         self.name = newname
     4         self.age = newage
     5 
     6     def eat(self):
     7         print("%s在吃鱼。"%self.name)
     8     def drink(self):
     9         print("%s在喝奶茶。"%self.name)
    10     def introduce(self):
    11         print("名字是:%s,年龄是:%d"%(self.name,self.age))
    12 tom = Cat("汤姆",5)
    13 tom.eat()
    14 tom.drink()
    15 tom.introduce()

    总结

    • __init__()方法,在创建一个对象时默认被调用,不需要手动调用
    • __init__(self)中,默认有1个参数名字为self,如果在创建对象时传递了2个实参,那么__init__(self)中出了self作为第一个形参外还需要2个形参,例如__init__(self,x,y)
    • __init__(self)中的self参数,不需要开发者传递,python解释器会自动把当前的对象引用传递进去

    2. __str__()方法

     1 class Cat:
     2     def __init__(self,newname,newage):
     3         self.name = newname
     4         self.age = newage
     5     def __str__(self):
     6         # 返回一个对象的描述信息
     7         return "名字是:%s,年龄是:%d"%(self.name,self.age)
     8 
     9 #     def eat(self):
    10 #         print("%s在吃鱼。"%self.name)
    11 #     def drink(self):
    12 #         print("%s在喝奶茶。"%self.name)
    13 #     def introduce(self):
    14 #         print("名字是:%s,年龄是:%d"%(self.name,self.age))
    15 tom = Cat("汤姆",5)
    16 print(tom)
    17 # tom.eat()
    18 # tom.drink()
    19 # tom.introduce()

    总结:

    • 当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据。
    • __str__方法需要返回一个字符串,当做这个对象的描写。

      

  • 相关阅读:
    1025. 除数博弈
    剑指 Offer 12. 矩阵中的路径
    64. 最小路径和
    剑指 Offer 07. 重建二叉树-7月22日
    为人工智能、机器学习和深度学习做好准备的数据中心实践
    在云应用程序中加强隐私保护的9种方法
    迎接物联网时代 区块链大有可为
    Science 好文:强化学习之后,机器人学习瓶颈如何突破?
    学会这5招,让Linux排障更简单
    云游戏:5G时代的王牌应用
  • 原文地址:https://www.cnblogs.com/ma1998/p/12400400.html
Copyright © 2011-2022 走看看