自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL-学习笔记与个人总结

登录和退出MySQL服务器# 登录MySQL$ mysql -u root -p12345612# 退出MySQL数据库服务器exit;基本语法-- 显示所有数据库show databases;-- 创建数据库CREATE DATABASE test;-- 切换数据库use test;-- 显示数据库中的所有表show tables;-- 创建数据表CREATE TABLE pet ( name VARCHAR(20), owner V...

2020-09-09 20:41:51 388

原创 Python的内存管理-内存池机制Pymalloc

Python引用了一个内存池(memory pool)机制,即Pymalloc机制(malloc:n.分配内存),用于对小块内存的申请和释放管理内存池(memory pool)的概念:  当创建大量消耗小内存的对象时,频繁调用new/malloc会导致大量的内存碎片,致使效率降低。内存池的概念就是预先在内存中申请一定数量的,大小相等的内存块留作备用,当有新的内存需求时,就先从内存池中分配内存给这个需求,不够了之后再申请新的内存。这样做最显著的优势就是能够减少内存碎片,提升效率。内存池的实现方式有很

2020-07-27 22:27:11 809

原创 对Cpython中GIL的理解

CPython是特指C语言实现的Python(还有java写的python)https://wiki.python.org/moin/PythonImplementations?action=show&redirect=implementationGIL:全局解释器锁(cpython中)GIL产生的背景,由于C语言底层原因,CPpython中多线程运行,每个线程都需要申请全局资源,但是Cpython并不能应对所有线程同时的资源请求,为防止发生错误,对所有线程申请全局资源的时候增加了限制--

2020-06-27 16:28:01 220

原创 (mac从bash换到了zsh后环境变量无法使用记录一下)~/.profile ~/.bashrc 和~./bash_profile的理解以及zsh的使用

.bashrc这个文件主要保存个人的一些个性化设置,如命令别名、路径等。定义了路径,语言,命令别名(使用rm删除命令时总是加上-i参数需要用户确认,使用ls命令列出文件列表时加上颜色显示)。每次修改.bashrc后,使用source ~/.bashrc(或者 . ~/.bashrc)就可以立刻加载修改后的设置,使之生效。一般会在.bash_profile文件中显式调用.bashrc。登陆linux启动bash时首先会去读取/.bash_profile文件,这样/.bashrc也就得到执行了,你的个

2020-06-06 23:17:33 1327

翻译 python委托模式详细解释(__getattr__)以及字段,属性,方法的涉及总结

委托:如果我们要把方法当做参数来传递的话,就要用到委托。简单来说,委托的类型可以是赋值一个方法的引用. 可以把一个方法赋值过来,通过这个委托变量调用这个方法 python函数是能作为参数输入函数的,这个相当于c里面的委托,将一个函数封装到一个委托对象里首先我们看这个函数__getattr__getattr(object, name[, default])object -- 对象。 name -- 字符串,对象属性。 default -- 默认返回值,如果不提供该参数,在没有对应属性时,将

2020-06-01 14:48:24 1563

原创 给出我做链表题目的一些套路python

五月份的开头,友好题目。给出我做链表题目的一些套路。哑节点创建 哑节点 作为 结果链表 的开头,返回结果是这个节点的下一个位置。目的是:在未遍历之前,我们不知道构建的结果中,开头元素到底是 l1 还是 l2, 为了让代码整齐,创建哑节点。使用 move 游标哑节点标记了 结果链表 的开头,因此是不能移动的。为了把两个链表 merge 的结果放到结果链表的最后,就需要使用一个 move 游标指向 结果链表 的最后一个元素。初始时,move 指向 哑节点,之后随着结果链表的增加而不停地向后移动,

2020-05-15 17:18:00 246

原创 链表leetcode总结 python

链表是经典的递归定义的数据结构,链表相关的题目常常考察递归,翻转链表是其中的经典题目。 在思考递归问题的时候,我们要从上到下思考:#编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点node.val=node.next.valnode.next=node.next.next给定一个链表: 1->2->3->4->5, 和 k = 2.返回链表 4->5.1.第一时间想到的解法:先遍历统计链表长度,记为 n ;设置一个

2020-05-14 13:07:19 143

原创 从实际应用理解闭包 装饰器

闭包:在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包装饰器:比如要给不同的基础平台部门增加验证权限/引入日志/函数执行时间统计时要用到装饰器 因为函数尊重开放封闭原则(已实现的代码时不允许被修改的)理解python装饰器 #想要理解Python中的装饰器,不得不先理解闭包(closure)这一概念。# print_msg是外围函数#在函数内部再定义一个函数,并且这个函数用到了外边函数的变量,那么将这个函数以及用到的一些变量称之为闭包d

2020-05-10 18:20:20 143

原创 python希尔排序之通俗易懂

是插入排序的一种。 使用gap对元素进行分组,对每组使用直接插入排序算法排序 当gap减少到1的时候,整个文件恰好被分成一组 #最优时间复杂度:根据步长序列的不同而不同#最坏时间复杂度:O(n2)#稳定性:不稳定#其实内层循环11-16行和插入排序是一样的 唯一调整是在外面加入了gap//2的循环def shell_sort(alist): n = len(a...

2020-04-26 07:44:05 158

原创 python归并排序之通俗易懂

归并排序是采用分治法的一个非常典型的应用 归并排序的思想就是先递归分解数组,再合并数组 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 时间复杂度 最优时间复杂度:O(nlogn) 最坏时间复杂度:O(nlogn) 稳定性:稳定 1.递归...

2020-04-23 18:41:05 218

空空如也

空空如也

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

TA关注的人

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