精华内容
下载资源
问答
  • __not_init
    千次阅读
    2020-06-23 16:19:44

    ./configure: line 3843: LT_INIT: command not found造成操作系统不支持的错误
    解决办法:安装libtool autoconf automake,然后在目录上分别执行以下语句:aclocal;libtoolize --force;autoconf;autoheader;automake

    udev support requested but libudev header not installed
    sudo apt-get install libudev-dev

    更多相关内容
  • RuntimeError: thread.__init__() not called 复制代码 代码如下: class NotifyTread(threading.Thread):   def __init__(self, params):   threading.Thread.__init__(self) #here。。。。。。   self....
  • Python多线程编程中,程序启动报...RuntimeError: thread.__init__() not called 代码如下: class TestThread(threading.Thread): def __init__(self, params): threading.Thread.__init__(self) #要求实现Thr...

    Python多线程编程中,程序启动报异常如下:

    RuntimeError: thread.__init__() not called

    代码如下:

    class TestThread(threading.Thread):  
        def __init__(self, params):  
            threading.Thread.__init__(self)  #要求实现 Thread的初始化方法
            self.params = params  
          
        def run(self):  
            print("start new Thread")  
            print("Thread end")
    
    

    解决方法:
    在自写的类中的init中,先初始化Thread,然后如果有参数,再给参数赋值。
    即初始化函数中缺少了
    threading.Thread.__init__(self)

    展开全文
  • assert self.__initialized, "Thread.__init__() not called" AssertionError: Thread.__init__() not called 二、解决方案 在 __init__() 方法中显式地调用父类的__init__()方法() # 第一种初始化父类方法 ...

    一、问题

    assert self.__initialized, "Thread.__init__() not called"
    AssertionError: Thread.__init__() not called

    二、解决方案

    在 __init__() 方法中显式地调用父类的__init__()方法()

    # 第一种初始化父类方法
    super(self.__class__, self).__init__()
    # 第二种初始化线程类的方法
    threading.Thread.__init__(self)

     

    展开全文
  • 深入理解Python中的 __new__ 和 __init__

    千次阅读 2018-09-17 09:19:15
    理解 __new__ 和 __init__ 的区别 Python中两种类的定义方式 分析不同的Case 老式类中的__new__ 和 __init__ 新式类中的 __new__ 和 __init__ 参考资料 本文为译文,原文链接:...

    本文为译文,原文链接:https://spyhce.com/blog/understanding-new-and-init

    本文的目的是讨论Python中 __new__ 和 __init___ 的用法。 __new__ 和 __init__ 的区别主要表现在:1. 它自身的区别;2. 及在Python中新式类和老式类的定义。

    理解 __new__ 和 __init__ 的区别

    这两个方法的主要区别在于:__new__ 负责对象的创建而 __init__ 负责对象的初始化。在对象的实例化过程中,这两个方法会有些细微的差别,表现于:如何工作,何时定义。

    Python中两种类的定义方式

    Python 2.x 中类的定义分为新式定义和老式定义两种。老式的类出现在Python 3之前且定义时不继承自’object’ 基类,默认是继承自’type’ :而新式类在定义时显示地继承’object’类。

    Python 2.x中老式类的定义:

    class A:  # -> inherits from 'type'
        pass

    Python 2.x中新式类的定义:

    class A(object):  # -> clearly inherits from 'object'
        pass
    

    在Python 3.x中没有新式类和老式类之分,它们都继承自’object’ 类。因此可以不用显示地指定其基类。’object’基类中拥有的方法和属性可通用于所有的新式类。

    下文中我们将通过测试 __new__ 和 __init__ 在各个case中的用法,来逐步剖析它们的功能和区别,并以此确实我们该如何使用它们。

    分析不同的Case

    在研究具体的实现之前,我们应该知道 __new__ 方法只接受 cls 作为它的第一个参数,而 __init__ 一个参数是 self (__new__ 是一个类方法,而__init__ 是一个对象方法)。因为我们调用 __new__ 之前连实例都还没有,因此那时根本没有 self 的存在。__init__ 在 使用 __new__ 创建并返回一个实例之后调用,因此可将返回的实例通过self传递给它。

    老式类中的__new__ 和 __init__

    老式类中其实并没有 __new__ 方法,因为 __init__ 就是它的构造方法(函数)。因此如果我们有下面这段代码:

    class A:
    
        def __new__(cls):
            print "A.__new__ is called"  # -> this is never called
    
    A()

    这个case中的 __new__ 方法将永远不会执行,因为它不是老式类的目标函数。

    如果我们是重写一个__init__ 方法:

    class A:
    
        def __init__(self):
            print "A.__init__ called"
    
    A()

    它将会输出:

    A.__init__ called

    我们尝试从 __init__ 方法中返回一个值:

    class A:
    
        def __init__(self):
            return 29
    
    A()

    将会产生一个错误:

    TypeError: __init__() should return None​

    这意味着我们实例化一个老式类的对象时,不能控制它返回什么内容。

    新式类中的 __new__ 和 __init__

    新式类允许开发者根据他们的意图来重写 __new__ 和 __init__ 方法。__new__ (构造函数)单独地创建一个对象,而 __init__ (初始化函数)负责初始化这个对象。

    我们看一下下面这个case的执行顺序:

    class A(object):  # -> don't forget the object specified as base
    
        def __new__(cls):
            print "A.__new__ called"
            return super(A, cls).__new__(cls)
    
        def __init__(self):
            print "A.__init__ called"
    
    A()

    将会输出:

    A.__new__ called
    A.__init__ called

    你可能想要问 __init__ 和 __new__ 是在哪里被调用的,我能告诉你的是: __new__ 是在我们调用类名进行实例化时自动调用的,__init__ 是在这个类的每一次实例化对象之后调用的,__new__ 方法创建一个实例之后返回这个实例对象并传递给 __init__ 方法的 self 参数。因此,即使你将创建的实例对象保存成一个全局或静态的变量,并且每次调用__new__ 方法时都返回这个对象,__init__ 方法依然每次都会被调用。这意味着如果我们在 __new__ 中省略调用基类的super(A, cls).__new__(cls) 代码,__init__ 方法将不会被执行。我们一起看一下这个case的代码:

    class A(object):
    
        def __new__(cls):
            print "A.__new__ called"
    
        def __init__(self):
            print "A.__init__ called"  # -> is actually never called
    
    print A()

    输出的内容如下:

    A.__new__ called
    None

    显然这个实例被认定None,如果我们没有在构造函数中返回任何对象。

    想像一下,如果我们从 __new__ 中返回一些其他东西(对象)将会发生什么,如下面这样:

    class A(object):
    
        def __new__(cls):
            print "A.__new__ called"
            return 29
    
    print A()

    猜想会输出如下的内容:

    A.__new__ called
    29

    我们再看一下从 __init__ 中返回一个对象将会发生什么:

    class A(object):
    
        def __init__(self):
            print "A.__init__ called" 
                return 33  # -> TypeError: __init__ should return None
    
    A()

    这将会出现警告:

    TypeError: __init__ should return None

    在调用 __init__ 时会出现一个TypeError的异常:__init__() should return None, not ‘int’。这主要是因为 __init__ 的作用只是刷新和更改刚创建的这个实例对象的状态。

    新式的类在灵活性上提供了更多的功能,允许我们在构造和初始化的级别做更多预处理和后处理的操作,让我们可以在实例化时控制我们想要返回的内容。

    考虑到这一点,我们尝试一下在 __new__ 中返回一个其他类的对象。

    首先,我们定义一个待用的类:

    class Sample(object):
    
        def __str__(self):
            return "SAMPLE"

    然后,再定义一个重写 __new__ 方法的类:

    class A(object):
    
        def __new__(cls):
            return Sample()

    也可以写成下面这样:

    class A(object):
    
        def __new__(cls):
            return super(A, cls).__new__(Sample)

    最后,我们调用A()来创建一个对象,并打印该对象:

    print A()

    这将会输出:

    SAMPLE

    参考资料

    https://docs.python.org/2/library/functions.html#object
    http://www.cafepy.com/article/python_types_and_objects/python_types_and_objects.html#the-object-within
    https://wiki.python.org/moin/NewClassVsClassicClass

    展开全文
  • 我用的是 ...Command ‘catkin_init_workspace’ not found, but can be installed with: sudo apt install catkin 解决思路 按照提示去安装 source /opt/ros/noetic/setup.bash 更新环境 ...
  • __init__定义变量时要将参数作为赋值对象。 正确演示代码如下: class rectangle: def __init__(self,length,width): self.length,self.width = length,width #注意参数作为赋值对象 def setRect(self): self....
  • 在使用tensorFlow2搭建神经网络模型的时候,除了Sequential的方法,还有就是自己写模型class,然后初始化。... def __init__(self): #在这里定义网络结构块 super(IrisModel, self).__init__() s
  • /tmp/roswstmp.sh: line 2: catkin_init_workspace: command not found Deploy Finished! ROS小白遇到这个问题就懵逼了,国内很多人都说是因为没有安装catkin_tools包,所以他们是说的解决方法就是各种安装或者重...
  • worker_init_fn

    千次阅读 2022-04-01 07:21:06
    torch.utils.data — PyTorch 1.11.0 documentation pytorch中collate_fn函数的使用&如何向collate_fn函数传参_XJTU-Qidong的博客-CSDN博客_collate pytorch collate_fn可以在调用__getitem__函数后,将得到...
  • 在写一个多线程类的时候调用报错  ...RuntimeError: thread.__init__() not called class NotifyTread(threading.Thread): def __init__(self, params): threading.Thread.__init__(self) #here。。。。。。
  • TypeError: __init__() should return None, not 'int' 在学习中这个报错困扰我许久,经过查阅发现: __init__是不能有返回值,若想获得其下的返回值需要使用以下方法: class hello(): def __new__(self): ...
  • 使用catkin_init_workspace命令报错: command not found: catkin_init_workspace 使用以下命令解决: source /opt/ros/kinetic/setup.bash
  • 解决方法 将 from keras.utils import to_categorical 改为: from tensorflow.keras.utils import to_categorical 即可
  • 问题1:cannot find reference ‘textfield‘ in ‘__init__.py‘ 解决方法: File -> Settings -> Python Interpreter 安装或更新 Opencv-Contrib-Python 问题2:cannot find reference 'migratecommand' in '__...
  • 最初代码报错 最开始的代码为: ... def __init__(self): self.test='test' def test_test(self): print('1') if __name__ == '__main__': unittest.main() 执行后,报错 TypeError: __init__() takes 1 po
  • '__gt__','__hash__', '__init__', '__init_subclass__', '__le__', '__lt__','__cmodule__', '__ne__', '__new__', '__reduce__', '__reduce_ex__','__repr__', '__setattr__', '__sizeof__', '__str__', '__...
  • pthread_mutex_init()如下: NAME pthread_mutex_init, pthread_mutex_destroy - initialise or destroy a mutex SYNOPSIS #include <pthread.h> int pthread_mutex_init(pthread_m...
  • Pycharm无法识别我项目模块的包。 我注意到已经有相当多的问题,但我尝试了所有给定的解决方案,没有任何作用。...我回答了以下问题PyCharm does not recognize modules installed in development mo...
  • 解决方法: source /opt/ros/kinetic/setup.bash
  • I have a project in Pycharm organized as follows:-- Sources|--__init__.py|--Calculators|--__init__.py|--Filters.py|--Controllers|--__init__.py|--FiltersController.py|--Viewers|--__init__.py|--DataVisu...
  • 如果我没猜错的话你是只安装了lxml 需要再安装一个 file -> setting ->自己项目名-> project interpreter ->点击加号 然后看图下载 点击下载就OK
  • python:构造方法__init__( )

    千次阅读 多人点赞 2018-06-17 23:38:43
    python魔法方法:__init__( ) 1、__init__()方法称为构造方法,__init__()方法的魔力体现在只要实例化一个对象,这个方法就会在对象被创建时自动调用。 2、实例化对象时是可以传入参数的,这些参数会自动传入__...
  • pycharm 语法检查出现了cannot find reference ‘init’ 解决方法如下: 如果已经安装了:opencv-python,那么就需要安装opencv-contrib-python,执行命令:pip install opencv-contrib-python。 安装的时候可能会...
  • pip install opencv-python后,pycharm提示,cannot find reference ‘imread’ in __init__等等问题 解决方法:import cv2.cv2 as cv2
  • 要知道,虽然__new__方法接受的参数和__init__一样,但__init__是在类实例创建之后调用,而 __new__方法正是创建这个类实例的方法,所以,当我们创建一个类的时候,编译器会先执行__new__方法,再执行__init__方法。...
  • Python 中__new__()和__init__()的区别

    千次阅读 多人点赞 2019-04-26 00:24:58
    3.若__new__()没有正确返回当前类cls的实例,那__init__()将不会被调用 4.创建的每个实例都有自己的属性,方便类中的实例方法调用;   对比下面代码理解会更加清晰: class B(): def __new__(cls): ...
  • LWIP_简记(8.tcpip_init()之lwip_init())

    千次阅读 2020-03-28 15:22:27
    LWIP一句话记住就行: 一项工程,两份配置,三种内存分配,四套操作API,...从这一讲开始我们来剖析一下lwip_init()中那些子系统的初始化. 先上源码: /** * @ingroup lwip_nosys * Initialize all modules. ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 877,568
精华内容 351,027
关键字:

__not_init