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 方法,这个方法在调试的时候很有用。

    结束。

  • 相关阅读:
    游标和视图
    sql server 变量与集合运算
    sql server 流程控制
    sql server 基础查询和子查询
    数据库范式快速理解
    创建数据库与数据表
    SQL server 使用
    Android studio 下载依赖jar包慢
    java根据list数据通过接口姓名并填充
    【翻译】Promises/A+规范
  • 原文地址:https://www.cnblogs.com/liusingbon/p/13303013.html
Copyright © 2011-2022 走看看