悠扬随风 发表于 2024-11-5 01:07:25

爬虫学习4

https://i-blog.csdnimg.cn/direct/754dfeec572e4f998569b4d7f8b6133d.png
from threading import Thread

#创建任务
def func(name):
    for i in range(100):
      print(name,i)

if __name__ == '__main__':
    #创建线程
    t1 = Thread(target=func,args=("1"))
    t2 = Thread(target=func, args=("2"))

    t1.start()
    t2.start()

    print("我是诛仙剑")
from threading import Thread

class MyThread(Thread):
    def __init__(self,name):
      super(MyThread,self).__init__()
      self.name = name

    def run(self):
      for i in range(100):
            print(self.name,i)

if __name__ == '__main__':
    t1 = MyThread("123")
    t2 = MyThread("456")

    t1.start()
    t2.start() `def __init__(self, name):` 这行代码定义了`MyThread`类的构造函数(也称为初始化方法)。在Python中,`__init__`是一个特殊的方法,当一个对象被创建时,这个方法会被自动调用。它的作用类似于其他编程语言中的构造器(constructor)。
下面是这行代码的详细解释:
- `def`:这是定义函数的关键字。
- `__init__`:这是方法的名称,`__init__`是Python中用于对象初始化的特殊方法名。
- `self`:这是对当前对象实例的引用。在类的任何方法中,`self`都是一个指向类实例本身的参数,它允许我们访问类的属性和方法。
- `name`:这是构造函数接受的参数,用于传递线程的名称。在创建`MyThread`类的实例时,你需要提供一个`name`参数,这个参数会被传递给`__init__`方法,并赋值给实例变量`self.name`。
在`__init__`方法内部,你可以执行任何初始化操纵,比如设置对象的属性或者调用父类的构造函数。在你的代码中,`__init__`方法做了两件事:
1. 调用父类`Thread`的构造函数:`super(MyThread, self).__init__()`。这确保了`Thread`类被正确初始化,因为`MyThread`继承自`Thread`。
2. 设置线程名称:`self.name = name`。这将传入的`name`参数赋值给实例变量`self.name`,使得每个线程实例都有一个唯一的名称。
通过定义`__init__`方法,你可以在创建`MyThread`类的实例时,提供必要的初始化参数,并确保对象在被使用之前被正确设置。
if __name__ == '__main__': 这是一个特殊的Python语法,用于判定当前脚本是否作为主步伐运行。如果是,那么下面的代码块将被执行。这可以防止当脚本被导入到其他模块时,这部门代码被执行。
super(MyThread, self).__init__() 这行代码在Python中用于调用父类(超类)的方法。在这个特定的上下文中,它被用来调用MyThread类的父类Thread的构造方法
https://i-blog.csdnimg.cn/direct/e05130226ccc47d2b1d75e34430ffda8.png
https://i-blog.csdnimg.cn/direct/7c0e678ed2f240ff9be6748e71a6893e.png
https://i-blog.csdnimg.cn/direct/a74dafb1c8a34deaaa221d80c51f89dd.png
https://i-blog.csdnimg.cn/direct/35f981e8623e43109428aeb8ce707caa.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 爬虫学习4