zoukankan      html  css  js  c++  java
  • Python类和方法_init和str方法

    一,init方法

    init 方法就是对initialization的缩写,初始化的意思,这个方法相当于C++中的构造函数,是一种特殊的方法,在对象被实例化的时候被调用。

    这个方法的全名是_ _init_ _,在 Time 类当中,init 方法示例如下:

    >>> class Time:

    ...     def print_time(self):

    ...         print('%.2d:%.2d:%.2d' % (self.hour, self.minute, self.second))

    ...     def __init__(self, hour=0, minute=0, second=0):

    ...         self.hour = hour

    ...         self.minute = minute

    ...         self.second = second

    ... 

    一般情况下,init 方法里面的参数与属性变量的名字是相同的,比如self.hour = hour就存储了参数 hour 的值,赋给了属性变量hour本身。

    这些参数都是可选的,所以如果你调用 Time 对象,但不给任何参数,得到的就是默认值。

    >>> time = Time()

    >>> time.print_time()

    00:00:00

    如果你提供一个参数,就先覆盖 hour 的值:

    >>> time = Time(10)

    >>> time.print_time()

    10:00:00

    如果提供两个参数,就先后覆盖hour和minute的值:

    >>> time = Time(10, 30)

    >>> time.print_time()

    10:30:00

    提供三个参数,连second的初始值也会覆盖:

    >>> time = Time(10, 30, 45)

    >>> time.print_time()

    10:30:45

    二,str方法

    str 是一种特殊的方法:接收一个对象,返回一个代表该对象的字符串。

    >>> class Time:

    ...     def __str__(self):

    ...         return '%.2d:%.2d:%.2d' % (self.hour, self.minute, self.second)

    ...     def __init__(self, hour=0, minute=0, second=0):

    ...         self.hour = hour

    ...         self.minute = minute

    ...         self.second = second

    ... 

    >>> time = Time(10, 30)

    >>> print(time)

    10:30:00

    这样当你用 print 打印输出一个对象的时候,Python 就会调用这个 str 方法。

    写一个新的类的时候,总要先写出来 init 方法,这样有利于简化对象的初始化,还要写个 str 方法,这个方法在调试的时候很有用。

    结束。

  • 相关阅读:
    HTML DOM教程 14HTML DOM Document 对象
    HTML DOM教程 19HTML DOM Button 对象
    HTML DOM教程 22HTML DOM Form 对象
    HTML DOM教程 16HTML DOM Area 对象
    ubuntu 11.04 问题 小结
    VC6.0的 错误解决办法 小结
    boot.img的解包与打包
    shell里 截取字符串
    从零 使用vc
    Imagemagick 对图片 大小 和 格式的 调整
  • 原文地址:https://www.cnblogs.com/liusingbon/p/13303013.html
Copyright © 2011-2022 走看看