Python RuntimeError: thread.__init__() not called解决方法
在写一个多线程类的时候调用报错
RuntimeError: thread.__init__() not called
class NotifyTread(threading.Thread):
def __init__(self, params):
threading.Thread.__init__(self) #here。。。。。。
self.params = params
def run(self):
print "start notify............"
time.sleep(10)
print notify_tran(self.params)
print "end notify.............."
在init中要先初始化Thread,然后在给参数赋值,就能解决了。
也就是不能缺少
threading.Thread.__init__(self)
这是一个使用的注意地方。
相关推荐
-
Python中__new__与__init__方法的区别详解
在python2.x中,从object继承得来的类称为新式类(如class A(object))不从object继承得来的类称为经典类(如class A()) 新式类跟经典类的差别主要是以下几点: 1. 新式类对象可以直接通过__class__属性获取自身类型:type 2. 继承搜索的顺序发生了改变,经典类多继承时属性搜索顺序: 先深入继承树左侧,再返回,开始找右侧(即深度优先搜索);新式类多继承属性搜索顺序: 先水平搜索,然后再向上移动 例子: 经典类: 搜索顺序是(D,B,A,C) >>
-
详解Python中的__new__、__init__、__call__三个特殊方法
__new__: 对象的创建,是一个静态方法,第一个参数是cls.(想想也是,不可能是self,对象还没创建,哪来的self) __init__ : 对象的初始化, 是一个实例方法,第一个参数是self. __call__ : 对象可call,注意不是类,是对象. 先有创建,才有初始化.即先__new__,而后__init__. 上面说的不好理解,看例子. 1.对于__new__ class Bar(object): pass class Foo(object): def __new__(cls
-
Python中__init__和__new__的区别详解
__init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候.例如: # -*- coding: utf-8 -*- class Person(object): """Silly Person""" def __init__(self, name, age): self.name = name self.age = age def __
-
python中子类继承父类的__init__方法实例
前言 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__方法在类的一个对象被建立时,马上运行.这个方法可以用来对你的对象做一些你希望的 初始化 . 注意:这个名称的开始和结尾都是双下划线. 父类A class A(object): def __init__(self, name): self.name=name print "name:", self.name def getName(self): return 'A ' + sel
-
Python中的__new__与__init__魔术方法理解笔记
很喜欢Python这门语言.在看过语法后学习了Django 这个 Web 开发框架.算是对 Python 有些熟悉了.不过对里面很多东西还是不知道,因为用的少.今天学习了两个魔术方法:__new__ 和 __init__. 开攻: 如果对 Python 有所简单了解的话应该知道它包含类这个概念的.语法如下: 复制代码 代码如下: class ClassName: <statement - 1>: . . . <state
-
python中的__init__ 、__new__、__call__小结
1.__new__(cls, *args, **kwargs) 创建对象时调用,返回当前对象的一个实例;注意:这里的第一个参数是cls即class本身2.__init__(self, *args, **kwargs) 创建完对象后调用,对当前对象的实例的一些初始化,无返回值,即在调用__new__之后,根据返回的实例初始化:注意,这里的第一个参数是self即对象本身[注意和new的区别]3.__call__(self, *args, **kwargs) 如果类实现了这个方法,相当于把这个类型
-
Python中__init__.py文件的作用详解
__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件. 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能.我们在导入一个包时,实际上是导入了它的__init__.py文件.这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入. # package # __init__.py import re import urllib import sys impo
-
详细解读Python中的__init__()方法
__init__()方法意义重大的原因有两个.第一个原因是在对象生命周期中初始化是最重要的一步:每个对象必须正确初始化后才能正常工作.第二个原因是__init__()参数值可以有多种形式. 因为有很多种方式为__init__()提供参数值,对于对象创建有大量的用例,我们可以看看其中的几个.我们想尽可能的弄清楚,因此我们需要定义一个初始化来正确的描述问题区域. 在我们接触__init__()方法之前,无论如何,我们都需要粗略.简单地看看在Python中隐含的object类的层次结构. 在这一章,我
-
详解Python中的__init__和__new__
一.__init__ 方法是什么?使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候.例如: 复制代码 代码如下: # -*- coding: utf-8 -*- class Person(object): """Silly Person""" def __init__(self, name, age): self.name = name
-
Python类方法__init__和__del__构造、析构过程分析
最近学习<Python参考手册>学到Class部分,遇到了类的构造析构部分的问题: 1.什么时候构造? 2.什么时候析构? 3.成员变量如何处理? 4.Python中的共享成员函数如何访问? ------------------------ 探索过程: 1.经过查找,Python中没有专用的构造和析构函数,但是一般可以在__init__和__del__分别完成初始化和删除操作,可用这个替代构造和析构.还有一个__new__用来定制类的创建过程,不过需要一定的配置,此处不做讨论. 2.类的成员函
随机推荐
- jQuery.Autocomplete实现自动完成功能(详解)
- 详解java 客户端链接不上redis解决方案
- Python排序算法实例代码
- Javascript中的高阶函数介绍
- IE和Mozilla的兼容性汇总event
- js中的屏蔽的使用示例
- 深入解析JavaScript中的变量作用域
- PHP+iFrame实现页面无需刷新的异步文件上传
- mysql安装时出现各种常见问题的解决方法
- python 出现SyntaxError: non-keyword arg after keyword arg错误解决办法
- jQuery 添加/移除CSS类实现代码
- 基于javascript实现最简单选项卡切换
- Spring(AbstractRoutingDataSource)实现动态数据源切换示例
- SQL Server 数据库管理常用的SQL和T-SQL语句
- imageVue的Slideshow模块使用技巧
- Android天气预报之基于HttpGet对象解析天气数据的方法
- node.js cookie-parser 中间件介绍
- C#中英文混合字符串截取函数
- JavaWeb实现同一帐号同一时间只能一个地点登陆(类似QQ登录的功能)
- 给自己的网站制作一个favicon.ico图标的实现方法