![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python语言
文章平均质量分 81
python
大虎牙
一物不知 深以为耻 便求知若渴
展开
-
学习笔记 | 多线程共同操作同一个数据互斥锁同步
多线程共同操作同一个数据互斥锁同步?import threadingimport timenum = 0mutex = threading.Lock()class MyThread(threading.Thread): def run(self): global num time.sleep(1) if mutex.acquire(1): num += 1 msg = self.name原创 2020-09-03 13:04:54 · 576 阅读 · 0 评论 -
学习笔记 | Python中pass语句的作用
Python中pass语句的作用是什么?在编写代码时只写框架思路,具体实现还未编写就可以用pass进行占位,使程序不报错,不会进行任何操作。原创 2020-09-02 11:56:33 · 182 阅读 · 0 评论 -
学习笔记 | Python2和Python3的一些不同
Python2和Python3的一些不同Python 3.6后,默认字典就是有序的,因此无需使用 OrderedDict()。print默认是换行输出的。print(x), // pyhton2print(x, end="") // python3print x,原创 2020-08-12 11:42:14 · 99 阅读 · 0 评论 -
学习笔记 | Python的垃圾回收机制 GC、内存泄漏
内存管理机制:引用计数、垃圾回收、内存池。Python的垃圾回收机制garbage collectionPython在内存中存储了每个对象的引用计数reference count。当一个Python对象被引用时其引用计数增加1,当其不再被一个变量引用时则计数减1,如果计数值变成0,那么相应的对象就会消失,分配给该对象的内存就会释放出来用作他用。偶尔也会出现引用循环reference cycle。垃圾回收器会定时寻找这个循环,并将其回收。举个例子,假设有两个对象o1和o2,而且符合o1.x == .原创 2020-07-13 16:01:19 · 288 阅读 · 0 评论 -
学习笔记 | sort 与 sorted 区别
sort 与 sorted 区别sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。list 的 sort 方法返回的是对已经存在的列表进行操作。内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。...原创 2020-07-08 22:52:10 · 211 阅读 · 0 评论 -
学习笔记 | python判断 字符串是否为字母或者数字
判断 字符串是否为字母或者数字str_1 = "123456"str_2 = "Abc"str_3 = "123Abc" #用isdigit函数判断是否数字print(str_1.isdigit())#Tureprint(str_2.isdigit())#Falseprint(str_3.isdigit())#False #用isalpha判断是否字母print(str_1.isalpha()) #Falseprint(str_2.isalpha())#Ture原创 2020-07-07 17:07:00 · 746 阅读 · 0 评论 -
学习笔记 | Python反转字符串
反转字符串原创 2020-07-07 16:51:56 · 100 阅读 · 0 评论 -
学习笔记 | Python ASCII码与字符相互转换、字符串大小写转换
01 Python ASCII码与字符相互转换c = 'a'a = 101 print( c + " 的ASCII 码为", ord(c))print( a , " 对应的字符为", chr(a)) 输出原创 2020-07-07 15:13:34 · 2762 阅读 · 0 评论 -
学习笔记 | 深克隆和浅克隆
深克隆和浅克隆浅克隆(Shadow Clone) 是把原型对象中成员变量为值类型的属性都复制给克隆对象,把原型对象中成员变量为引用类型的引用地址也复制给克隆对象,也就是原型对象中如果有成员变量为引用对象,则此引用对象的地址是共享给原型对象和克隆对象的。简单来说就是浅克隆只会复制原型对象,但不会复制它所引用的对象,如下图所示:深克隆(Deep Clone) 是将原型对象中的所有类型,无论是值类型还是引用类型,都复制一份给克隆对象,也就是说深克隆会把原型对象和原型对象所引用的对象,都复制一份给克隆原创 2020-07-05 22:00:33 · 153 阅读 · 0 评论 -
学习笔记 | 优先队列Priority Queue
优先队列(Priority Queue)特点能保证每次取出的元素都是队列中优先级别最高的。优先级别可以是自定义的,例如,数据的数值越大,优先级越高;或者数据的数值越小,优先级越高。优先级别甚至可以通过各种复杂的计算得到。应用场景从一堆杂乱无章的数据当中按照一定的顺序(或者优先级)逐步地筛选出部分乃至全部的数据。举例:任意一个数组,找出前 k 大的数。解法 1:先对这个数组进行排序,然后依次输出前 k 大的数,复杂度将会是 O(nlogn),其中,n 是数组的元素个数。这是一种直接的办法原创 2020-07-01 17:56:40 · 390 阅读 · 0 评论 -
学习笔记 | 无重复字符最长子串
01 无重复字符最长子串- 快慢指针class Solution(object): def lengthOfLongestSubstring(self, s): """ :type s: str :rtype: int """ ans = 0 if not s: return ans i = 0 j = 0 d原创 2020-06-28 09:26:12 · 111 阅读 · 0 评论 -
学习笔记 | 二叉树:前序遍历、中序遍历、后序遍历
二叉树:前序遍历、中序遍历、后序遍历class Node: def __init__(self, value=None, left=None, right=None): self.value = value self.left = left self.right = right # 右子树def preTraverse(root): ''' 前序遍历 ''' if root == None: r原创 2020-06-20 18:16:30 · 150 阅读 · 0 评论 -
学习笔记 | 如何输出二叉树中的所有路径
如何输出二叉树中的所有路径路径的定义就是从根节点到叶节点的点的集合。要输出二叉树中的所有路径,还需要利用递归来实现。先用一个列表保存经过的节点,如果已经是叶节点,那么输出列表的所有内容;如果不是,那么将节点加入列表,然后继续递归调用该函数,只不过入口的参数变成了该节点的左子树和右子树。...原创 2020-06-20 17:49:49 · 874 阅读 · 0 评论 -
学习笔记 | Counter找出列表中出现次数最多的元素
找出列表中出现次数最多的元素在Python程序中,如果想找出列表中出现次数最多的元素,可以考虑使用collections模块中的Counter类,调用Counter类中的函数most_common() 来实现上述功能。from collections import Counterwords = ['look', 'into', 'my', 'AAA', 'look', 'into', 'my', 'AAA','the', 'AAA', 'the', 'AAA', 'the', 'eye原创 2020-06-20 16:23:11 · 799 阅读 · 0 评论 -
学习笔记 | python set discard
01 set discard() 方法discard() 方法用于移除指定的集合元素。该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。用于set集合或者字典。discard() 方法语法:set.discard(value)...原创 2020-06-20 16:07:08 · 430 阅读 · 0 评论 -
学习笔记 | 删除列表中的重复元素并保持顺序不变
借助集合和生成器实现def dedupe(items): seen = set() for item in items: if item not in seen: yield item seen.add(item)a = [5,5,2,1,9,1,5,10]print(a)print(list(dedupe(a)))[5, 5, 2, 1, 9, 1, 5, 10][5, 2, 1, 9, 10]def bu原创 2020-06-20 12:36:28 · 680 阅读 · 0 评论 -
学习笔记 | Python同时遍历多个列表一一对应
Python同时遍历多个列表一一对应zip()原创 2020-06-19 15:36:08 · 963 阅读 · 0 评论 -
学习笔记 | 提高Python代码质量的20个技巧
01 基本数据类型推导式、字符串的连接和拆分、格式化字符串、collections02 函数可变长参数、Lambda表达式、高阶函数、装饰器、生成器03 面向对象编程魔术方法、抽象基类、属性管理property、ORM04 程序健壮性异常捕捉、运行性能、上下文管理器05 代码风格与设计模式pylint、单例模式06 运行环境venv、pip...原创 2020-06-12 15:20:39 · 327 阅读 · 0 评论 -
学习笔记 | Python知识要点图
Python知识要点 —— 思维导图原创 2020-06-12 13:32:19 · 252 阅读 · 0 评论 -
学习笔记 | Dijkstra单源最短路
Dijkstra算法代码实现# 迪克斯特拉算法: 计算加权图中的最短路径# graph: 起点start,a,b,终点fin之间的距离graph = {}graph["start"] = {}graph["start"]["a"] = 6graph["start"]["b"] = 2graph["a"] = {}graph["a"]["fin"] = 1graph["b"] = {}graph["b"]["a"] = 3graph["b"]["fin"] = 5gra原创 2020-05-30 14:50:52 · 167 阅读 · 0 评论 -
学习笔记 | jupyter notebook 去掉警告
jupyter notebook 去掉警告我们在进行编码是,会因为版本,库的更新等问题导致会出现警告,就是报红,不影响代码,但是影响美感,所以我们要进行删除。加入如下代码:import warningswarnings.filterwarnings("ignore")...原创 2020-05-24 22:45:21 · 3467 阅读 · 0 评论 -
学习笔记 | 最大正方形
221. 最大正方形在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4class Solution(object): def maximalSquare(self, matrix): """ :type m...原创 2020-04-21 22:36:10 · 188 阅读 · 0 评论 -
学习笔记 | 树的最近公共祖先
01 二叉搜索树的最近公共祖先给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。”例如,给定如下二叉搜索树: root = [6,2,8,0,4,7,9,null,null,3,5]示例 1:...原创 2020-04-21 21:46:34 · 309 阅读 · 0 评论 -
Python | 快速排序、归并排序
快速排序class Solution(object): def Sort(self, arr, start, end): if start < end: i = start j = end tmp = arr[start] while i < j: ...原创 2020-03-26 18:29:08 · 130 阅读 · 0 评论 -
python | 二叉树的代码:层次遍历、最大深度、路径总和、相同的树
102. 二叉树的层次遍历给定一个二叉树,返回其按层次遍历的节点值。(即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回其层次遍历结果:[ [3], [9,20], [15,7]]代码# Definition for a bina...原创 2020-03-21 21:56:11 · 303 阅读 · 0 评论 -
学习笔记 | Python | 字符串strip()、split()、join()操作
split、join操作原创 2020-03-19 00:40:06 · 133 阅读 · 0 评论 -
学习笔记 | Python编码规范
Python编码规范分号行尾无分号。不要用分号将两条命令放在同一行。行长度每行不超过80个字符。不要使用反斜杠连接行。Python会将圆括号, 中括号和花括号中的行隐式的连接起来 。括号宁缺毋滥的使用括号。除非是用于实现行连接,否则不要在返回语句或条件语句中使用括号。缩进用4个空格来缩进代码。空行顶级定义之间空两行,方法定义之间空一行。顶级定义之间空两...原创 2020-03-18 18:11:43 · 168 阅读 · 0 评论 -
学习笔记 | 图的搜索与最短路问题
Dijkstra算法(有权图)不能在含负数权重的图中求解出最短路。Dijkstra算法会从离起点近的顶点开始,按顺序求出起点到各个顶点的最短路径。也就是说,一些离终点较远的顶点的最短路径也会被计算出来。A*就会预先估算一个值(该点到终点的距离),利用这个值来省去一些无用的计算。...原创 2020-02-22 22:49:30 · 155 阅读 · 0 评论 -
学习笔记 | python实现栈、队列
01 Python list实现队列——先进先出#定义一个空列表,当做队列queue = []#向列表中插入元素queue.insert(0,1)queue.insert(0,2)queue.insert(0,3)print(queue)print("取一个元素:",queue.pop())print("取一个元素:",queue.pop())print("取一个元素:",qu...原创 2020-03-13 11:02:10 · 149 阅读 · 0 评论 -
学习笔记 | C++和Python的一些区别
01 PythonPython是一种脚本语言,是解释执行的,不需要经过编译,所以很方便快捷,且能够很好地跨平台,写一些小工具小程序特别合适。编程:无一些{}进行作用域的限制,而是使用代码缩进。02 C++C++则是一种需要编译后运行语言,在特定的机器上编译后在特定的机上运行,运行效率高,安全稳定。但编译后的程序一般是不跨平台的。编程:使用{}进行作用域的限制。...原创 2020-03-09 16:36:10 · 543 阅读 · 0 评论 -
学习笔记 | 《利用python进行数据分析》| 附录A | python语言精要
从结构化和非结构化数据处理的角度重点介绍一些有关Python内置数据结构和库的最重要的功能。强烈建议用IPython实验所有的代码示例,并查看各种类型、函数以及方法的文档。本书主要关注的是能够处理大数据集的高性能数组计算工具。一. 基础知识01 语言语义缩进(空白符、制表符),而不是大括号:具有更高的可读性万物皆对象注释:#函数调用和对象方法调用变量和按引用传递理解p...原创 2020-03-02 15:48:04 · 179 阅读 · 0 评论 -
学习笔记 | python语言 | 输入和输出
01 读取键盘输入Python提供了 input()内置函数从标准输入读入一行文本,默认的标准输入是键盘。str = input("请输入:");print ("你输入的内容是: ", str)02 输出 print() 函数>>> print('{}网址: "{}!"'.format('菜鸟教程', 'www.runoob.com'))菜鸟教程网址: "www....原创 2020-03-01 20:16:03 · 169 阅读 · 0 评论 -
Django开发学习——投票应用
Django须学习内容前端知识:HTML, CSS, JS数据库:MysqlHTTP, Cache, 消息通信,异步处理Django学习资料django web开发指南django官方文档一. 创建Django应用的流程先建立数据模型搭建管理站点添加,更改,删除对象操作展示数据URLconf: URL和python回调函数之间的映射视图函数返回:返回一个...原创 2019-10-19 21:10:30 · 418 阅读 · 0 评论 -
Django+mysql配置问题
检查Django安装情况结果>python -c “import django; print(django.path)”查看Django版本>python -m django --version报错You have 17 unapplied migration(s). Your project may not work properly until yo...原创 2019-10-18 19:53:34 · 178 阅读 · 0 评论 -
python语言 | 补充用法、实践应用
1. 输出算法的运行时长import timestart_time = time.time()// 算法处理end_time = time.time()print("运行时长:",(end_time-start_time),"s")2. python切割字符串txt = "Google#Taobao#Facebook"x = txt.split("#")print(x)// ...原创 2019-10-15 22:04:32 · 135 阅读 · 0 评论 -
python之机器学习工具包
python应用于机器学习的开源工具包numpy和scipy提供一些高级的数学运算机制非常高效的向量和矩阵运算功能scipy是在numpy的基础上构建的更为强大,应用领域也更为广泛的科学计算包。scipy需要依赖numpy的支持进行安装和运行import numpy as np matplotlib绘图工具包,解决数据分析后的可视化问题import matplo...原创 2019-10-13 12:06:33 · 302 阅读 · 0 评论 -
编程中的命名方式和常用命名名称
常用变量命名ans — answerret — returnres — resultfoo, tmpsol — solvefirst, second, lastbegin, end, startop — operation原创 2019-10-12 14:51:49 · 2575 阅读 · 0 评论 -
学习笔记 | python语法总结
python常用命令行内:python -V (查看版本)命令行内:python (进入python)#!/usr/bin/python (python解释器的目录:usr/bin)python学习总结Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字,所以在读取中文时会报错。解决办法:(添加两者其一在开头) # -*- coding: UT...原创 2019-10-12 13:14:03 · 397 阅读 · 0 评论 -
Python笔记Day2
多行语句 一般以新行作为语句的结束符 使用斜杠\将一行的语句分为多行显示 语句中包含[],{},()就不需要使用多行连接符python的引号 可以使用引号,双引号,三引号来表示字符串 三引号可以由多行组成,编写多行文本的快捷语法,常用于文档字符串,在文件的特定地点,被当做注释。python注释 单行注释采用# python中多行注释使用三个单引号”’或三个双引号python空行 函数原创 2017-10-19 14:47:34 · 604 阅读 · 0 评论 -
Python笔记Day3
python条件语句 指定任何非0和非null值为true,0或者null为false. if elif else python不支持switch语句,所以多个条件判断,只能用elif来实现 可以使用or,表示两个条件有一个成立时判断条件成功 使用and是,表示只有两个条件同时成立的情况下,判断条件才成功python循环 提供了for循环和while循环 在python中没有do…原创 2017-10-19 17:30:53 · 227 阅读 · 0 评论