![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
傲笑风
让机器看懂世界
展开
-
python:进度条的使用(tqdm)
在while中使用进度条,也需要知道循环的次数,本人常在opencv处理视频中使用tqdm, 可大概知道处理的进度。python中,常用的进度条模块是tqdm,将介绍tqdm的安装和使用。在for循环中使用tqdm是最常见了,因为知道循环的次数。:为python程序进度条,可以知道程序运行进度。(2)在while中使用tqdm。原创 2023-09-27 20:55:18 · 531 阅读 · 0 评论 -
python:list与numpy的切换
1、list切换成numpy。2、numpy切换成list。原创 2023-09-26 14:20:36 · 1348 阅读 · 0 评论 -
python: 路径操作的常用函数
python基于路径操作的使用方法原创 2023-09-25 00:25:56 · 153 阅读 · 0 评论 -
指定程序在哪个GPU上运行
当本地(或服务器)有个多个GPU时,需要指定程序在指定GPU上运行,需要做以下设置。原创 2023-09-24 16:56:41 · 3461 阅读 · 0 评论 -
对输入图像按比例压缩、居中填充
图像在输入神经网络之前,通常需要进行尺寸压缩,如yolov5的输入为640x640,分类网络Resnet-50的输入为224x224。通常地,分类网络直接将输入进行resize处理,而对于目标检测网络,为了防止目标变形,通常采用padding的方法。但由于letterbox函数太过难理解了,于是就自己写了一个,分别使用PIL和opencv实现了。原创 2023-07-05 20:39:14 · 381 阅读 · 0 评论 -
python: 忽略警告
有时候运行程序时,会出现很多警告,影响查看输出,可以通过模块忽略掉警告。原创 2023-04-01 16:38:08 · 770 阅读 · 0 评论 -
python:打包package
把模块打包成package,可以进行分发和安装。原创 2023-01-09 14:56:38 · 1054 阅读 · 2 评论 -
python: 打包并生成可执行文件 exe
目录一、安装 pyinstaller二、使用终端执行程序打包三、pyinstaller的参数介绍四、打包程序结果一、安装 pyinstallerpyinstaller 模块可以把 .py 文件打包成 .exe文件,需要使用 pip 进行安装:pip install pyinstaller二、使用终端执行程序打包把 py 文件打包成 exe 文件,只需在终端使用命令行生成就行:pyinstaller mian.py该 main.py 为该程序的主入口文件。可以使用自带的 cmd 进行打包执行原创 2022-01-06 16:12:10 · 1370 阅读 · 1 评论 -
python:使用 PythonMagick 生成 icon 图标
目录PythonMagick 下载与安装把图片转化成 iconPythonMagick 下载与安装使用 pip install # PythonMagick是不行的, 会提示没有这个模块:因此,需要到第三方去把该模块下载下来,再安装,下载地址为:PythonMagick或者直接复制:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonmagick根据自己安装的python版本进行下载;下载下来后,打开终端跳到模块的文件路径下,使用 pip 进行安装原创 2022-01-06 14:48:55 · 2612 阅读 · 0 评论 -
python: print() 格式化输出
当输出的是一个变量时,需要用到格式化输出,有两种方法:% 和 format。方法一:%pi = 3.1415926print("%f" % pi)输出为:3.141593%f 默认输出小数6位还可以自行输出:print("%0.2f" % pi) # 3.14print("%0.8f" % pi) # 3.14159260print("%d" % pi) # 输出整数 3也可以输出其它格式num = 15print("%d" % num) # 输出整数 15print("%s原创 2021-12-27 10:59:37 · 4500 阅读 · 0 评论 -
python: nums 和 nums[:] 的区别
最近在刷题时遇到一个问题,添加数组 nums 和添加 nums[:] 会得到不同的输出结果。写个例子:nums = [1,2,3,4,5] # 创建一个数组res = []res.append(nums)nums[0], nums[4] = nums[4], nums[0] # 交换数组中的元素res.append(nums)print(res)以上这个例子,先创建一个包含5个整数的数组 nums,并添加到数组 res 中;接着交换数组 nums 的第1个元素和第5元素,并且添加到数组原创 2021-09-20 20:25:38 · 9637 阅读 · 2 评论 -
python:命名规范
1、模块名和包名全部采用小写字母命名,当名字过长时可以采用下划线分隔单词单词的形式,但包不鼓励使用下划线。如:yolo, object_detection注:模块:module; 一个 .py 尾缀的文件; 包:package, 是一个包含 init.py 的文件夹。2、类名和异常名采用每个单词首字母大写的形式,既驼峰式结构。如:DataLoader, MyNetwork3、全局变量或类常量采用大写字母,并且以下划线分隔单词的形式。如:EPOCH, DEVICE4、其余变量命名包括方法名、函原创 2021-11-06 16:43:20 · 1587 阅读 · 0 评论 -
三种常用的排序算法
总结常用的三种排序方法:排序一、选择排序二、冒泡法三、快速排序一、选择排序选择排序是每个元素与其后面的元素逐一进行比较和交换,时间复杂度是:O(n*n)。def selectionSort(nums): n = len(nums) if n<2: return nums for i in range(n-1): for j in range(i+1, n): if nums[i]>nums[j]:原创 2021-08-23 00:12:34 · 3608 阅读 · 0 评论 -
python: 字典 (dict) 的使用
在刷 leecode 的题目时,会经常使用哈希表,在 python 中称为字典 (dict) 。由于本人平时不怎么多使用字典,在真正运用时经常忘记其常规用法,特别是其成员函数的使用。因此,本人根据自己在刷 leecode 时经常使用字典的方法写成博客,既可以自我总结也可以分享大家。一、创建字典把一个列表(list)转化成列表:nums = [1,2,2,3,4,2,1,5,4]dic = dict()for num in nums: if num in dic: dic[n原创 2021-08-08 17:33:41 · 308 阅读 · 0 评论 -
用Python实现队列(queue)
一、队列的定义队列:一种先进先出(FIFO: First in First Out)的线性结构,即在队列的尾部入队,在队列的头部出队。入队:即队列添加成员,在队列的尾部完成;出队:即队列删除成员,在队列的头部完成;在创建队列时,一般以数组为数据机构。二、队列的功能成员函数push(): 在尾部添加成员pop(): 在头部添加成员top(): 返回队列的头部成员is_Empty(): 检测队列是否为空,若为空,则返回True,否则返回Falselength(): 返回队列的成员数量tra原创 2021-03-07 21:31:20 · 4303 阅读 · 0 评论 -
用Python实现栈(stack)
一、栈的定义栈是一种先进后出(LIFO: Last In First Out,)的线性结构,即入栈和出栈均在栈的尾部完成。入栈:即栈添加成员,在栈的尾部完成出栈:即栈删除成员,在栈的尾部完成在创建栈时,如果以数组的数据结构为基础时,以数组的尾部为栈的尾部;在创建栈时,如果以链表的数据结构为基础时,以链表的头部为栈的尾部;二、栈的功能成员函数push(): 在栈的尾部添加成员pop(): 在栈的尾部删除成员top(): 返回栈的头部成员is_Empty(): 检测栈是否为空,若为空,则返回原创 2021-03-07 21:16:29 · 3374 阅读 · 0 评论 -
用Python实现链表
摘要: 在C/C++语言中,常用结构体+指针来实现链表;而在Python语言中,使用类(class) 来实现链表。一、创建节点(Node)链表由多个节点(Node)组成,而每个节点都有两要素组成:(1)value:该节点的值(2)next:指向下一个节点class Node(): def __init__(self, value): self._value = value self._next = None二、创建链表(LinkedList)创建链表时原创 2021-03-07 16:32:47 · 3568 阅读 · 3 评论 -
python:计算程序运行时间
在python当中,用于计算程序运行时间的模块有:time 和 datetime。而我个人喜欢用 time 模块。time 模块有两个子函数可用于计算时间:方法一、time.time()import timetime_start = time.time() # 记录开始时间# function() 执行的程序time_end = time.time() # 记录结束时间time_sum = time_end - time_start # 计算的时间差为程序的执行时间,单位为秒/sp原创 2021-01-23 15:38:11 · 59484 阅读 · 8 评论 -
Numpy的shape和size的用法
shape:返回numpy创建矩阵的形状大小size:返回numpy创建矩阵的总个数其中,两者即是numpy的函数,也是对象的属性(即矩阵的内部函数)函数的使用:arr = np.zeros((2, 3)) # 创建2*3的矩阵print(np.shape(arr))print(np.size(arr))print(np.size(arr, 0)) # 输出第一维度的个数print(np.size(arr, 1)) # 输出第二维度的个数输出为:(2, 3)623内部属性原创 2020-11-04 10:42:37 · 2270 阅读 · 0 评论 -
python读取并显示图片的方法
一、opencvimport cv2 as cvimg1 = cv.imread('图像路径和名称及格式')cv.imshow('图像句柄', img1)cv.waitkey(0)二、matplotlibimport matplotlib.pyplot as pltimport matplotlib.image as mpimgimg2 = mpimg.imread('图像路径和名称及格式')plt.imshow(img2)plt.show()三、 PILfrom PIL imp原创 2020-09-09 23:26:44 · 460 阅读 · 0 评论 -
python:关于空列表的用法错误
本人在用到列表时,常常犯空列表的用法错误,如:list =[] #定义一个空列表#想把新建的列表创建为8个元素且每个元素为0的列表for i in range(8): list[i] = 0结果输出报错:Traceback (most recent call last): File "<stdin>", line 2, in <module>...原创 2019-12-19 21:42:54 · 4104 阅读 · 0 评论 -
python:关于切片赋值时经常犯的语法错误
本人在用python写程序时用到切片时常常犯相同错误,所以携程博客以提醒自己:#创建列表num = [1,2,3,4,5,6]print(num)#给列表某单个索引对应的值进行重新赋值num[2] = 0print(num)输出结果为:[1,2,3,4,5,6][1,2,0,4,5,6]给列表某单个索引对应的值重新赋值时很简单,一般没问题,但用到给列表的切片赋值时经常犯下面...原创 2019-12-19 09:57:00 · 1181 阅读 · 1 评论 -
解决pip不能通过命令行升级的问题
@解决pip不能通过命令行升级的问题TOCpython一般通过win+R,输入cmd进入到命令行,通过:python -m pip install --upgrade pip进行pip的升级。为什么要进行pip升级,主要是因为pip的版本太低,可能安装不了某些第三方库,还有时通过:pip install xxxx时,下载到一半就弹出错误。于是我想升级pip,结果通过第一句命令行都失...原创 2019-10-22 16:27:30 · 773 阅读 · 1 评论