自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 java中的异常(Exception)

异常错误的情况下,java中会阻止当前方法或作用域的情况,称之为异常分类Throwable 是可抛出异常的接口,一般由虚拟机抛出,或者运行的时候由持续抛出Error: 持续无法处理的错误,一般是虚拟机的错误,通常有Virtual MachineError(虚拟机运行错误),当jvm耗完出现OutOfMemoryErrorException: 持续本身可捕获并处理的异常运行时异常(不受检异常): RuntimeException 白哦是JVM运行期间可能出现的错误,编译器不会检查此

2021-04-28 00:25:55 163

原创 java枚举的使用

枚举类型Java中的枚举类型,可以用来替换常量的声明默认在里面是计数的,从0开始,一直到你定义的多少个变量的n-1以前的做法private fianl int red = 1;private final int yello = 2;现在的做法public enum Color{ RED,YELLOW}简单使用enum Color{ RED,YELLOW,WHITE}class Demo{ main(){ // 直接使用,

2021-04-27 19:16:26 210

原创 图的最短路径算法

图的最短路径算法dfs使用dfs遍历计算最短路径void dfs(int cur,int dst){ //当前的路劲大于之前的最短路劲就不用走了 if(minpath < dst) return; //临界条件,当走到终点n if(cur == en){ if(minpath > dst){ minpath = dst; return; } } for(int

2021-04-19 15:59:22 478

原创 grep的简单使用

Grep在file…文件中找到能够匹配pattern字符串的行基本格式grep 要匹配的符号 要进行匹配的文件grep pattern file...pattern 支持正则表达式^ 匹配开头$ 匹配结尾[a-z] 匹配a-z字符集\d 匹配一个数字. 匹配任意字符一次量词* 匹配前面的字符任意次? 匹配前面的字符0次或1次{n,m} 匹配前面的字符n到m次,比如{1,3}则最少匹配1次,最多匹配3次File 可以是一个文件也可以多个文件一个文件:

2021-02-25 11:07:08 162

原创 cron表达式

cron表达式结构从左到右: 秒 分 小时 月份中的日期 月份 星期中的日期 年份各字段含义字段允许值允许的特殊字符秒0-59, - * /分0-59, - * /小时0-23, - * /日期(DayofMonth)1-31, - * / L W C月份1-12或JAN-DEC, - * /星期(DayofWeek)1-7或SUN-SAT(1-SUN), - * / L C #年(可选,留空)(Y

2021-02-23 15:47:23 114

原创 利用后缀表达式实现一个简单的计算器

前缀表达式运算符在数字的前面,1 + (2 + 3) * 4 - 5 (中缀)- + 1 * + 2 3 4 5 (前缀)前缀表达式的计算方法和后缀表达式类似,只是变成了从右往左扫描中缀表达式运算符在中间,运算时需要考虑运算符优先级1+2*3-5要先算2*3....后缀表达式运算符在数字的后面,运算时不考虑优先级,只需要遇到符号,就把他前面的两个数字进行运算就好了例如: a b c + + 即: a + (b + c)1 + (2 + 3) * 4 - 5

2021-02-20 10:53:25 1046 2

原创 git简单使用

简单使用创建新仓库git init克隆仓库git clone /path/to/repository//远程git clone username@host:/path/to/repository添加与提交//添加到缓存区git add <filename> git add *//提交改动git commit -m "提交信息"//此时已经提交到HEAD,但是还没有到你的远程仓库推送改动//连接到远程服务器git remote add orig

2020-12-22 10:32:59 73

原创 归并排序,Python实现

归并排序归并排序的思路是先把列表分为多个(这里分为2个),然后分别对这两个子列表进行排序,当两个子列表有序之后,把他们再合并起来,这样结果就也是有序的了#python3代码#归并排序def my_sort(arr,l,r): if r - l <= 1: return arr[l:r] mid = l + (r-l)//2 def hebing(l,r): ''' 合并 ''' re

2020-12-16 09:40:35 128

原创 python实现最大堆

python实现最大堆堆是利用的完全二叉树的性质,并且利用数组来实现的一种特殊数据结构堆的应用场景堆排序优先级队列高性能定时器取中位数实现堆的关键堆的维持(从上到下,从下到上)压堆获得堆顶具体实现代码class myHeap(object): ''' max heap ''' def __init__(self): self.heap = [] def add(self,item): self.he

2020-12-09 10:57:38 506

原创 使用快速排序对链表进行排序

使用快速排序对链表进行排序本文代码使用python3语法#链表节点class Node(): def __init__(self,val): self.val = val self.prev = None self.next = None#链表class LinkedList(object): def __init__(self): self.head = Node(-1) #添加 .

2020-11-12 11:28:21 539 1

原创 http协议

http协议当我们在浏览器访问网站的时候 ,我们

2020-09-21 23:20:52 264

原创 python3列表推导式从入门到精通

列表推导式列表推导式是python3中的一个语法糖可用于快速迭代一个可迭代对象并将结果存储在列表中#基本语法#iterable是可迭代对象,即可以是list,set之类的序列也可以是实现了__iter__的类#var用于保存每次从中取到的元素[var for var in iterable]#例子,把0到9放到列表中a = [var for var in range(10)]#输出:a=[0,1,2,3,4,5,6,7,8,9]#等效于下面的for语法a = []for i i

2020-09-17 00:24:29 475

原创 用python写一个学生管理系统

学生管理系统相信大家学各种语言的时候,练习总是会写各种管理系统吧,管理系统主要有对数据的增删查改操作,原理不难,适合作为练手的小程序数据的结构要保存数据就需要数据结构,比如c里面的结构体啊,python里面的列表,字典,还有类都是常用的数据类型在这里,我使用了链表来作为学生数据的数据结构,即 Node类 和 Student_LinkList类,来实现链表数据的持久化我们在程序中产生的数据是保存在内存中的,程序一旦退出,下次就不能恢复此次的数据了,因此需要把内存种的数据,保存到文件或数据库中,存

2020-07-19 15:07:39 1419

原创 用python编写一个vim目录管理插件

vim的python接口命令作用实例:py3 {stat}执行一条python语句:py3fprint(‘hello world’):py3f {file}执行一个python模块:py3f test.pyvim提供给python的模块–>vim模块即在python中可以 import vim 然后使用该模块操作vimvim.current对象表示vim当前所在其中提供了如下属性:line #当前所在行buffer #当前

2020-06-22 12:32:34 334

原创 利用pickle序列化,进行socket通信

socket通信socket通信只能传输二进制数据,每次接受到数据,都需要进行字符串的切割,判断之类的操作。于是,想到了使用pickle模块提供的序列化和反序列化的功能,来传输一个对象,比如字典。序列化和反序列化就是把python中的对象,按照特定的格式,转换为二进制数据,写入到文件中反序列化反序列化,则相反,从文件中读取二进制数据,转换为python中的对象python中大部分的对象都可以序列号,但是序列化只会保留实例属性哦序列化和json有什么区别json:按照特定的格式(javasc

2020-06-19 23:37:58 842

原创 python每日小程序5 用python实现一个shell

原理在linux中可以使用cd ls touch mkdir等命令快速的对目录和文件进行操作,python标准库中提供了对路径的操作模块,我们可以用它来模拟实现linux终端的部分功能使用的模块pathlib截图代码函数都写了注释,不明白的可以留言或私聊from pathlib import *class myShell(object): ''' 实现关于文件有关的操作 cd ls pwd touch mkdir '''

2020-06-18 20:34:10 205

原创 python小程序4 秒表

秒表秒为 0-59 循环分钟和小时都为 0-12 循环出现秒变量每一秒钟进行加一,如果秒变量为59则下一次分钟加一,如果分钟为59下一次,小时数加一截图实现def date(): ''' 利用itertools.cycle迭代器,实现时间计数 ''' hour,minutes,seconds = itertools.cycle(range(12)),itertools.cycle(range(60)),itertools.cycle(range(60))

2020-06-17 22:09:22 411 1

原创 python每日小程序3 命令行绘制棋盘

绘制棋盘利用字符串在命令行中打印出一个棋盘,可以用于实现五子棋,四连环游戏等截图实现1def qipan(): #棋盘的参数 rows,columns = 4,4 data = [[-1 for i in range(columns)] for j in range(rows)] #棋盘格子的具体位置 #data[0] = [1,0,0,1] data[1] = [0,1,1,0] #data[2] = [1,0,1,0] #da

2020-06-17 22:05:17 431

原创 排序算法 python3 冒泡 选择 插入 希尔 归并 快排 堆排序 计数 桶排序 基数排序

冒泡排序def mp_sort(arr): ''' 冒泡排序 ''' for i in range(0,len(arr)-1): for j in range(0,len(arr)-1-i): if arr[j] > arr[j+1]: arr[j],arr[j+1] = arr[j+1],arr[j]选择排序def sel_sort(arr): ''' 选择排序 '

2020-06-12 12:55:07 446

原创 python每日小程序2 简易聊天室_客户端

原理见上一篇,服务端的博文客户端的代码from socket import *import threadingimport timeimport atexitclass Client(object): def __init__(self): a = input('请输入用户名:') self.name = a #可以设置需要的用户的信息 def getname(self): return self.name

2020-06-10 22:53:55 315 1

原创 python每日小程序2 简易聊天室_服务端

原理利用pytho标准库的socket模块,可以快速建立TCP连接,可以利用TCP连接实现简单的聊天室编译环境是在linux中,win应该也可以代码重要的地方都有注释,主要为两个类,Server类主要用来存储当前连接到服务器上的用户名和连接到服务器上的socket对象(用于服务器主动发送消息回去)ChatRoom_s用来绑定address来监听客户端的连接,然后开启多线程接受数据,并且把收到的一个客户信息,发送给其他所有的连接上来的用户from socket import *imp

2020-06-10 22:45:04 499

原创 python每日小程序1 24点游戏

24点游戏说明随机选取四张牌,1-K 对于 1-13你要使用+ - * / 还有() 进行基本的四则运算,使得它们的值为24思路利用random模块提供的random.randint()函数随机产生四张牌利用python提供的eval()可以执行在字符串中表达式的功能,可能读取输入并且计算得到的值因为eval()函数可能不安全,所以需要使用python的集合类型进行判断,保证输入的字符串只含有数字和符号'''24点游戏'''import randomclass Game(ob

2020-06-01 00:00:36 1018

原创 python3标准库difflib

参考于标准库,关于difflib详细说明可以查看标准库difflib中文说明文档difflib模块有什么用?可以比较序列之间的差异,然后返回增量信息,增量信息前面符号说明符号意义‘-’序列1独有‘+’序列2独有‘ ‘两个序列都有‘?’行不在任一输入序列difflib提供的用于比较的API函数的a,b参数均为接收字符串列表如[‘a’,‘b’,‘c’,‘d’],如果是文件可以f.readlines()直接获得字符串列表作用都为比较a,b两个序.

2020-05-31 23:05:49 1565

Student_MS.py

用python自己写的学生管理系统,大概500多行,使用面向对象开发,使用configparser解析配置文件,使用pickle对数据进行持久化,可扩展Student子类和Persistence子类,来选择合适的数据结构和持久化方式

2020-07-19

利用python实现的简单的24点游戏.rar

自己没事干,写着练练手的小程序,程序的逻辑比较简单,看着代码不会很难,有问题的可以私聊我,我也是刚开始学的python,写的不对的,还请多多指教

2020-06-10

用python的socket实现的简易聊天室.rar

利用Python标准库socket实现的简易聊天室,本人自己写的,在linux环境中测试的,希望能给学习python和socket的一些帮助,写的不好的,还请指正

2020-06-10

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

TA关注的人

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