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__方法需要返回一个字符串,当做这个对象的描写。

      

  • 相关阅读:
    js简单错误
    angular ie.浏览器报错 “无效指针”
    angular 取路由参数进行判断
    java学习之路--I/O流
    JavaFTP文件传输上传和下载文件
    java知识库
    Android常用的工具类SharedPreferences封装类SPUtils
    java学习之路--继承(多态的动态绑定)
    java学习之路--继承(子类构造器)
    java核心技术笔记
  • 原文地址:https://www.cnblogs.com/ma1998/p/12400400.html
Copyright © 2011-2022 走看看