zoukankan      html  css  js  c++  java
  • 浑浑噩噩的一天

    多线程类的写法

    先定义一个类并继承threading.Thread类,将该类定义为一个线程。在该类中,可以使用__init__(self)方法对线程进行初始化,在run(self)方法中写上该线程要执行的程序。我们可以声明多个这样的类来构建多个线程并通过对应线程对象的start()方法启动对应的线程。

    举例:

    每个线程的作用
    线程1专门获取对应网址并处理为真实网址,并将网址写入队列urlqueue中,该队列专门用来存放具体文章的网址
    线程2和线程1并行执行,从线程1提供的文章网址中依次爬取对应文章信息并处理,处理后将我们需要的结果写入对应的本地文件中
    线程3主要用于判断程序是否完成,因为若没有一个总体控制的线程,即使线程1、2执行完,也不会退出程序。这个线程专门来实现总体控制,每次延时60秒,延时后且存放网址的队列urlqueue中没有了网址数据,说明线程2已经get到全部网址,即此时已经完全爬取完成

    round函数

    产生四舍五入浮点数 # # python中的round函数大于5才入么.等于5不入,大于5才入
    原来int无法转浮点数的字符串类型,需将浮点数字符串先转化为浮点数在转化为int型

    字符串的join()函数

    join后跟可迭代的数据类型,然后遍历迭代可迭代数据类型,数据类型的元素一定要为字符传

    二维数组采用生成器构建

    # 确定的二维数组
    multilist = [[0 for i in range(3)] for j in range(5)] # 5行3列
    for i in range(5):
        for j in range(3):
            multilist[i][j] = i*j # 行列次数弄混,就容易出现index out of range
    print(multilist)
    

    在谈sort()与sorted()

    .sort是列表固有的属性
    sort前面是可迭代对象;.sort()方法返回None,他直接作用在前面的对象上

    items = [x for x in input().split(',')]
    items.sort() 
    sorted括号中是可迭代对象
    

    words = [word for word in s.split(" ")]
    print(''.join(sorted(list(set(words)))))
    他还可以传入第二个参数,用于比较的元素,可用key = 关键字(也可用函数lambda x :x[1]),reverse=false是默认的,升序

    L = [('a',1),('b',2),('d',4),('c',3)]
    b = sorted(L,key=lambda x:x[1]) # x代表的是L中的元素,1是x中元素的索引
    print(b)
    

    对于sorted和sort的第二个参数定义的函数,并按照函数进行排序,目前只能会使用匿名函数,
    lambda x:x[1];分号前的为函数的输入,分号后的为函数函数的输出。sorted需要的就是输出,也就是x[1]

    对于字典的排序

    c = {1:'2',2:'3',3:'1'}
    # .sort是列表固有的属性,是的,并且它返回直接作用在可迭代对象上,返回None
    # print(c.sort()) # 'dict' object has no attribute 'sort'
    # 对于字典排序只能将其转化位列表么
    d = sorted(c.items(),key = lambda x:x[0],reverse=True) # 默认排序字典的第一个元素
    print(d)
    
    努力拼搏吧,不要害怕,不要去规划,不要迷茫。但你一定要在路上一直的走下去,尽管可能停滞不前,但也要走。
  • 相关阅读:
    数据结构与算法入门---基本概念
    java 的异常处理
    RESTful API
    数据结构
    错误代码 2003不能连接到MySQL服务器在*.*.*.*(10061)
    MySQL有四种BLOB类型
    如何彻底卸载MySQL
    Mysql 逗号分隔行列转换总结
    如何判断滚动条滚到页面底部并执行事件
    响应式布局之浮动圣杯布局(双飞翼布局)—-自适应宽度布局
  • 原文地址:https://www.cnblogs.com/wkhzwmr/p/15509914.html
Copyright © 2011-2022 走看看