Python
Paul-LangJun
凡事预则立,不预则废。
展开
-
Asyncio框架理解
一、Asyncio概述 asyncio 是用来编写并发代码的库,使用async/await语法。原创 2021-06-27 09:58:41 · 258 阅读 · 0 评论 -
python实现循环双端队列
import mathclass CircularDeque(object): def __init__(self, k): """ Initialize your data structure here. Set the size of the deque to be k. :type k: int """ self.queue = [None] * k self.head = 0 .原创 2021-01-11 13:56:14 · 252 阅读 · 1 评论 -
python多线程详解
python多线程详解目录python多线程详解 一、线程介绍 什么是线程 为什么要使用多线程 二、线程实现 threading模块 自定义线程 守护线程 主线程等待子线程结束 多线程共享全局变量 互斥锁 递归锁 信号量(BoundedSemaphore类) 事件(Event类) 三、GIL(Global Interpreter Lock)全局解释器锁 一、线程介绍什么是线程线程(Thre..转载 2020-12-22 11:21:53 · 269 阅读 · 0 评论 -
python速率控制器
最近有空和同事共同开发了一个基于python的速率控制器,可以控制数据的处理速度,在很多场景中相信都会用到,故在此分享给大家。一、代码 主要思想:控制一段时间内处理数据的速度,速度不能超过设定的speed值。例如,speed值设定为100,那就是说每秒数据处理的速度上限是100.#coding=utf-8import timeimport datetimefrom time import sleepclass SpeedControl(object): def _...原创 2020-11-20 18:26:41 · 2182 阅读 · 0 评论 -
LeetCode合并K个升序链表(python版)
一、描述 给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。 示例 1: 输入:lists = [[1,4,5],[1,3,4],[2,6]] 输出:[1,1,2,3,4,4,5,6] 解释:链表数组如下: [ 1->4->5, 1->3->4, 2->6 ] 将它们合并到一个有序链表中得...原创 2020-10-29 22:30:33 · 390 阅读 · 0 评论 -
Python实现两个有序集合的交集和并集
本文通过python实现简易的集合交并算法,输入是两个以递增顺序排序的集合,输出它们的有序交集和有序并集。1、Union算法def union(s1, s2): o = [] i = j = 0 s1_n = len(s1) s2_n = len(s2) while i < s1_n and j < s2_n: ...原创 2020-01-11 21:56:13 · 2939 阅读 · 0 评论 -
栈的应用:中缀表达式和后缀表达式互转
一、概要 中缀表达式是我们经常接触的算术表达式,如(a+b)* c,a * (c - d)等,优点是便于记忆,缺点是对运算顺序有严格的要求。后缀表达式又称逆波兰式,如abc*+d e *f+g*+,虽然不便记忆,但是它不像中缀表达式,对于运算的顺序是没有要求,可以按照顺序扫描的方法计算表达式,因此在计算机内部容易用编程的方式实现表达式的求值。二、中缀转后缀# !/u...原创 2019-11-19 18:19:34 · 409 阅读 · 0 评论 -
Python多线程编程的一些注意事项
Python多线程代码的执行过程中,经常出现运行预期与实际情况不符的情况,针对这些情况,本文给出一些编程和排查建议。1、检查是否是某个线程已经挂掉,导致其它线程无法正常工作。对于平时多专注于单线程数据处理的同学来说,这是一个隐藏较深的坑。对于流式处理任务,常常会涉及到多线程,可将该步作为排查问题的首选。2、子线程建议在线程实例所在的构造函数内部进行初始化并启动,一是简单,二是易于发现并排查...原创 2019-09-06 18:03:06 · 514 阅读 · 0 评论 -
Python修饰器简介
原文来自简书,地址:https://www.jianshu.com/p/ab702e4d4ba7前言对python的修饰器的理解一直停留在"使用修饰器把函数注册为事件的处理程序"的层次,也是一知半解;这样拖着不是办法,索性今天好好整理一下关于python修饰器的概念及用法。介绍装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等...转载 2019-06-04 17:25:34 · 168 阅读 · 0 评论 -
机器学习 —— 感知机分类算法
# -*- coding: utf-8 -*-import randomimport queuefrom time import sleepfrom threading import Threadimport numpy as np''' A binary linear classifier '''class Perceptron(object): def _...原创 2019-04-08 11:13:57 · 586 阅读 · 0 评论 -
排序 —— 插入排序、选择排序与冒泡排序
一、插入排序 对含有 个元素的数组 进行 次遍历,第 次遍历将元素 插入到位置区间 中合适的位置上。# !/usr/bin/python# coding=utf-8def insert_sort(a): loop_num = len(a) - 1 if loop_num == -1: return for i in rang...原创 2019-04-01 09:47:53 · 101 阅读 · 0 评论 -
关于python中闭包的理解
原文地址: https://www.cnblogs.com/Lin-Yi/p/7305364.html闭包这个概念好难理解,身边朋友们好多都稀里糊涂的,稀里糊涂的林老冷希望写下这篇文章能够对稀里糊涂的伙伴们有一些帮助~请大家跟我理解一下,如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。闭包: 在一个外函数中定义了一个内函数,内函数里运用了...转载 2019-03-22 18:26:01 · 125 阅读 · 0 评论 -
Python字符串拼接
在Python中,经常需要对字符串进行拼接操作,这里整理了字符串拼接的一些常用方法。 第一种,使用+链接两个或多个字符串,如:s1 = 'a's2 = 'b's3 = s1 + s2print(s3)输出: ab 第二种,把所有待连接的字符串放到一个列表中,然后使用join把它们连接在一起,如s1 = 'a's2 = 'b's3 = ''.jo...原创 2019-03-14 12:48:26 · 4993 阅读 · 2 评论 -
Python中的copy()与deepcopy()区别
转载自:https://www.cnblogs.com/hokky/p/8476698.html学习过程中发现copy()和deepcopy()这对好基友实在是有点过分,搞的博主就有点傻傻分不清啊,但是呢本着一探到底的精神,还是要查资料搞清楚这对好基友的区别。其实呢,copy()与deepcopy()之间的区分必须要涉及到python对于数据的存储方式。首先直接上结论:—–...转载 2019-03-04 10:56:07 · 122 阅读 · 0 评论 -
python中sys.setdefaultencoding('utf-8')的作用
转载自: https://www.cnblogs.com/guosq/p/6378639.html在python中,编码解码其实是不同编码系统间的转换,默认情况下,转换目标是Unicode,即编码unicode→str,解码str→unicode,其中str指的是字节流,而str.decode是将字节流str按给定的解码方式解码,并转换成utf-8形式,u.encode是将unicode...转载 2019-03-01 09:10:44 · 2459 阅读 · 0 评论 -
Python列表无法正常输出汉字的解决方法
转载自:http://www.runoob.com/python/python-lists.html大家在Python开发过程中如果遇到此问题,可参考如下例程。#encoding=utf-8import jsonlist_words = [ '你', '我', '他' ]print( list_words ) ...转载 2019-02-14 09:42:23 · 2962 阅读 · 0 评论 -
Python迭代对象、迭代器、生成器
转载自: https://foofish.net/iterators-vs-generators.html 容器(container)容器是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。通常这类数据结构把所有的元素存储在内存中(也有一些特例,并不是所有的元素都放在内存,比如迭代器和生成器对象)在Python...转载 2019-02-13 11:23:58 · 104 阅读 · 0 评论 -
一个极好的GitHub开源Python项目: What the f*ck Python! snake
Python, being a beautifully designed high-level and interpreter-based programming language, provides us with many features for the programmer's comfort. But sometimes, the outcomes of a Python snippet...原创 2018-12-04 12:50:23 · 594 阅读 · 0 评论