夕阳惜夏
码龄7年
关注
提问 私信
  • 博客:88,688
    社区:47
    问答:708
    89,443
    总访问量
  • 66
    原创
  • 2,129,563
    排名
  • 12
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2017-09-17
博客简介:

weixin_40283460的博客

查看详细资料
个人成就
  • 获得32次点赞
  • 内容获得14次评论
  • 获得157次收藏
  • 代码片获得608次分享
创作历程
  • 15篇
    2022年
  • 23篇
    2021年
  • 24篇
    2020年
  • 4篇
    2019年
  • 3篇
    2018年
成就勋章
TA的专栏
  • Python
    19篇
  • 数据结构和算法
    11篇
  • git
    7篇
  • SQL
    5篇
  • C语言
    13篇
  • Flask
    4篇
  • 数据库
    3篇
  • Spring Boot
    1篇
  • 服务器工具
  • Java
    7篇
兴趣领域 设置
  • Python
    python
  • 数据结构与算法
    数据结构
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

183人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

python扁平化处理嵌套序列的好办法

python协程
原创
发布博客 2022.07.29 ·
360 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

python连乘

python实现连乘
原创
发布博客 2022.07.29 ·
2001 阅读 ·
0 点赞 ·
1 评论 ·
3 收藏

中介模式(python实现2)

相较前一个中介模式(python实现)来说,本例子实现了多个中介者的情况from abc import ABCMeta, abstractmethodfrom enum import Enumclass InteractiveObject: """进行交互的对象"""class InteractiveObjectImplA: """实现类A"""class InteractiveObjectImplB: """实现类B"""class Mediat
原创
发布博客 2022.05.19 ·
483 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

中介模式(python)

"""中介模式:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显示地相互引用, 从而使其耦合松散,而且可以独立地改变他们之间的交互"""class HouseInfo: """房源信息""" def __init__(self, area, price, has_window, has_bathroom, has_kitchen, address, owner): self.__area = area self._...
原创
发布博客 2022.05.19 ·
424 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

状态模式(python)

"""状态模式的核心思想是一个事物(对象)有多种状态,在不同的状态下所表现出来的行为和属性不一样"""from abc import ABCMeta, abstractmethodclass Context(metaclass=ABCMeta): """状态模式的上下文环境类""" def __init__(self): self.__states = [] self.__cur_state = None # 状态发生...
原创
发布博客 2022.05.17 ·
522 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

python内置setattr函数赋值时会跳过定义的setter方法吗?

python内置setattr函数赋值时会跳过定义的setter方法吗?
原创
发布博客 2022.04.25 ·
990 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

搞懂Python协程

什么是协程?协程是指一个过程,这个过程与调用方协作,由调用方提供的值进行产出。流畅的PythonLuciano Ramalho大佬的这个解释真是有点抽象。直观来看,如果把“协程”替换成“函数”,这段话也读的通,而且好像更容易理解。细细读来,感觉大佬想表达的意思主要集中在“协作”一词上。协程是怎么协作的?我对协程的第一映像是,只要把函数的return关键字改成yield,就把函数定义成了协程,所以关键还是得理解yield关键字的作用在词典中,yield有产出和让步两种意思,
原创
发布博客 2022.04.15 ·
398 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

MySQL可重复执行的建表SQL

记录一个可重复执行的建表SQL,因为有时候上线不是一次能成功的,所以需要考虑到重复执行。DROP TABLEIF EXISTS table_name;CREATE TABLE `table_name` ( `id` int NOT NULL AUTO_INCREMENT COMMENT '主键ID', `column1` varchar(32) COLLATE utf8mb4_general_ci NOT NULL COMMENT '变量代码', `column2` float DE
原创
发布博客 2022.04.01 ·
1589 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer:青蛙跳台阶问题

一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。思路:可以使用动态规划的思想来处理class Solution: def numWays(self, n: int) -> int: mod = 1e9+7 if n == 0: return 1 if n..
原创
发布博客 2022.03.25 ·
348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer:斐波那契数列

题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0) = 0, F(1)= 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。思路:可以使用动态规划的思路来解决问题class Soluti...
原创
发布博客 2022.03.25 ·
418 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer:从头打印链表

题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)思路:链表的遍历只能从到尾,可以借用栈的入栈和出栈将访问得到的值顺序翻转import numpy as npclass Stack: def __init__(self): self.s = np.array([], dtype=int) self.length = 0 def append(self, e): self.s = np.appe..
原创
发布博客 2022.03.25 ·
392 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer:包含min函数的栈

题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。思路:增加一个数据域用来记录最小元素,如果当前入栈元素不大于最近一次保存的最小值,那么将当前值保存为最近一次保存的最小值import numpy as npclass MinStack: def __init__(self): """ initialize your data struc..
原创
发布博客 2022.03.24 ·
442 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

剑指offer: 两个栈实现一个队列

题目:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )思路:根据栈的后进先出原则,所有元素正序入栈后出栈顺序为反序,然后反序进入另一个栈后出栈顺序是正序import numpy as npclass Stack: def __init__(self): self.s = np.arra..
原创
发布博客 2022.03.24 ·
912 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

使用git tag

添加标签git tag -a [标签名] -m "注释"将本地代码库的标签推送到远程代码库git push [远程代码库] --tagsgit push origin --tags查看标签和注释git tag -n
原创
发布博客 2022.01.29 ·
512 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

策略模式(Python一等函数实现)

"一等函数"这个词其实有点坑,听起来有点像特指某一部分函数,但是其实所有函数都是一等函数。编程语言理论家把“一等对象”定义为满足下述条件的程序实体:在运行时创建 能赋值给变量或数据结构的元素 能作为参数传给函数 能作为函数的返回结果---《流畅的Python》第5章 一等函数所以可以看出,所有函数都是一等对象,所以叫做“一等函数”。策略模式由三个部分组成:上下文:把一些计算委托给实现不同算法的可互换组件(具体策略),它提供服务 策略:实现不同算法的组件共同的接口 具体
原创
发布博客 2022.01.14 ·
622 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

直接插入排序(Python)

顾名思义,直接插入排序是一种插入排序。排序过程中不需要借助硬盘来保存临时数据,所以它也是一种内部排序。直接插入排序的思想是将一个序列在逻辑上分为两部分组成,一半是已经排序好的,一半是没经过排序的,要做的是将数据从没排序的部分拿出来,然后在排序好的部分里找个合适的位置插入。算法的空间复杂度是:O(1)算法的时间复杂度是:O(n^2)# 直接插入排序import numpy as npdef insert_sort(data: list): init = np.array([0
原创
发布博客 2021.12.31 ·
1057 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

图的十字链表实现(Python)

当实现稀疏图时,为了避免空间浪费会采用邻接表实现。但是邻接表实现的图,查找某个顶点的入度边关联的另一个顶点时就比较麻烦,就是就可以采用图的十字链表实现十字链表的关键点是,两个有相同弧头顶点的弧结点就有一个指针相连,两个有相同弧尾顶点的胡结点也会有一个指针相连"""图的十字链表表示"""import numpy as npclass ArcBox: # 弧结点 def __init__(self, tail_vex, head_vex, head_link=None,
原创
发布博客 2021.12.28 ·
934 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

图的邻接表实现(Python)

在实现稀疏图的时候,邻接矩阵会使用大量空间用来表示两个顶点没有邻接关系,但是实际使用时我们更关注有邻接关系的顶点,所以为了避免这个问题,可以使用邻接表来实现图,也就是使用链表来表示顶点间的连接关系"""图的邻接表实现"""import numpy as npclass ArcNode: """ 弧结点 """ def __init__(self, adj_vex, next_arc, info): self.adj_vex = adj_vex
原创
发布博客 2021.12.27 ·
2060 阅读 ·
0 点赞 ·
0 评论 ·
13 收藏

git基于历史版本创建新分支

首先执行git log命令查看历史版本日志git log想要从哪一次提交上拉出新分支,那么找到对应的提交,copy下commit ID,大概是这个样子commit 63226e3eae6d5c63acb643172569a00e367e631d如果工作区有更新,那么先将代码提交、或暂存,然后执行命令git branch [new branch name] [commit id] 查看分支是否创建成功git branch -a切换到当前新创建的分支git che.
原创
发布博客 2021.12.17 ·
2184 阅读 ·
1 点赞 ·
0 评论 ·
8 收藏

git暂存命令

暂存命令的作用可以将git工作区的代码更改暂存,之后就可以执行git pull、git merge之类的命令暂存命令git stash save "暂存的备注"直接执行git stash也可以达到暂存的目的,但是连续多次暂存后容易让人混淆哪次暂存了哪些代码查看暂存记录git stash list取回暂存代码git stash pop......
原创
发布博客 2021.12.16 ·
17572 阅读 ·
5 点赞 ·
0 评论 ·
21 收藏
加载更多