自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 收藏
  • 关注

原创 python web:Django分页器的使用

如何使用Django分页器

2022-08-15 16:06:11 345 1

原创 python web 学习:装饰器记录接口调用——日志

当我们需要记录每个接口被调用时,总不能每次都写一遍数据库插入操作来记录该接口被调用了吧,这样会不仅显得啰嗦而且很呆。这时可以使用装饰器来进行该操作,我是使用了session来记录接口调用是否成功。主要记录了调用接口请求方法、IP、API(接口函数名)、返回消息。get_userInfo函数的封装。比如我的视图函数如下。...

2022-08-10 11:38:59 430

原创 python学习:使用ajax传输数据及注意事项

当数据传输到指定路由视图完成操作后,需要向前台页面返回结果或传输数据,这是只需returnJsonResponse(“数据”),即可将数据返回到ajax并接受数据,如上代码success函数中result则是接收到的返回数据。一般使用非submit按钮时(如button按钮),这时提交数据就需要使用到ajax,下面是ajax的使用方式。...

2022-07-19 11:56:56 792

原创 python学习:华为坐标移动题

题目:开发一个坐标计算工具, A表示向左移动,D表示向右移动,W表示向上移动,S表示向下移动。从(0,0)点开始移动,从输入字符串里面读取一些坐标,并将最终输入结果输出到输出文件里面。输入:合法坐标为A(或者D或者W或者S) + 数字(两位以内)坐标之间以;分隔。非法坐标点需要进行丢弃。如AA10; A1A; %; YAD; 等。下面是一个简单的例子 如:A10;S20;W10;D30;X;A1A;B10A11;;A10;处理过程:起点(0,0)A10 = (-10,0)S

2022-05-28 19:50:00 141

原创 TCP:创建TCP客户端

创建TCP客户端不需像创建TCP服务器那样麻烦,创建TCP客户端就像我们打电话,只需要两步即可:1.找电话亭。2.输入号码。即:#导入socketimport socket#创建TCP/IP套接字s = socket.socket()#连接的主机地址host = "127.0.0.1"#连接的端口号port = "8080"#创建连接s.connect((host,port))#输入发送数据words = input("请输入要发送的数据:")s.send(words.enc

2022-04-23 16:47:21 2254

原创 TCP编程:创建TCP服务器

创建TCP服务器对比手机接听记忆:1.买手机2.买手机卡并插入手机3.将手机设置为接受来电4.等待来电创建TCP服务器:1.使用socket创建一个套接字。2.使用bind绑定IP与端口。3.使用listen使套接字变为可以被动连接。4.accept等待客户端的连接。5.使用recv/send接收发送数据。实现"Hello world"代码如下import sockethost = "127.0.0.1"port = 8080web = socket.socket()web.

2022-04-23 16:00:15 3263

原创 Django学习:DEBUG=True时前台无法加载,DEBUG=False时管理后台无样式问题

在生产和环境中出于安全性问题,我们需要将setting.py文件中的DEBUG设置为false,这时后台管理页面样式会丢失。问题如图:问题原因:django的生产环境不同开发环境,在生产环境下(DEBUG=False),django.contrib.staticfiles不起作用,也就是说django.contrib.staticfiles只对开发环境(DEBUG=True)生效,所以导致后台样式丢失。只需在setting.py文件最后添加STATIC_ROOT = os.path.join(B

2022-04-06 16:54:55 1878

原创 爬虫apscheduler:定时调度

“interval”,“date”,"cron"不同用法:interval:每隔一定的时间进行调度任务。date:在设定的时间调度任务,但是只能执行一次。cron:在设定的时间调度任务。from apscheduler.schedulers.blocking import BlockingSchedulerimport datetimedef my_task(): time = datetime.datetime.now() print(time)blockingSchedul

2021-11-29 21:22:58 313

原创 python学习:python代码连接数据库

#导入pymysqlimport pymysql#与数据库建立连接conn = pymysql.connect(user="用户", password="密码", host="127.0.0.1", database="数据库名", port=3306,charset="编码方式(utf8)")#建立游标cursor = conn.cursor()#要执行的sql语句sql = "select title,pubtime from news where pubtime >= '2021-

2021-11-27 15:21:49 1644

原创 python面试题:冒泡排序及思路

冒泡排序思路(小到大排列):假设最小的数排在列表的最后面,我们如何把它排在第一位呢?我们可以这样想:让列表中的数两两比较,大的数往后排,小的数往前排。#冒泡排序list1 = [15, 12, 16, 1]lenth_list = len(list1)#i代表让list1循环排序几次,本例中循环3次,1便可从最后一位排到第一位for i in range(lenth_list-1): """ j代表索引,主要为了让相邻数字两两比较。 当j=2时,本次i循环结束,我们可以看到1向前进了一

2021-11-24 20:11:41 909

原创 python爬虫工具包:封装sql向数据库导入数据

注意:database:指连接的哪一个数据库cache_count:指的是每20条数据插入一次执行插入调用时,输入的参数格式为:实例.insert(“表名”,列表,列表)import pymysql#执行sql提交关闭class MySQLHelper: def __init__(self,user="root", password="",host="127.0.0.1",database="spider", port=3306,charset="utf8",cache_count =

2021-11-23 16:26:17 681

原创 python面试题:金字塔

"""n代表循环次数"""def pyramid(n): for i in range(1,n+1): print(" "*(n-i)+(2*i-1)*"*")pyramid(10)

2021-11-23 16:14:21 565

原创 python爬取“唯一图库->美图“前11页高清大图代码

import osimport requestsfrom lxml import etreepage = 1while page <= 11: url = f"https://www.mmonly.cc/mmtp/qcmn/list_16_{page}.html" page+=1 headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

2021-11-14 21:33:59 853

原创 js学习:js倒计时

这是js倒计时脚本的写法,写给身为小白的自己let time = 5;let playing = false;playing = setInterval(function(){ time--; if(time <= 0){ //停止轮询 clearInterval(playing); } console.log(time)}, 1000)

2021-10-11 17:55:23 43

原创 RSA:公钥加密与私钥解密

公钥加密与私钥解密都需要安装rsa,安装代码如下pip install rsa公钥加密:import rsa#如何生成public.pem在前面“生成公钥与私钥”文章中已说过with open("public.pem", "rb") as f: public_key_bytes = f.read() #将公钥对应 的流转成公钥对象 public_key = rsa.PublicKey.load_pkcs1(public_key_bytes) #定义要加密的字符串

2021-10-11 17:50:01 1978

原创 RSA生成公钥与私钥

首先需要安装 rsa :pip install rsa生成公钥与私钥代码如下:import rsa# Create your tests here.#生成公钥和私钥public_key, private_key = rsa.newkeys(2048)#获取公钥对应的流public_key_bytes = public_key.save_pkcs1()#将流存到磁盘文件中with open("public.pem", "wb") as f: f.write(public_k

2021-10-11 17:30:44 2137

原创 jQuery学习: lt与gt

:lt (less than)选择器选取带有小于指定 index 值的元素。:gt (greater than)选择器选取 index 值高于指定数的元素。两者的index值都是从0开始,代码用法如下:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>lt与gt</title> <script src="js/jquery-3.6.0.j

2021-10-02 20:31:19 907

原创 jQuery学习: ready和onload区别

区别:1、加载程度不同document.ready:是DOM结构绘制完毕后就执行,不必等到加载完毕。意思就是DOM树加载完毕就执行,不必等到页面中图片或其他外部文件都加载完毕。onload:是页面所有元素都加载完毕,包括图片等所有元素。2、执行次数不同document.ready可以写多个.ready,可以执行多次,第N次都不会被上一次覆盖。onload只能执行一次,如果有多个,那么第一次的执行会被覆盖。3、执行速度不同onload除了要等待DOM被创建还要等到包括大型图片、音频、视频在内的

2021-10-01 17:45:52 716

原创 Ubuntu中在pycharm中使用mysql

首先我们需要在pycharm下方的Terminal中输入:pip install pymysql 安装pymysql,然后创建一个py文件然后导入数据库模块,代码中使用了抛错处理,可让代码执行的是否有结果清晰可见。import pymysql#导入模块try: con = pymysql.Connect(host='0.0.0.0',port=3306,user='root',passwd='123456') #建立链接实例 cur = con.cursor() #创建游标实例

2021-09-14 19:41:27 337

原创 Linux学习:使用nginx部署vue

首先你要确定你的Ubuntu是否安装了nginxps-ef | grep nginx若未安装则需要输入以下代码安装一下sudo apt install nginx之后需要将windows中的项目传输到Ubuntu中,有两种办法第一种是:打开项目所在位置输入cmd打开windows的黑窗口,如图我们需要传输font文件时输入cmd,回车弹出黑窗口,scp远程传输格式:scp FileName RemoteUserName@RemoteHostIp:RemoteFile例:scp front

2021-09-10 20:26:27 106

原创 js学习:for of 与for in 的区别

区别:for of求的是数组中每个元素的索引for in是遍历数组中每个元素let arr=[1, 3, 5, 4, 6]for(let i of arr){ console.log(i) }打印结果如下:13546由此我们可以看出来for of的作用是遍历数组中的元素再看for inlet arr=[1, 3, 5, 4, 6]for(let i in arr){ console.log(i)}打印结果01234由此可见打印的是每个元素的索

2021-09-03 16:39:44 49

原创 js学习:区分内联,内部,外部 与getComputedStyle获取元素内部或外部样式表并修改

首先我们知道内联,内部,外部是三个不同的区域:内联:内联是body中标签的内部内部:内部是heah中style样式内外部:外部则是插入的新建的css用getComputed获取元素:1、一般获取元素的内联样式可以直接使用.style2、获取元素的内联样式表、内部样式表、外部样式表则使用getComputedStyle(目标) 使用方法如:getComputedStyle(span)3、设置任何元素的样式都可以用过.style.属性名 如:.style.color=“red”如下例子要获

2021-09-01 12:57:16 542

原创 js学习:switch中的case语句中没有break程序流程分析

switch规范写法举例:switch(“事件一”) { case “事件一”: console.log("事件一") break; case 事件二: console.log("事件二") break; default: console.log("没有匹配到事件")} 由上代码可以看到,如果第一个case后面有break时,会输出 “事件一”如果第一个case后面没有break,那么程序

2021-08-30 12:40:26 5272

原创 Python学习:choices()的相对权重与累加权重理解

**choices(population, weights=None, *, cum_weights=None, k=1)**population:集群。weights:相对权重。cum_weights:累加权重。k:选取次数。import randomlist1 = [1, 2, 3, 4, 5]choose1 = random.choices(list1, k=5) #list1中各个元素出现次数基本持平choose2 = random.choices(list1, weights=

2021-08-21 23:04:54 3565

原创 Python学习:choice()与choices()、sample()的区别

choice(seq): 从seq序列中(列表,元组,字符串)随机取一个元素返回choices(population, weights=None, *, cum_weights=None, k=1),是从其中进行放回抽样选取,weight表示相对权重,population中有几个元素就要有相对应的weights值,cum_weight表示累加权重,k表示选取一个元素返回的是列表sample(population, k),从population中无放回取样(即抽样选取时不会出现重复现象),一次取k个,返回

2021-08-21 22:11:40 5682

原创 动态添加实例属性

动态添加实例属性如果随意添加属性那么封装将变得不安全了。可以通过__slots__限制添加的内容class People: __slots__ = ('speed') #用法__slots__ = ('你想添加的属性')people = People()people.speed = 100print('people.speed:', people.speed)打印结果:people.speed: 100如果你想再添加一个属性people.weight = 120class Pe

2021-08-12 14:34:43 160 1

原创 raise主动抛出异常

raise用于主动抛出异常try: #try表示我执行一段代码没有信心保证它是正确的,我试着去让它执行 raise NameError('名字有问题') #在这主动抛出错误except NameError as e: print(e)其执行结果如下:C:\python软件\Python37\python.exe D:/python/10错误处理/practice/20210811/practice4.py名字有问题Process finished with exit code

2021-08-11 12:43:31 156

原创 私有属性的更改方法

一般在python中默认存在一种君子协议,即尽量不要改人家的私有属性。如果一定需要更改可以用以下例子,此方法仅供参考。class Number: __x = 0 y = 1 def get_x(self): return self.__x def set_x(self, c): self.__x = c def fun1(self): return self.__x + self.ynumber = Nu

2021-08-09 17:56:01 176

原创 在python中私有属性的用法

在python中私有属性是指作者内定的一种属性,一般不建议更改私有属性,当然也不是不可以更改,可以利用 类名.属性名 来更改。下面是私有属性的用法class Role: ph = 0 mp = 0 exp = 0 __bms = 100 #基础移动速度 mr = 0 #魔防 defence = 0 #物防 def __init__(self, ph, mp, exp, mr, defence): self.ph = ph

2021-08-09 17:46:22 150

原创 学生电话簿管理Python

import randomlist1 = []while True: number = int(input('请输入(1, 2, 3, 4, 5, 6, 7):')) if number == 1: print('添加学生信息') name1 = dict() name = input('请输入姓名:') name1['name'] = name num = input('请输入电话:') n

2021-08-04 14:42:46 162

原创 python学习: __name__与__main__

__ name __ = ‘__ main__’被调用模块存在的意义:调用我想要的那部分此函数用意在于当一个模块被调用时,如此模块不作为主程序(程序员手动去执行的模块)去运行,而是被调用时,不属于函数的部分或是类的部分的代码将会主动执行。此时我们需要用__name__ = ‘__ main__’ , __ name__说的是被调用的模块名,意思是当模块名等于main时才会执行,而main是谁被主动执行谁的模块名就叫main被调用模块属于被动,即被调用模块名不等于main,所以当模块被调用时在

2021-08-02 18:06:16 282

原创 python模块的四种导入方法与区别

语法一:import + 模块名语法二:import + 模块名 + as + 别名语法三:from + 模块名 + import + *以上均为全部导入前两者的区别在于当调用模块名很长时,可选择第二种后两者的区别在于当使用第二种语法导入函数是需要别名作为前缀如:别名.fun()而使用第三种语法时可直接使用:fun()但是当程序中导入多个模块时第三种语法不易区分fun()来自于哪个模块,此时就体现了第二种语法的好处(因为它使用时带前缀即别名)语法四:from + 模块名 + import

2021-07-30 19:34:48 2454 4

原创 lambda函数使用方法

在这里插入代码片def sum(num1, num2):return num1 + num2a = 1b = 2print(sum(a, b))#平时像上面这样只调用一次函数求a+b中,此时我们可以选择不调用函数,使用lambda表达式即可如下代码a1 = 1b1 = 2sum1 = lambda a1,b1: a1 + b1print(sum1(a1, b1))#以上为使用lambda表达式#lambda 参数列表:表达式#这是lambda声明函数的一般形式...

2021-07-28 21:54:17 116

原创 在面向对象中注意调用函数时def后边不可与定义名字一样,否则系统会不显示你想调用的信息,代码如下

系统代码:<bound method Staff.name of <__main__.Staff object at 0x0000016C3D08E390>>

2021-07-27 21:39:48 211

空空如也

空空如也

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

TA关注的人

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