Python十大算法之冒泡排序python代码简单实现
(Python)十大算法之冒泡排序!
1234567891011121314151617181920"""冒泡排序核心: 两个两个数进行比较,小的放前边大的放后面(升序排序降序反之)"""# 定义一个函数,实现冒泡排序def sort_the(list_): # 由于需要两个两个的进行元素比较,每次比较都会把最大的一个值放到最后面,最后一轮比较可以省去,所以需要比较的次数为列表元素总数减一 for i in range(len(list_) - 1): # 每次进行一轮比较后,会把最大的元素放到最后,所以每轮进比较的次数为 总轮数 - 当前轮次 for n in range((len(list_) - 1 - i)): # 该排序是大的在后面, 如果需要大的在前面,把大于号改为小于号 if list_[n] > list_[n + 1]: list_[n], list_[n + 1] = list_[ ...
爬虫使用的各种USER_AGENT
下面是我写的一段代码, 调用这个函数可以随机返回一个请求头USER_AGENT 就是每个浏览器的标识, 下面有手机端, 使用时注意要爬取的页面PC端跟手机端的HTML解析不同
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107import timeimport requestsimport random"""用于返回一个随机的请求头"""USER_AGENTS = [ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/22.0.1 ...
Python装饰器代码简单实现带参数不带参数计算时间
Python装饰器代码简单实现
先说一说装饰器的个人理解吧
装饰器就是在不改变原函数的情况下,给原函数增加一些额外的功能,装饰器本质就是一个闭包(先说这么多,以后再补充)不接受参数的通用装饰器1234567891011121314151617181920212223242526272829303132"""定义一个装饰器,这是一个不接受参数的装饰器"""def decorator(func): # 加 *args, **kwargs 这两个参数为了能够接受参入函数的参数(你不能保证传入的函数有没有参数,以及这个传入的函数有多少个参数) def wrapper(*args, **kwargs): print("我是装饰器") fun = func(*args, **kwargs) # 最后再把传入的函数返回出去 return fun # 这个return 很重要,装饰器就语法就是这样, 返回内部函数,其实装饰器本质就是一个闭包 ...