Python学习
文章平均质量分 75
alxe_made
个人对机器学习、深度学习比较感兴趣。
展开
-
fontTools库来检测字体文件中是否包含某字符
在使用字体渲染某些字符时,有可能渲染出空白或者“口”字形,原因在于该字体文件中不包含该字符的字形。可能的原因包括:字符不在字体的cmap表中(cmap表是字体文件声明的支持字符表);字符不在字体的glyf表中(glyf表是字体文件中实际包含的字形,类似svg描述);未知原因,需要人工进行查看,有些字体比较坑,缺失的字体就随便填个glyf。第一种原因的检测方法:首先我们查看TTFont定义:ttFont: Read/write OpenType and TrueType fonts可选的.原创 2021-11-30 10:15:53 · 3622 阅读 · 0 评论 -
python:lru_cache装饰器
缓存是什么?缓存是一门优化技术,就是将数据存放在比访问源数据成本更低、速度更快的位置上。 比如别人在微信上发送一个文件给你,你第一次访问可能要下载这源文件,然后下载到本地,等你下一次在打开它的时候,其实是从本地打开的。 那么这里的本地存放位置相当于是“缓存”,它比再去访问源文件,比如要下载,速度更快、成本更低。1. lru_cache装饰器是什么了?我们可以用一个字典来模拟这种策略,比如定义一个dict,如果该元素不在dict中,我们就push进去,但是这样就会存在一个问题,这个dict的数目会越来.原创 2021-11-29 17:28:47 · 1688 阅读 · 0 评论 -
Python 中logging使用指南
记录日志是追踪事件的一种手段。通过添加日志,开发者可以清楚地了解发生了哪些事件,包括出现了哪些错误。logging 模块提供了一系列便捷的函数,用于简单的日志记录。它们分别是 debug(), info(), warning(), error() 和 critical()。1. 简单例子:import logging # 创建一个logger logger = l...原创 2018-05-30 14:19:33 · 6906 阅读 · 2 评论 -
Ubuntu 16.04.3 安装Sublime Text 3以及相关控件
Sublime Text是一个轻量、简洁、高效、跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。1. 安装1.1 通过apt命令直接安装wget -qO - https://download.sublimetext.c...原创 2018-06-21 11:25:44 · 9406 阅读 · 2 评论 -
Qtcreator中C++调用python方法
最近可能需要做一个项目,可能需要c++中调用python,在网上找了一些资料学习了一下。1. 创建c++ 和 python文件首先在qtcreator创建一个qt console application然后在项目中添加一个python文件:最后项目结构如下图所示:2. 修改python和c++文件2. 1 修改test_py.py文件如下#!/usr/bin...原创 2018-10-25 19:06:51 · 21874 阅读 · 28 评论 -
使用python常用的一些技巧(持续更新)
最近在看EDSR的pytorch代码,不得不佩服作者强大的代码的能力,这里列举一些个人觉得以后学习工作可能会用到的python函数,只是大概介绍一下使用。1. 如何像linux命令行那样跑demoargparse模块现在一般跑深度学习都是使用命令行参数跑的,他会给我们的程序传递很多外部参数,这个可以参考我之前的文章Python命令行解析工具:Argparse简单使用2. 如何利用...原创 2018-12-04 22:47:13 · 2753 阅读 · 1 评论 -
利用python检查文件或文件夹是否存在
在深度学习中,我们经常会用到判断一个文件或者文件夹是否存在,如果不存在的话那么我们需要建立一个。那么判断文件和文件夹是否存在常用的有哪些函数了?这里逐一给您娓娓道来。0. 准备首先我们建立如下所示的层级结构,我们在/home/os_test之下,建立起一个文件夹dir还有两个txt文件file.txt,link.txt。因为我们这里是使用python代码,需要用到os这个包,所以我们导...原创 2018-11-28 09:33:19 · 5781 阅读 · 0 评论 -
Sklearn 相关使用(cross-valiation)
Sklearn 相关使用(cross-valiation)参考教程:莫凡sklearn学习1.sklearn 基本用法#!/usr/bin/env python3# -*- coding: utf-8 -*-'a simple cross valiation'__author__ = 'xuchao'from sklearn.datasets import load...原创 2018-05-29 11:25:24 · 426 阅读 · 0 评论 -
Python中Pandas包的简单使用
Pandas简单使用 由于Python本身的限制,当数据太大的时候,而无法一次载入内存,需要进行分块导入,并对查询做出相应的修改。import pandas as pd # 导入pandasimport numpy as np # 导入numpyimport matplotlib.pyplot as pltdates = pd.date_range('2012120...原创 2018-05-29 11:15:03 · 3251 阅读 · 0 评论 -
Python中Matplotlib包的简单使用
本篇博客主要是参考莫凡python教程1. 基础使用import matplotlib.pyplot as pltimport numpy as npx = np.linspace(-1,1,50)y = 2 * x + 1plt.figure()plt.plot(x,y)plt.show()2. 设置figureimport matplotlib....原创 2018-05-29 10:45:33 · 8724 阅读 · 0 评论 -
Numpy中数组array和矩阵matrix区别
NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在NumPy中维度(dimensions)叫做轴(axes),轴的个数叫做秩(rank),和线性代数中的秩不是一样的;在用python求线代中的秩中,我们用numpy包中的linalg.matrix_rank方法计算矩阵的秩。import num...原创 2018-05-29 10:16:16 · 9499 阅读 · 0 评论 -
解决pip安装第三方库出现ReadTimeoutError错误
最近因为项目的需要需要重新安装一下各种包,然后竟然出现ReadTimeoutError: HTTPSConnectionPool(host=‘pypi.python.org’, port=443) with pip错误。1. 问题出现比如现在我使用命令:pip install scipy然后出现raise ReadTimeoutError(self._pool, None, 'Rea...原创 2019-03-05 22:07:23 · 3906 阅读 · 1 评论 -
python中的easydict模块使用
EasyDict可以让你像访问属性一样访问dict里的变量。1. 问题d = {'foo':3, 'bar':{'x':1, 'y':2}}print(d['foo']) # 如何想要访问字典的元素需要这么写print(d['bar']['y']) # 如果想要继续访问字典中字典的元素需要使用二维数组# print(d.foo) 这样写会出错哦!输出:3...原创 2018-05-30 11:14:31 · 14017 阅读 · 1 评论 -
python中的join和os.path.join用法
1. join函数 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回1.1 函数定义 'sep'.join(seq)sep:分隔符,可以为空,另外还有:等等seq:要连接的元素序列、字符串、元组、字典用法说明:以sep作为分隔符,将seq所有的元...原创 2018-05-30 11:07:02 · 2444 阅读 · 0 评论 -
Python面向对象编程(OOP)导论
面向对象编程(OOP)导论 面向对象编程是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向对象编程最核心的思想就是类的概念,面向对象的三大特点就是:数据封装,继承,派生. 在面向对象编程当中,我们可以给用户提供相应的接口函数(API),不仅保证了代码的安全性封装性,也减少了用户的开发流程。1. 类(Class)和实例(Instanc...原创 2018-05-28 17:15:37 · 445 阅读 · 0 评论 -
Python模块使用注意事项
Python模块 Python中,一个.py文件就是一个模块(module),好处就是你可以调用自己写的模块或者第三方模块,这样在代码开发的成本上可以大大节约开发时间。在Python编程当中如果使用多个模块,那么编程使用模块和其重复了,可以借助Python Package进行封装,那么这样的话就不会产生命名的错误。这里的话我们建立了mycompany这个package,一个pack...原创 2018-05-28 17:22:41 · 636 阅读 · 0 评论 -
Python高阶函数简单使用总结
高阶函数 Python中如果将一个函数名传送给另一个函数作为形参,那么就成这个函数为高阶函数简单例子:f = abs # 这就表示Python中函数名是可以传送给变量的print(f(-9))def add(a,b,f):return f(a)+f(b)print(add(1,2,abs)) # 如果将函数名传入为另一个函数参数,这样的叫做高阶函数常见高阶...原创 2018-05-28 17:31:47 · 1114 阅读 · 0 评论 -
Python切片简单使用
Python切片(针对List和Tuple常见的操作)1.切片首先定义List=[1,2,3,4,5,6,7,8,9,10]List[0:3] 表示取前面三个元素,索引是从0-3,即List[0],List[1],List[2],默认步长是1List[0:3:2] 和上面的类似,只是步长是2List[start,end,step] start:起始索引,end终止索引,ste...原创 2018-05-28 17:41:43 · 6270 阅读 · 0 评论 -
Python函数使用小结
1. 函数调用python在调用函数的时候,注意到形参的类型以及形参的个数是否和已知函数参数相匹配, 函数名其实就是指向一个函数对象的引用,完全可以把函数名赋给一个变量,相当于给这个函数起了一个“别名”,相当于C语言里面引用操作,给函数取了一个别的名字。>>> a = abs # 变量a指向abs函数>>> a(-1) # 所以也可以通过a调用abs函...原创 2018-05-28 20:54:50 · 821 阅读 · 0 评论 -
Python数据类型
数据类型和变量1. Bool和FalsePython程序是大小写敏感的,如果写错了大小写,程序会报错。如果需要打印出./之类数据,需要使用转义字符如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用”’…”’的格式表示多行内容在Python中,可以直接用True、False表示布尔值(请注意大小写),也可以通过布尔运算计算出来Python是一种...原创 2018-05-28 21:10:54 · 165 阅读 · 0 评论 -
Python中zip函数用法
背景: stackA simple introduction about the zip I have a list of 2-item tuples and I’d like to convert them to 2 lists where the first contains the first item in each tuple and the second list holds ...原创 2018-05-29 14:46:36 · 8914 阅读 · 3 评论 -
Python中lambda使用简单小结
lambda简单介绍1. 什么是lambda 简单来说,编程中提到的 lambda 表达式,通常是在需要一个函数,但是又不想费神去命名一个函数的场合下使用,也就是指匿名函数。这一用法跟所谓 λ 演算(题目说明里的维基链接)的关系,有点像原子弹和质能方程的关系,差别其实还是挺大的。举例子说明:g = lambda x : x+1g(1)输出:2可以这样...原创 2018-05-29 15:11:22 · 25233 阅读 · 0 评论 -
Python局部变量和全局变量区别
1. 定义 全局变量:在模块内、在所有函数外面、在class外面,这就是全局变量 局部变量: 在函数内、在class的方法内(未加self修饰),这就是局部变量2. 如何使用: 在def中,我们可以定义一个局部变量,该变量仅仅在函数体中有生存期,出了这个函数体,变量就不能使用了。def fun(): a = 10 print(a) re...原创 2018-05-29 15:31:52 · 9191 阅读 · 0 评论 -
pychon异常处理机制
Python中的异常1.什么是异常? 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。2. 异常处理 捕捉异常可以使用try/except语句。2.1 try/e...原创 2018-05-29 15:42:52 · 323 阅读 · 0 评论 -
Python命令行解析工具:Argparse简单使用
argparse模块作为optparse的一个替代被添加到Python2.7。argparse的实现支持一些不易于添加到optparse以及要求向后不兼容API变化的特性,因此以一个新模块添加到标准库。1. 使用流程1.1 设置一个解析器使用argparse的第一步就是创建一个解析器对象,并告诉它将会有些什么参数。那么当你的程序运行时,该解析器就可以用于处理命令行参数。...原创 2018-05-30 10:54:35 · 836 阅读 · 0 评论 -
python常用的一些基础用法
声明:这些完全是自己平时学习python一些简单的想法和思考,并不是系统学习python博客。1.Python中的Type首先,Python在实际中是可以使用type进行输出类型名字的,另外也可以通过isinstance()函数进行判断是否正确的注意另外,在Python中我们是不支持++和--操作符的。但是我们可以使用+=,或者*=这种操作符2.Booleans: Python implement...原创 2018-05-27 20:45:36 · 4710 阅读 · 0 评论