-
python使用tqdm定制进度条
1、可以实例化一个tqdm类,然后通过传参和调用tqdm类中的方法来实现定制。 import time from tqdm import tqdm pbar = tqdm(range(100), desc=”My Processing: “) for i in pbar: time.sleep(0.1) pbar.close() 2、类似于打开文件的操作,一个实例化的tqdm在使用完毕后通过close()方法进行清理。我们也可以像文件操作那样,使用with语句来避免这些麻烦的操作,让它在使用…
-
python爬虫获取数据异常的解决
问题说明 如果发现爬取到的数据和页面正常显示的数据不一样,或者说爬取的是空白数据,那很有可能是由于网站创建页的程序有问题。假如爬取频率高过了网站的设置阀值,就会被禁止访问。 解决办法 爬虫开发人员一般采用两种方式来处理。 1、调慢爬取速度,减少对目标网站产生的压力。可是如此一来会减少单位时间内的爬取量。 2、利用设置ip代理的方式,突破反爬虫机制继续高频率爬取,可是如此一来要很多个稳定的ip代理,想要更好的爬取足够的数据必须使用高质量ip代理才行。 每日分享到群里,或者推荐给朋友会得大量积分,机…
-
python tqdm是什么
1、说明 tqdm是一个方便且易于扩展的Python进度条,可以在python执行长循环时在命令行界面实时地显示一个进度提示信息,包括执行进度、处理速度等信息,且可在一定程度上进行定制。 2、使用pip来安装tqdm模块 pip install tqdm 3、tqdm使用方法 tqdm.tqdm(可迭代对象) ,括号中的可迭代对象可以是个list,tuple等。 from tqdm import tqdm,trange import time a = [1,2,3] for i in t…
-
python类如何自定义实例化
说明 1、在类定义体中,self指的是实例化的对象。 2、不跟随self的属性属于类属性。 3、可采用__init__()函数定制初始化模式。 4、属于类的方法是共享的,属于对象的方法是每个对象私有的。 实例 class Model: name = “DNN” def ___init__(self, name): self.name = name def main(): cnnmodel = Model(“CN…
-
python闭包的作用
作用 1、共享变量时避免使用了不安全的全局变量 2、允许将函数与某些数据关联起来,类似于简化版面向对象编程 3、相同代码每次生成的闭包,其延伸的作用域都彼此独立 4、函数的一部分行为在编写时无法预知,需要动态实现,同时又想保持接口的一致性 5、较低的内存开销,类的生命周期远大于闭包 6、实现装饰器 实例 def print_msg(): # print_msg 是外围函数 msg = “zen of python” def printer(): # pri…
-
python如何实现Stack
说明 1、栈是线性数据结构,其特点是元素的增加和删除都是入栈和弹栈的形式(遵循先进后出或后进先出的原则。 2、stack可以使用python内置的list实现,因为list是属于线性数组,在末尾插入和删除一个元素所使用的时间都是O(1),这非常符合stack的要求。当然,也可以使用链表来实现。 实例 class Stack(object): def __init__(self): self.items = [] def is_empty(self): …
-
Python中tail -f如何实现
说明 1、tail-f默认先读取最后10行数据,然后从文件末尾读取实时数据。如果是小文件,可以先读取所有文件内容,输出最后10行。 2、读取全文后获取最后10行的性能并不高,后滚10行的边界条件也很复杂。先获取全文,再得到最后10行的实现。 实例 import time import sys from typing import Callable, NoReturn class Tail(object): def __init__( self, …
-
python三种流程控制的语句
1、顺序流程控制 按照代码顺序执行。 import math pi = 3.14 r = float(input(‘input r = ‘)) S = pi * r**2 C = 2 * pi * r print(f’半径为{r}cm的圆的周长为{C}, 面积为{S}’) 2、分支流程控制 if-elif-else语句: if 条件1: action1 elif 条件2: action2 else 条件3: action3 3、循环流程控制 while循环语句语法结构 while…
-
python异常的捕捉和补救
1、捕捉特定异常 第一个符合条件的except语句会被执行,用于报告错误。如果仅仅是报告错误,程序依然会停止。 a = 0 try: b = 5/a except ZeroDivisionError: print(‘Error: a不能为0’) except ValueError: print(‘Error: 传入参数无效’) 2、捕捉所有异常 except语句后面Exception表示捕获任何异常类型。 a = 0 try: b = 5/a except Exc…
-
python如何输入数据类型检查
说明 1、数据类型检测可以使用内置函数isinstance()来实现。 2、内置函数isinstance有两个参数,第一个参数是需要检测的对象,第二个参数是对象类型,可以是单一类型,也可以是元组,返回bool类型。 实例 def my_abs(x): if not isinstance(x, (int, float)): raise TypeError(‘bad operand type’) if x>=0: return x …
