自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

是小白呢的博客

执着的技术追求者

  • 博客(47)
  • 收藏
  • 关注

原创 灵活使用哈希结构的重要性

首先附上一段代码段,代码含义循环判断一个列表元素是否在另一个列表中import timetime1 = time.time()lis1 = [i for i in range(20000)]lis2 = [j for j in range(0,20000,2)]num = 0for i in lis1: if i in lis2: num += 1time2 = time.time()print(num,time2-time1)此时的时间复杂度为O(n^2),看

2020-09-27 22:51:11 158

原创 遍历目录,查找指定后缀文件

方法一:import osdef get_files(dir_path,suffix,res): file_list = os.listdir(dir_path) for obj in file_list: new_path = os.path.join(dir_path,obj) if os.path.isfile(new_path): if obj.endswith(suffix): res.a

2020-08-15 11:10:07 587

原创 判断近似字符串(相差一个字符)

要求:写一个函数用于判断两个字符串中任意一个字符串,是否可以通过增删改操作变成另一个字符串,结果返回Boolean示例:aaas与aaa 返回 Trueasaa与aa 返回 Falseargs与argt 返回 Truearg与args 返回 True以下为自己用简单语法写的判断方法,用博客记录以下:def isStringAlike(str1,str2): """ 函数功能:判断两个字符串中任意一个字符串, 是否可以通过增删改操作变成另一个字符串, 结果返回

2020-07-15 15:36:27 1226

原创 mysql索引底层原理分享

对于在使用mysql的你,一定知道mysql索引可以加快数据查询速度,提高查询效率,但你对其索引原理是否了解呢?接下来和大家分享一下mysql索引原理,请耐心看完哦局部性原理: CPU访问存储器时,无论是存取指令还是存取数据,所访问的存储单元都趋于聚集在一个较小的连续区域中。用通俗的话来说就是进行磁盘IO的时候不是只取某条数据,而是将数据所在页数据全部取出,加载到缓存中。了解了数据是一页一页进行读取之后,进入数据存储介绍。假设数据有五个字段,a(主键),b,c ,d,e数据每一页的存储结构: 如下图所

2020-06-10 11:35:07 257

原创 如何提高pip下载速度??更改pip源即可

windows环境下配置1、打开文件资源管理器2、地址栏输入 %appdata%3、创建文件夹pip,在文件夹中创建文件pip.ini4、文件中写入如下内容(此处为阿里源,可自行更换源)[global]timeout = 6000index-url = https://mirrors.aliyun.com/pypi/simple/trusted-host = mirrors.aliyun.comlinux环境下配置1、cd ~2、mkdir ~/.pip3、vim ~/.pip/p

2020-06-09 17:02:55 303

原创 ubuntu提高下载速度--更新apt源

个人在使用ubuntu时,有时候下载速度很慢,所以更改了get源,以下记录我的操作步骤1、备份原文件sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak后缀为.bak的为备份文件,以防配置错误或不想更换apt源,将此文件改回原名即可2、编辑apt源文件sudo vim /etc/apt/sources.list3、将内容全部替换,替换为如下内容deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu

2020-06-09 16:55:54 653

转载 任务调度器Celery详解

Celery 官网:http://www.celeryproject.org/Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.htmlCelery 官方文档中文版:http://docs.jinkan.org/docs/cel...

2020-05-22 17:07:52 1557 2

转载 pycharm常用快捷键

pycharm常用快捷键 1、编辑(Editing)Ctrl + Space    基本的代码完成(类、方法、属性)Ctrl + Alt + Space  快速导入任意类Ctrl + Shift + Enter  &nbsp...

2020-05-22 17:03:09 2038

原创 依据某值对列表进行距离排序

给出一个列表和列表中的某值,根据列表各元素到该值的距离进行升序排序示例:lis = [1,2,3,4,5,6,7,8,9]x = 6输出:[6,5,7,4,8,3,9,2,1]实现代码如下:lis = [1,2,3,4,5,6,7,8,9]x = 6new_lis = []lis1 = []lis2 = []ind = lis.index(x)lis1 = lis[:ind]lis2 = lis[ind:]while lis1 or lis2: if lis2:

2020-05-09 07:26:04 264

原创 引入css的三种方式

1、 行内样式:使用标签的style属性,用于设置属性较少,且无法重用的场景2、 内联样式:在head中使用style标签,用于一个页面内部的多个位置的场景3、 外联样式:通过link标签引入外部CSS文件,用于多个页面使用相同样式的场景...

2019-09-27 20:13:27 289

原创 form表单提交文件时必须指定的两个属性

form表单提交文件时必须指定的两个属性method="post" enctype="multipart/form-data"

2019-09-27 20:06:11 1718

原创 开始一个flask项目

一、创建一个虚拟环境下载虚拟环境安装包pip install virtualenvwrapper-win #Windows下安装包pip install virtualenvwrapper #Linux下安装包创建虚拟环境mkvirtualenv 虚拟环境名称 [-p python的路径)]注:创建后会自动进入创建的虚拟环境中二、开始flask项目1、安装flask包...

2019-09-27 19:47:29 255

原创 使用简单三步开始一个django项目

一、创建一个虚拟环境下载虚拟环境安装包pip install virtualenvwrapper-win #Windows下安装包pip install virtualenvwrapper #Linux下安装包创建虚拟环境mkvirtualenv 虚拟环境名称 [-p python的路径)]注:创建后会自动进入创建的虚拟环境中二、 开始一个django项目1、安装dja...

2019-09-27 19:08:23 382

原创 Tornado简单的项目拆分模板

刚学习了tornado模板的建立,写此博客备忘一、目录结构注:static目录:用于存放静态资源(css,js,image…)templates目录:模板(html文件…)二、文件代码__init__.pyimport tornado.webfrom App.urls import patternsfrom App.settings import app_settings...

2019-09-03 18:56:22 314 1

原创 MySQL数据库索引分类

索引说明普通索引index,最基本的索引唯一索引unique,修饰的字段不能重复主键索引primary key,是一个特殊的唯一索引,一张表只能有一个主键(常用)全文索引fulltext,对全局的数据添加索引(不常用)添加索引: alter table table_name add index(field);删除索引: alter table ...

2019-08-13 08:44:55 172

原创 常用数据库及其分类

关系型数据库: MySQL,Oracle,SQLserver,SQLite…非关系型数据库: Redis,MongoDB…

2019-08-13 08:39:20 333

原创 Vim编辑器的操作

正常模式命令说明vim filename打开/新建一个文件ESC按键从插入模式切换到正常模式!v打开使用vim最后的文件光标定位vim filename +n打开文件,将光标定位n行,若不写n,定位到行尾ngg定位到n行,若不写n直接定位到首行G直接定位到尾行的行首ctrl+f下翻一屏ctrl+b上翻一屏...

2019-08-08 08:57:05 109

原创 Linux根目录的结构

目录说明/bin大多数的操作命令都在这个里面(binary)/boot系统启动的相关文件/cdrom挂载光盘的目录/dev设备文件(一切设备皆文件)/etc配置文件目录/home普通用户的家目录,一个用户应该对应一个文件夹/lib库文件/lib6464位的库文件/lost+found系统出现异常的时候保存的信息,...

2019-08-08 08:44:28 203

原创 进程(线程)锁、信号量、递归锁

进程锁(线程锁同进程锁相同,将模块以及创建进程改为线程即可)import multiprocessing #导入multiprocessing模块def func(lock): #lock.acquire #创建锁 with lock: #使用with lock:pass 语句,可以替代创建和释放锁的过程 pass #lock.release #释放...

2019-08-02 14:24:20 345

原创 进程创建

最常用的进程创建方法import multiprocessing #导入multiprocessing模块#主要参数:target为要执行的函数 args为传入的参数(元组形式)p = multiprocessing.Process(target = function,args = None)#创建进程p.start() # 开始进程p.join() #阻塞主进程...

2019-08-02 13:44:24 650

原创 协程创建

最常用的协程创建方法from gevent import monkey;monkey.patch_all()#导入猴子补丁,可以实现协程的自动切换import gevent #导入gevent模块gList = []for num in range(10): #循环创建 #主要参数:function:要执行的函数 args:传入的参数 g = gevent.spawn(fun...

2019-08-02 13:38:11 354

原创 线程创建

方法一(守护线程)import _thread #导入_thread模块#常用参数:function:线程要执行的函数 args:要传入的参数(元组形式)_thread.start_new_thread(function,args)#特点:随着主线程的结束而结束方法二(常用)import threading #导入threading模块#常用参数:target为线程执行函数,ar...

2019-08-02 13:27:15 139

原创 dict操作

dict操作#判断key是否在字典中Dict.has_key(key)#返回key对应的值Dict.get(key, default=None)#返回列表嵌套元组的键值对Dict.items()#获取字典所有key值Dict.keys()#获取字典所有value值Dict.values()#将Dict2更新到Dict中Dict.update(Dict2)#创建...

2019-07-31 20:23:04 175

原创 str操作

str操作汇总#将普通字符串以UTF-8格式编码成二进制字符串(有返回值)string.encode('UTF-8')#解码 (有返回值)string.decode('UTF-8')#返回char的ASCII值 (有返回值)ord(char)#根据ASCII值返回对应字符chr(code)#将其它类型的转为字符串str(obj) #(返回新串)#将字符串转为有效的...

2019-07-31 20:07:10 181

原创 list操作

列表操作len(list) #求列表长度max(list) #求列表中最大值min(list) #求列表中最小值list(tuple) #将元组转为列表list.append(value) #在列表末尾添加元素list.count(value) #查看指定元素的个数list.extend(list2) #将一个列表添加到另一个列表中list.index(val...

2019-07-31 19:45:20 149

原创 time模块

time模块import time #需要导入time模块localtime = time.time()print(localtime) #1562818723.9082382 为时间戳print(time.localtime()) #时间结构体 time.struct_time(tm_year=2019, tm_mon=7, tm_mday=11, tm_hour=12,...

2019-07-31 17:50:41 83

原创 random模块

random模块import random# 生成一个0到1的浮点数ret0 = random.random()print('ret=',ret0)#在指定区间生成一个整数[1,6]ret1 = random.randint(1,6)print('ret1=',ret1)#在指定区间生成一个整数[1,6)ret2=random.randrange(1,6)print('r...

2019-07-31 17:46:06 125

原创 os模块

os.getcwd() #获取当前路径os.path.abspath(filename) #获得绝对路径os.listdir(path) #列出指定路径下的所有文件和目录,返回列表os.path.basename(path)#返回指定路径的文件部分os.path.dirname(path) #返回指定路径的目录部分os.path.exists(path) #判断给出的路...

2019-07-31 17:33:56 83

原创 ?:的使用

先看如下代码:import restr = 'aabbbaafffccdddcc'patter = re.compile('(aa.*?aa)|(cc.*?cc)',re.DOTALL)date = patter.findall(str)print(date)执行结果如下:[('aabbbaa', ''), ('', 'ccdddcc')]这里我们想提取aa…aa或者cc…...

2019-07-30 09:38:51 3882

原创 正则修饰符

修饰符 描述re.I(re.IGNORECASE) 使匹配对大小写不敏感re.L(re.LOCALE) 做本地化识别(locale-aware)匹配re.M(re.MULTILINE) 多行匹配,改变 ^ 和 $行为re.S(re.DOTALL) 改变.的行为,使 . 匹配包括换行在内的所有字符re.U(re.UNICODE...

2019-07-30 08:54:19 146

原创 运算符重载

python基础语法中字典不能相加,如下:dict1 = {1:'1',2:'2',3:'3'}dict2 = {4:'4',5:'5',6:'6'}dict3 = dict1 + dict2print(dict3)执行结果:TypeError: unsupported operand type(s) for +: 'dict' and 'dict'如果我们重载__add__运...

2019-07-26 19:44:06 77

原创 函数重写

class Person: def __init__(self,name,hobby): self.name = name self.hobby = hobbyper = Person('小白','coding')print(per)执行结果:<__main__.Person object at 0x00000210C403F2B0>...

2019-07-26 19:21:05 142

原创 继承和多态

单继承完全继承基类,和基类属性方法一样class Person: def __init__(self,name): self.name = name def hobby(self): print('coding')#继承Person类class Per(Person): passp = Per('小白')print(p....

2019-07-26 09:38:20 101

原创 复制目录

python基础语法复制指定位置目录并将其拷贝到指定位置import os#将path1文件拷贝到path2文件def filecopy(path1,path2): with open(path1,'rb') as f: date = f.read() with open(path2,'wb') as fp: fp.wri...

2019-07-25 19:05:55 341

原创 copy与deepcopy

copy: 引用拷贝List1 = [1,2,3,[4,5,6]]List2 = List1.copy()List2[-1][0] = 7print(List1)print(List2)执行结果如下:[1, 2, 3, [7, 5, 6]][1, 2, 3, [7, 5, 6]]deepcopy:完全拷贝import copyList1 = [1,2,3,[4,...

2019-07-25 13:13:17 165

原创 面向对象模拟简单ATM

import random,timeclass Card: def __init__(self,cardnum,password,money,islock=False): self.cardnum = cardnum self.password = password self.money = money self.isl...

2019-07-24 20:52:17 320

原创 查看类、对象中属性、方法及其更改

现有Person类如下class Person: name = '小白' def hobby(self): print('coding')__dict__的使用作用:查看对象中属性及查看类中属性与方法per = Person()print(per.__dict__)print(Person.__dict__)执行结果如下:{'age': 20...

2019-07-24 17:44:39 1474

原创 类、对象及self的使用

!!!self备忘录有如下一段代码class Myself: name = '小白' age = 20 def func1(self): self.hobby = 'coding't1 = Myself()print(t1.__dict__)执行结果:{}可以看到此时对象t1中没有任何属性,此时我们调用一下函数func1class My...

2019-07-23 08:55:25 568

原创 类的定义及类中属性的访问

!!!类的定义备忘录类与对象的关系:类是对象的抽象,对象是类的具体体现类的简单定义及对象的访问:class myself(): name = '小白' sex = 'man' hobby = 'coding' def introduce(self): print('大家好,我是%s'%self.name)pre = myself()prin...

2019-07-22 17:18:25 1055

原创 pygame音乐播放器

哈哈 今天又了解了一个有趣的东西,是关于pygame模块播放音乐的,这里就不多说了,直接撸代码吧#!Users\29589\AppData\Local\Programs\Python\Python36#-*- author:shuliming -*-import pygame,randomdef welcome(): print(''' *****************...

2019-07-20 13:36:21 1025

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除