- 博客(96)
- 收藏
- 关注
原创 js中var和let的区别
var是JavaScript刚出现时就存在的变量声明关键字,而let作为ES6才出现的变量声明关键字,无疑两者之间存在着很大的区别。那么具体有哪些区别呢?
2023-04-01 18:22:17
458
原创 Python中的负数取余问题
12 % 5, -12 % 5# output# (2, 3)在数学里,"负数取余"遵循的是:如果 a 与 d 是整数,d 非零,那么余数 r 满足 a = q * d + r, q 为整数,且 0 <= |r| < |d|。由此可见,我们的被除数 a = 12, 我们的商 d = 5,那么有两个余 r 满足条件,分别是一个负的余数 r1 = -2 和正的余数 r2 = 3,并且总有规律 r1 + r2 = d。在计算机语言中,同号的整数运算,所有语言都遵循尽量让商小的原则.
2022-04-29 14:06:13
3879
1
原创 python实现简易版连连看
小时候熟悉的连连看游戏的简易版,需要自己创建imgs文件夹,里面放置1-12张图片,命名为n.png,还有bg.png和win.png 打开游戏开始计时,玩家点击相同的图案即可消除。可以通过游戏时间的长短来进行pk。# coding:utf-8import pygame, sys, random, timefrom pygame.locals import *# 初始化pygame环境pygame.init()# 创建窗口canvas = pygame.display.set_mode..
2021-10-29 10:52:18
3059
1
原创 Django2.2版本中路由变化url到path
2.2版本的django中路由从原来的url换成了path,有一些常见的写法也发生了一些微妙的变化,用起来算是更方便了更简单的URL路由语法 (Simplified URL routing syntax) admin应用的针对移动设备的优化改进(Mobile-friendlycontrib.admin) 支持SQL开窗表达式(Window expressions)新增了的django.urls.path函数,它允许使用一种更加简洁、可读的路由语法。比如之前的版本的代码:二级路由中用正则匹配..
2020-08-08 19:43:46
806
原创 DecodeError: ‘gbk‘ codec can‘t decode byte 0xa6 in position 9737: illegal multibyte sequence
Django2.2版本安装之后,runserver出现以下错误 File "D:\python123\anaconda\lib\site-packages\django\views\debug.py",line 332, in get_traceback_html t = DEBUG_ENGINE.from_string(fh.read())UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 9737: i
2020-08-08 15:26:46
744
原创 Django2.2中数据库迁移TypeError: __init__() missing 1 required positional argument: ‘on_delete‘
models.py中建表代码如下class Student(models.Model): …… grade = models.ForeignKey('grade')执行数据库迁移语句python manage.py makemigrations报错如下: File "E:\work\test\Students\myApp\models.py", line 12, in <module> class Student(models.Model):
2020-08-08 14:06:42
273
原创 Django项目启动 AttributeError: ‘str‘ object has no attribute ‘decode‘ 问题
错误提示:File "D:\python123\anaconda\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query query = query.decode(errors='replace')AttributeError: 'str' object has no attribute 'decode'问题原因: 从 Error信息中可以得知,这是.
2020-08-08 11:20:47
2469
2
原创 python中一次性输入多个数字并去重排序
先来两个数字举例子:a,b =input('输入a,b空格隔开:').split()#此时a,b为str型a,b =map(int,input('输入a,b空格隔开:').split())#此时a,b为int型输入多个数字写法:nums = list(map(int, input().split()))list1 = [] #定义一个空列表str1 = input("请输入数值,用空格隔开:") list2 = str1.split(" ") #list2用来存储输入的字.
2020-08-07 15:20:37
7836
原创 python中常用的序列求和方法
输入正整数n,输出1+2+3+……+n-1+n的和函数求和n = int(input('请输入想求和的数字:'))print(sum(range(1,n+1)))高阶函数reducefrom functools import reduce n = int(input('请输入想求和的数字:')) print(reduce(lambda a,b:a+b,list(range(1,n+1))))#普通求和n = int(input('请输入想求和的数字:'))sum = 0fo
2020-08-07 11:11:18
5126
原创 python高阶函数map、filter、reduce用法解析
这三个函数均为高阶函数,其也为Python内置的函数,一般会选择与lambda匿名函数结合使用map函数接收的是两个参数,一个函数,一个序列,其功能是将序列中的值处理再依次返回至列表内。其返回值为一个迭代器对象--》例如:<map object at 0x00000214EEF40BA8>。其用法如图:m_list = [2,3,4,5,6,7]new_list = list(map(lambda a:(a+3),m_list))print(new_list)结果,如果是判
2020-08-07 10:04:49
255
原创 django数据库迁移时候异常
一不小心看了一个python2.0版本下的django项目,然后发现被坑到了,问题共享一下一.错误信息Django在根据models生成数据库表时报init() missing 1 required positional argument: 'on_delete'二.原因在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:TypeError: init() missing 1 required positio.
2020-08-06 17:58:31
215
原创 Python多进程、多线程、协程概念及用法详解
说明进程:是操作系统进行资源分配的最小单元,资源包括CPU、内存、磁盘等IO设备等等线程:是CPU调度的基本单位。进程:系统分配资源的载体,是程序运行的实例;线程:程序执行的最小单元,是进程中的一个实体用来执行程序,一个进程中有多个线程。为什么有人说 Python 多线程是鸡肋?在我们常识中,多进程、多线程都是通过并发的方式充分利用硬件资源提高程序的运行效率,怎么在 Python 中反而成了鸡肋?因为 Python 中臭名昭著的 GIL。那么 GIL 是什么?为什么会有.
2020-07-30 18:11:14
430
原创 Python中字典的键可以为元组但不能为列表
字典中的键可以是元组,但不能为列表,因为元组是不可变的,而列表是可变的。python中要求字典中的键是不可变的,如字符串、数字或元组,而值则可以取任何数据类型。当字典的键为列表时,系统会报错:...
2020-07-30 11:56:34
7541
原创 通常怎么进行sql优化
在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,总结一些方法如下:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is nu...
2020-02-26 17:00:04
5922
原创 jQuery方法parents()和parent()
前两天看有朋友问parents()和parent()方法的区别,自己也比较好奇,就稍微研究了一下,接下来是部分自己的见解,和大家共勉。拿列表的层级为例来解释这个问题:<ul class="level-1"> <li class="item-i">I</li> <li class="item-ii">II <ul cla...
2020-02-26 11:50:40
5640
转载 Python文件封装成exe文件
封装过程 安装pyinstaller模块 使用Windows+R输入cmd打开cmd命令窗口,pyinstaller模块依赖于pywin32模块,所以先输入pip install pywin32安装pywin32模块,然后输入pip install pyinstaller以安装pyinstaller模块 开始封装 新建一个文件夹(此例文件夹名为fz),将要封装的python文件放进去(...
2019-12-25 16:43:41
5731
原创 python的if-else语法
python的if-else语法是我们学习这门语言时遇到的最基础的语法,下面我们来讲一讲关于if-else语法的几种变化形式。1、常规形式的写法 if x > y: w = x else: w = y2、变形一 w = x if x > y else y这种形式也是我们...
2019-11-22 13:22:36
6157
原创 python的turtle库的应用——时钟
我们来做一个时钟:具体图示如下:代码部分# coding=utf-8 import turtlefrom datetime import * # 抬起画笔,向前运动一段距离放下def Skip(step): turtle.penup() turtle.forward(step) turtle.pendown() def mkHand(...
2019-10-18 18:52:39
5712
原创 python的turtle库
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。turtle绘图的基础知识:1. 画布(canvas) 画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。 设...
2019-10-18 18:51:18
993
1
原创 python的turtle库的应用——叠加的实心菱形
我们尝试用turtle库绘制两个折叠的菱形具体如下所示:具体代码如下:#导入海龟库,time时间库,math数学相关库from turtle import *import timeimport math#创建画菱形的方法,传递三个形式参数:颜色,边长,画笔旋转角度def draw_rh(fill_color,len_side,angle): #设置绘制的颜色和填充...
2019-10-18 18:46:52
2505
原创 Python 爬虫面试题 170 道:2019 版(带答案)
× Python 常见的 170 道面试题全解析:2019 版 语言特性1. 谈谈对 Python 和其他语言的区别2. 简述解释型和编译型编程语言3. Python 的解释器种类以及相关特点?4. Python3 和 Python2 的区别?5. Python3 和 Python2 中 int 和 long 区别?6. xrange 和 range 的区别?编码规...
2019-09-19 15:06:18
8693
1
转载 MyQR源码解读
MyQR源码来自于github上的sylnsfar/qrcode项目,大家可以通过克隆的方式下载源码来学习,可以使用如下命令行:Code/ $ git clone https://github.com/sylnsfar/qrcode.git如果下载速度较慢的话,也可以下载我们服务器上面的源码,可以通过如下命令:Code/ $ wget http://labfile.oss.ali...
2019-06-28 17:07:33
1982
原创 python3库MyQR生成二维码
python中有一个好玩的库,不仅可以生成各种花色的二维码,还可以生成动态二维码。MyQR是一个能够生成自定义二维码的第三方库,可以根据需要生成普通二维码、带图片的艺术二维码,也可以生成动态二维码效果图如下:首先安装MyQR库,直接用pip install myqr(or MyQR)。需要注意的是MyQR依赖于python3,在python2的环境下可能无法正常运行1.生成...
2019-06-28 16:59:10
1823
原创 用falsk写一个简单的接口
用falsk写一个简单的接口,这个接口的数据本来是爬虫爬取的数据,但是今天只写一个flask接口,数据就用测试数据好了。import randomimport reimport timeimport requestsimport flask,jsonfrom flask import requestserver = flask.Flask(__name__)@server...
2019-06-28 15:36:04
897
原创 用redlock实现redis的分布式锁
本文是一个demo,利用多进程,来模拟使用redis分布式锁的使用场景。本机需要安装redis,python3.7下运行代码。分布式锁用redlock这个包实现,实现步骤分三步:实例化锁:rlock = RedLock('test',[{'host': 'localhost','port': 6379,'db': 0,}]) 获取锁:rlock.acquire(),获取锁之后才能执行程序。...
2019-06-28 15:31:44
917
原创 反反爬虫技术:解决网站字体加密
爬虫遇到的问题最近在用爬虫程序爬一些网站的时候发现爬到的数据出现乱码,不能正常显示:如上图我们可以发现有些数据的数字变成了加密字体,我就去查看了一下网站的代码,结果发现网站的代码显示是这样的:原来有些网站上使用了字体加密技术,为了解决这个问题,我找了大量的资料,可是网上的很多方法由于网站反爬技术的进步或者网站更新了字体加密规则已经不能使用了,于是我就开始了破解字体加密的艰辛历程。解决方...
2019-06-27 18:13:28
1159
原创 HTTP和协议及其区别
HTTP和HTTPSHTTP(HyperText Transfer Protocol 超文本传输协议):是一种发布和接收 HTML页面的方法,用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。HTTP是客户端浏览器或其他程序与Web服务器之间...
2019-06-27 18:03:13
1008
原创 TCP和UDP协议及其区别
***TCP(Transmission Control Protocol 传输控制协议):***是一种面向连接的、可靠的、基于字节流的传输层通信协议,使用三次握手协议建立连接、四次挥手断开连接。面向连接意味着两个使用TCP的应用(通常是一个客户端和一个服务器)在彼此交换数据包之前必须先建立一个TCP连接。在一个TCP连接中,仅有两方进行彼此通信,广播和多播不能用TCP。TCP 协议的作用是,保证数...
2019-06-27 18:00:39
791
转载 八人过河问题详解
在秋招面试搜狗大数据开发岗位的时候,面试官给出了一个八个人过河的问题,后来自己查了之后发现这个是经典过河问题的一个变型。网上也有其他求解这个问题的方法和代码。他们大多数是把所有的状态看作一个图数据,用矩阵表示,有的还需要提前把安全的状态判断出来,需要手动处理一些数据。我写的这个方法,不需要手动处理任何数据,直接就能运行出结果,最后为了更直观的展示,还会打印出找到的路径。问题描述:现在有...
2019-06-20 18:36:07
3657
原创 农夫过河问题(图结构)
【题目介绍】:所谓农夫过河问题是指农夫带一只狼、一只羊和一棵白菜在河南岸需要安全运到北岸。一条小船只能容下他和一件物品只有农夫能撑船。问农夫怎么能安全过河。当然,狼吃羊,羊吃白菜,农夫不能将这两种或三种物品单独放在河的一侧,因为没有农夫的照看狼就要吃羊,而羊可能要吃白菜? 这类问题的实质是系统的状态问题, 要寻求的是从初始状态经一系列的安全状态到达系统的终止状态的一条路径。【问题...
2019-06-20 18:31:28
9735
原创 回溯算法---过河问题(商人过河)
过河问题: 有三个商人和三个仆人过河,只有一条能装下两个人的船,在河的任何一岸上,如果仆人的人数大于商人的人数,那么该岸上的商人就会有危险。你能不能找出一种安全的渡河方法呢? 过河问题是一个比较出名的问题,借解这个问题的同时,我们来讲讲回溯算法. 首先,我们来分析下问题,商人们要过河,无非就是实现从全部未过河的状态到全部过河的状态.那么,问题可以转变为这样: 左岸:商人...
2019-06-20 18:21:38
6536
原创 python-time,datetime
工作中多次遇到时间戳的处理,每一次都感觉没那么熟练,现在将时间戳和时间日期之间的转化总结一下:第一步:导入模块# 引入模块import time, datetime1、str类型的日期转换为时间戳# 字符类型的时间tss1 = '2013-10-10 23:40:00'# 转为时间数组timeArray = time.strptime(tss1, "%Y-%m-%d ...
2019-06-20 18:17:32
795
原创 数据库事务是什么?
你用支付宝去去超市买东西,100块钱转给超市,其实这是两步:第一步,在支付宝数据库中你的账户减去100; 第二步,在超市的支付宝账户上加上100元,交易完成;但是如果第一步完成了,还没执行第二步的时候,停电了会发生什么呢?会发生,你的账户减少了100块,超市的账户金额没变,这不就出现问题了,不得打架了吗?为了解决这个数据一致性问题,数据库事务应运而生。数据库事务是指一个逻...
2019-06-20 16:48:25
791
原创 爬虫scrapy框架
其实,做爬虫工作,大部分会选择的框架就是scrapy,但是scrapy具体优势如何进行工作呢,这里简单的说一下个的理解。Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型...
2019-06-20 15:59:02
745
转载 爬虫加代理常用的三种方式
第一种:selenium加上代理,selenium主要是实现自动化登录验证等操作1.Selenium调用代理 from selenium import webdriver proxy='123.58.10.36:8080' chrome_options=webdriver.ChromeOptions() chrome_options.add_argument('-...
2019-06-20 15:50:10
3508
原创 数据分析方法论和数据分析方法
如何理解数据分析的方法论问题?首先,数据分析方法论就如同国家的方针政策,指导和决策我们分析的方向。从宏观角度知道如何进行数据分析,就像是一个数据分析的前期规划,知道着后期数据分析工作的开展。数据分析法则就是指具体的分析方法,例如我们常见的对比分析、交叉分析、相关性分析、回归分析、聚类分析等数据分析法,数据分析法则是从微观角度指导我们如何进行数据分析。那么,数据分析方法论的作用有什么呢?...
2019-06-20 15:47:19
968
原创 Python 对excel文件的读写
import xlwtbook = xlwt.Workbook(encoding='utf-8', style_compression=0)"""创建一个Worlbook对象,相当于创建一个Excel文件"""sheet = book.add_sheet('test1',cell_overwrite_ok=True)"""创建好的excel文件一般有sheet1,sheet2...
2019-04-18 15:19:33
921
转载 Python3 爬取今日头条(模拟ajax请求)
Python3 爬取今日头条(模拟ajax请求)注:本文是跟据博主崔庆才的博客来写的,不单单是思路值得学习,还有代码规范更值得去学习。路漫漫其修远兮,吾将上下而求索。新建一个config.py文件,如下MONGO_URL = 'localhost'MONGO_DB = 'toutiao'MONGO_TABLE = 'toutiao'GROUP_START = 1GROUP_E...
2019-04-18 15:17:20
1148
原创 Python pygame
1.安装Pygame模块 pygame 就是一个 Python 模块,专为电子游戏设计网站栏目内容 GettingStarted在各平台安装模块的说明 Docspygame 模块所有 类 和 子类 的参考手册安装 pygame(pip install pygame)$sudo pip3 install pygame ...
2019-03-08 13:58:21
1254
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人