zoukankan      html  css  js  c++  java
  • python对象初始化

    当python对象被创建以后,需要将对象进行初始化。Python有一个构造函数和一个初始化函数:

    1、构造函数__new__,只接受一个参数,即类本身(它会在对象被构造之前调用,所以这里也就没有self参数),所以它返回刚被创建的对象。在日常编程中,很少被用到。

    2、初始化函数__init__,常被用到。例如我们在Point类里添加一个初始化函数,要求用户在实例化Point对象的时候提供x和y参数。

    class Point:
        def __init__(self, x, y):
            self.move(x, y)
    
        def move(self,x, y):
            self.x = x
            self.y = y
    
        def reset(self):
            self.move(0, 0)
    
    
    #构造一个Point
    point = Point(3, 5)
    print(point.x, point.y)
    # 3 5 

    如果调用Point对象没有含有合适的初始化参数时,会提示“没有足够的参数”等错误。如调用上述的Point类,运行如下

    >>> a = Point(3)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: __init__() missing 1 required positional argument: 'y'
    >>> a = Point(3, 4, 5)
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: __init__() takes 3 positional arguments but 4 were given

    如果不想让两个参数是必须的,通过将初始化函数设置为默认值来实现。如将上处的__init__的代码修改如下:

    class Point:
        def __init__(self, x = 0, y = 0):
            self.move(x, y)
  • 相关阅读:
    复制
    rpm 软件包管理
    xfsdump 备份文件系统
    dhcp服务器(一)
    【转】kafka集群搭建
    postgresql主从配置
    centos7 安装配置postgresql
    centos7 安装配置zookeeper
    zookeeper
    piplinedb 安装配置
  • 原文地址:https://www.cnblogs.com/anovana/p/8126042.html
Copyright © 2011-2022 走看看