Python
文章平均质量分 61
Python 学习之路
Robin_Pi
所有觉得难得东西,只是因为没有真正理解最基础的概念
展开
-
Python基础总结(1)
Python基础总结(1)参考:该宝宝的系列小总结原创 2020-12-02 16:25:26 · 116 阅读 · 0 评论 -
Python 知识点记录(2020)
max :max(iterable, *[, default=obj, key=func]) -> valuemax 为 python 自带的函数。默认情况,结果返回可迭代的对象中最大的那个;lst = [1,1, 2,3,4,5]max(lst)5如要在比较之前修改对象或基于特定属性/索引进行比较,必须使用关键参数key。lst = [1,1, 2,3,4,5]ma...原创 2020-03-04 13:33:01 · 501 阅读 · 0 评论 -
Python 进阶之路(一)Python 核心知识 ——框架&总章
目录一. 写在前面1. 反思&搭建框架2. 参考&资料二. Python 从基础到进阶1.1 基础篇之「基础&数据类型&控制流」1.2 基础篇之「函数&函数式编程」1.3 基础篇之「模块&面向对象编程」1.4 基础篇之「文件对象&错误处理」2.1 数值计算库之「NumPy」2.2 值计算库之「Pandas」2.3 数据可视化之「Matplotlib」3.1....原创 2020-01-07 15:21:46 · 578 阅读 · 0 评论 -
lxm not found:Mac Python 安装 lxml包
Mac Python 安装 lxml原创 2022-12-05 21:04:13 · 2081 阅读 · 1 评论 -
PyQt:创建自适应大小的窗口(保姆级采坑经验)
目的:将之前做的没有 layout布局的主窗口变为自适应的窗口。直接上步骤:1、新建窗口(我这里使用的Widget)2、拖动水平布局到界面(数量随意)3、拖动你想使用的多个部件到布局框内部(会自动位移)4、往需要调整水平相对位置大小的布局内添加”水平弹簧“(Horizonal Spacer)我这里在两头添加了两,你也可以再中间再添加一个,用处是设置部件与部件以及部件与窗体之间的相对间隔(具体设置看后面)5、设置完部件的布局之后,还需要将部件与窗体关联:空白处右键,选择栅格布局(你也可以选择下原创 2021-10-21 10:15:10 · 13373 阅读 · 1 评论 -
PyQt报错:界面显示不全,QLayout: Attempting to add QLayout ““ to MyDesiger “Form“, which already has a layout
文章目录1. 问题和解决2. 原因分析一个折磨半天没有头绪的问题:界面显示不全,而且报错QLayout: Attempting to add QLayout "" to MyDesiger "Form", which already has a layout1. 问题和解决在一次将无 layout 的主界面UI修改配置为GridLayout等多种 layout 组成的新界面,再调用之后出现错误,而且界面显示不完整。在搜查了各种相关问题之后,没有找到一个可行的方案,好在最后缕清思路尝试了一下,修改父原创 2021-10-21 10:13:24 · 2774 阅读 · 3 评论 -
Sqlite报错:sqlite3.OperationalError: near “%“: syntax error(大坑:sqlite 使用?占位符)
问题 sql_add = 'insert into images(id, gray1, contrast1, gray2, contrast2, level) values(%s, %s, %s, %s, %s, %s)' # 执行语句 #execute(self, query, args) cur.execute(sql_add, (str_id, str_gray1, str_contrast1, str_gray2, str_contr原创 2021-10-16 09:29:27 · 5571 阅读 · 1 评论 -
使用 pyinstaller 打包Python脚本为可执行程序
成果:(tensorflow) Robin-macbook-pro:dist robin$ ./test /Users/xxx/imgs/selfie5.jpg输入图像的图像大小:(height, width)=(3088, 2316)处理后的图像大小:(height, width)=(1280, 960)话不多说直接上步骤:#1. 安装 pyinstallerpip install pyinstaller#2. 终端执行打包cd xxx(脚本所在位置)pyinstaller -F原创 2021-10-03 14:42:45 · 153 阅读 · 0 评论 -
Numpy报错:ImportError: numpy.core.multiarray failed to import
导入自定义的 python 模块时,出现以下报错:ImportError: numpy.core.multiarray failed to import from .cv2 import *ImportError: numpy.core.multiarray failed to import原因:numpy 版本过低或者过高解决:查看numpy 版本:pip show numpy我当前环境中的 numpy 版本是:Version: 1.16.5升级:pip install -原创 2021-09-29 11:16:45 · 47167 阅读 · 10 评论 -
Python 多线程:伪多线程?详细代码总结
文章目录1. 普通多线程2. 主线程等子线程:join()3. 主线程带走子线程:setDaemon()4. 共享全局变量5. 互斥锁6. 信号锁7. 事件锁8. 全局解释器锁 GIL1. 普通多线程# 1. 主线程,子线程各单独执行,最终都正常结束import threadingimport time def doWaiting(): print(f"start waiting: {time.strftime('%H:%M:%S')}") time.sleep(3)原创 2021-09-22 17:23:10 · 741 阅读 · 0 评论 -
Python matplotlib 报错:RuntimeError: In set_size: Could not set the fontsize:弄清 figsize 和 dpi 的含义
问题保存图片时报错:RuntimeError: In set_size: Could not set the fontsizeTraceback (most recent call last): File "/Users/robin/MLcode/Pycharm_Project/tensorflow/2021/0823_face_recognition_environment/0827_img_quality_analysis_v4.py", line 1556, in <module>原创 2021-09-15 17:01:14 · 1565 阅读 · 0 评论 -
Python 字典的key的要求:需要唯一
以下是错误示范:dic = {1:'hello', Ture:'sss'}原因是hash(1) = hash(True) = 1注:key 可以是除了 list 和 dict 以外的所有类型!原创 2021-09-14 06:17:01 · 628 阅读 · 0 评论 -
python matplotlib:解决保存的图片是空白的问题
原因可能是:图片显示plt.show() 用在了plt.savefig()图片保存之前(plt.show()一定要用在最后,因为它会将画布刷新)原创 2021-09-14 05:31:19 · 2614 阅读 · 0 评论 -
Python Matplotlib绘图:解决汉字显示乱码问题
失败方法增加 plt.rcParams['font.sans-serif'] = ['SimHei'] # Or any other Chinese characters依然报错:findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans.有效方法问题的原因是库中的 font 文件夹中不包含相关字体接下来是正片:下载SimHei点击下载放入目录fonts/ttf下获取目录的原创 2021-09-13 18:18:28 · 356 阅读 · 0 评论 -
一文了解 Python 图像处理
文章目录1. 图像读取1.1 二进制读取1.2 数组读取2. 图像处理2.1 图像缩放2.2 图像裁剪2.3 像素级操作3. 完整代码1. 图像读取网上各种图像读取方法,我这里只根据目的划分为二进制和数组读取,两种方式——前者用于网络传输,后者用于广义上的图像处理。1.1 二进制读取使用ope() 以及 read()即可,其中使用'rb'指定以二进制的方式读取,用read而不是readline或者readlines,是读取全部的数据。with open(data_path, 'rb') as f:原创 2021-08-28 07:13:07 · 449 阅读 · 0 评论 -
Numpy:numpy.append 以及与 numpy.concatente 的区别
问题报错:AttributeError: 'numpy.ndarray' object has no attribute 'append'解决列表中用 append 直接添加元素,但是 numpy 数组需要使用 numpy.append(arr,values,axis=None)其中有两点需要注意,举例说明:目标:在下面的数组中增加一行 「255, 255, 255】[[100 88 77] [126 123 116] [ 31 27 23] [181 174 163] [219原创 2021-08-28 07:12:21 · 1393 阅读 · 0 评论 -
Python 日志快速上手
日志等级:日志使用:基本:使用 logging 模块的几个函数即可高阶:自定义输出位置(控制台或者文件)、颜色显示等原创 2021-07-28 11:18:17 · 126 阅读 · 1 评论 -
运行Python脚本的几种方法
运行Python脚本的几种方法1. 命令行运行2. 在其它脚本中调用运行2.1 通过`import`导入2.2 使用`os.system()`来执行1. 命令行运行只需在Python脚本的尾部添加代码:if __name__ == 'main': test()则该脚本可以在命令行直接被执行。2. 在其它脚本中调用运行对于包含了abc()函数的Python脚本test.py,在其它脚本中调用它的方法有两种:2.1 通过import导入import testtest.abc(xxx)原创 2021-04-19 14:20:48 · 3561 阅读 · 0 评论 -
Python:获取地址字符串中的最后的文件/文件夹名(字符串)
当前地址:print(os.getcwd())- 获取目录最后一层的文件夹名称:os.path.split(target_path)[1]具体操作:cwd = os.getcwd()file_name = os.path.split(cwd)print(file_name)原创 2021-04-13 16:54:32 · 2548 阅读 · 0 评论 -
极简Python:用opencv实现人脸检测,并用本地摄像头实现视频流的人脸识别
文章目录1. 图片人脸识别2. 图片人脸检测+人眼检测3. 视频流的人脸识别包括图片级别的人脸检测和调用本地摄像头实现视频流级别的人脸识别。废话不大多说,直接上代码,喜欢的同学可以收藏!1. 图片人脸识别使用 OpenCV 中的 Haar 级联检测import cv2# 读取图片,并获得灰度图img = cv2.imread('/Users/robin/.../7_surprise2.jpg', 0) #(-1:原图、0:灰度图、1:彩色图、-1:原图)print(img.shape)原创 2021-03-25 09:38:59 · 1597 阅读 · 0 评论 -
Python 获取对象大小和文件大小
sys.getsizeof:计算Python对象的大小(字节)os.path.getsize():获得文件的大小(字节)import os, sys# sys.getsizeof()print(sys.getsizeof('1'))print(sys.getsizeof([]))print(sys.getsizeof(1))print(sys.getsizeof(dict()))print(sys.getsizeof(set()))print()# os.pat.get.原创 2021-03-03 14:36:49 · 1255 阅读 · 1 评论 -
Python 极简核心:文件
#读和写open函数(以下都省略了打开的文件)open(, r):只读open(, r+):读 + 写open(, w):只写open(, w+):写 + 读open(, a):追加方式写open(, a+):追加方式写 + 读即,加号'+'代表额外方式区别:w+与r+区别r+:可读可写,若文件不存在,报错;w+: 可读可写,若文件不存在,创建##read函数read():text ——> one whole strreadline():one line ——>原创 2021-03-02 18:43:46 · 219 阅读 · 0 评论 -
Python:认识位运算
认识位运算(1)what程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。(2)why由于位运算直接对内存数据进行操作,不需要转成十进制,因此处理速度非常快。#位运算的使用位运算符号描述规则实际用处位与(and)&对应位同为1,得10&0=0;0&1=0;1&0=0;1&1=1and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可原创 2021-02-09 14:03:21 · 168 阅读 · 0 评论 -
Python 极简核心:类
Python 极简核心:类1. 类的意义2. 类属性和类方法概念例子3. 为什么使用__init__和 self ?1. 类的意义首先,需要明白的是“类“这种语法结构存在的目的:将数据和操作数据的方法封装在一个类中,类的成员函数是类对外的接口,而这也正是面向对象语言的本质。面向过程和面向对象面向过程:以函数为中心,以函数作为划分程序的基本单位,数据往往处于从属地位。面向对象:以数据为中心,以类作为数据的表现工具,类是划分程序的基本单位,函数成为类的接口。2. 类属性和类方法概念下面原创 2021-02-07 17:43:01 · 180 阅读 · 2 评论 -
Python 极简核心·总章
Python 极简核心·总章Python 极简核心:程序之道Python 极简核心:对象Python 极简核心:变量Python极简核心:字符串(string)Python 极简核心:函数原创 2021-02-07 10:28:51 · 247 阅读 · 0 评论 -
Python 极简核心:函数
匿名函数原创 2021-02-07 10:26:52 · 301 阅读 · 3 评论 -
Python 极简核心:数据类型
Python 数据类型 极简核心原创 2021-02-07 10:26:03 · 212 阅读 · 2 评论 -
Python 极简核心:变量
命名作用域赋值原创 2021-02-07 10:25:20 · 238 阅读 · 0 评论 -
Python 极简核心:对象
对象Python 中一切皆对象。变量变量是对象的引用赋值就是建立一个对象的引用值和对象的区别?Every object has an identity, a type and a value.变量和对象的区别?In Python, variables are references to objects and any variable can reference any object....原创 2021-02-07 10:24:35 · 216 阅读 · 0 评论 -
Python 极简核心:程序之道
极简理解 Python 编程:stage1(初级了解):程序 = 值(value)+ 操作符(operator)stage2(深入了解):程序 = 值(value)+ 操作符(operator)+ 控制流(control flow)原创 2021-02-07 10:21:55 · 165 阅读 · 1 评论 -
Python:变量的作用域与LEGB原则
文章目录1. 作用域 / 命名空间1.1 作用域的定义1.2 作用域的前提2. LEGB 原则3. 实例函数是Python中的第一类对象 ,可以把函数赋值给变量,对该变量进行调用,可实现原函数的功能。(变量——函数——函数式编程)1. 作用域 / 命名空间1.1 作用域的定义作用域:程序创建、访问、改变一个变量时,都是在一个保存该变量的空间内进行,这个空间为命名空间,即作用域。python作用域是静态的,变量被赋值、创建的位置决定了其被访问的范围,即变量作用域由其所在位置决定。1.2 作用原创 2021-01-14 14:03:09 · 1868 阅读 · 0 评论 -
命令行运行带参数的Python脚本:sys.argv
sys.argv 模块理解例子想要在命令行运行带参数的Python脚本:xxx.py arg1 arg2 …,有几种方法可以实现:sys.argv 模块、argparse 模块和第三方的 click 模块等。以下使用sys模块的 argv 属性(sys.argv)理解任何一个 Python 脚本在启动的时候都有这个属性,它是一个列表,列表的第一个参数是脚本命令(脚本的名称),列表后面的参数就是命令行传入的参数,所以可以在脚本中提取这些参数传入到函数中运行。例子#!/Users/robin/sof原创 2021-01-14 13:27:36 · 563 阅读 · 1 评论 -
Python 高阶函数:一文搞透 map()、reduce()、filter()
文章目录0. 写在前面1. map概念和代码本质理解2. reduce概念和代码本质理解3. filter概念和代码本质理解4. 后续思考:why?0. 写在前面首先 要知道map()、reduce()、filter()属于高阶函数;其次要知道它们属于函数式编程的范式;最后来看一下它们具体的概念和用法。若前两点有不明白的,可以看之前的文章:Python从基础到进阶——「函数&函数式编程」下面开始直接上干货。1. map概念和代码# map(function, iterable) -原创 2021-01-13 13:56:14 · 163 阅读 · 0 评论 -
MapReduce 以及 Python中的Map和Reduce
MapReduceMapReduce由来Map和ReducePython中的并行计算(先挖个坑)MapReduce由来MapReduce最早是由Google公司研究提出的一种面向大规模数据处理的并行计算模型和方法,论文地址:MapReduce: Simplified Data Processing on Large ClustersDoug Cutting 基于Java设计开发了一个称为Hadoop的开源MapReduce并行计算框架和系统Map和ReduceMap 函数原型map(*原创 2021-01-13 09:57:59 · 336 阅读 · 0 评论 -
Python 递归
文章目录1. 一个前提:目标明确2. 特性一:基本特例3. 特性二:定义规则学要学会递归要把握三大要素:一个前提和两个特性1. 一个前提:目标明确容易被忽略、而又非常重要的前提——明确你的想法:你想要设计这个函数完成什么样的任务。2. 特性一:基本特例基本特例,也称作平凡(一般)情况,它是递归终止的情形。也就是说在明确函数的目标之后,我们必须寻找出递归的结束条件。问题是如何找这个结束条件?也即,我们需要找出当参数取什么值时递归结束,之后直接把结果返回。其实,这个条件并没有那么严格,也不用想那原创 2021-01-12 20:27:57 · 193 阅读 · 2 评论 -
Python 进程与线程(Process vs. Thread)
文章目录1. 简单理解CPU:一座(电力有限的)工厂进程:工厂的车间——”容器“线程:(同一个)车间里的工人——容器中的“工作单位”进程的空间:车间的空间2. 本质核心进程进程分类进程的状态线程3. Python用法4. 更多:操作系统1. 简单理解CPU:一座(电力有限的)工厂电力一次只能供给一个车间运行:单个CPU一次只能运行一个任务注:多核的CPU就像有了多个发电厂,使多工厂(多进程)实现可能。进程:工厂的车间——”容器“进程代表CPU所能处理的单个任务任一时刻,CPU总是运行一原创 2021-01-12 11:08:20 · 275 阅读 · 0 评论 -
Python 处理时间和日期:time 模块和datetime 模块
简单用法模块调用:from datetime import datetime显示当前时间:print(datetime.now()),其格式为<class 'datetime.datetime'>,并非字符串datetime转换为str:print(datetime.now().strftime('%Y%m%dT%H%M')),结果样例:20210108T1047,中间用了一个字母T连接(时间字符串参考:python文档)时区转换(暂略)参考:datetime...原创 2021-01-08 13:35:56 · 356 阅读 · 0 评论 -
Python 网络编程记录:TCP socket wav 音频传输
文章目录服务端常见问题分包和粘包问题阻塞问题丢包问题wav音频的传输和保存其他记录在实际学习过程中遇到的一些问题,从需求和问题出发。服务端常见问题分包和粘包问题参考核心:客户端要告知服务端什么时候传输完毕,避免让服务端持续地等待接收而跳不出包含了recv()函数的while循环。一条可行的解决办法:将数据长度写进包头阻塞问题点击核心:每次传输完毕之后,客户端需要断开socket!丢包问题wav音频的传输和保存点击核心:使用 wave.writeframes()写入音原创 2021-01-07 16:27:19 · 2604 阅读 · 0 评论 -
Python TCP socket编程 recv 阻塞
程序在包含着 recv()函数的循环内出不去:解决办法:参考:Redis网络编程 python socket recv阻塞?原创 2021-01-06 15:55:25 · 1761 阅读 · 0 评论 -
Python:在函数内部修改全局变量
目的:想要num=10之后,将全局的num由0变为11. 错误num = 0def count_num(num): print('do sth') for i in range(20): num += 1 if num == 10: num = 1 break print(f'inner num :{num}')count_num(num)print(f'outer num:{num}')原创 2021-01-06 13:03:53 · 995 阅读 · 0 评论