这篇文章介绍了9个Python技巧,帮助编写更优雅的Python代码。
Pythonic 是优雅的同义词Python之禅最早由 Tim Peters在Python邮件列表中发表,它包含了影响[Python编程语言设计的19条软件编写原则。
Python之禅的内容:
优美优于丑陋,
明了优于隐晦;
简单优于复杂,
复杂优于繁杂,
扁平优于嵌套,
稀疏优于稠密,
可读性很重要!
特例亦不可违背原则,
即使实用比纯粹更优。
错误绝不能悄悄忽略,
除非它明确需要如此。
面对不确定性,
拒绝妄加猜测。
任何问题应有一种,
且最好只有一种,
显而易见的解决方法。
尽管这方法一开始并非如此直观,
除非你是荷兰人。
做优于不做,
然而不假思索还不如不做。
很难解释的,必然是坏方法。
很好解释的,可能是好方法。
命名空间是个绝妙的主意,
我们应好好利用它。
优美优于丑陋,这不仅是《Python 禅》的第一句话,也是所有 Python 开发者的信条。
但如何区分代码的美丑呢?更重要的是,如何编写漂亮的 Python 代码?
空谈误国。将以初学者易懂的示例演示 ...
今天读到了一个行业前辈在他博客写文章:基于Google影像的大数据几何校正思考
基于这篇文章,写一写我的思考。
前辈的文章以下是前辈文章的内容:
前一段时间一直在闲暇的时候做着无人机影像处理方面的工作,也算是小有建树了。前两天突然有了一个思考,那就是关于如何更快速的进行校正处理,实际上我们处理的图片,或者说我们处理的影像在很多情况下只需要有一个准确的相对位置关系而并不是需要绝对精度有多么的高,因为理论上影像绝对精度不可能高于影像分辨率,因为控制点的选取本身对于影像来说从影像上选取像控点就存在误差,而亚像元精度的像控点选取通过测量控制点的方式几乎是无法做到的,鉴于此种情况,我认为影像的校正处理还是应该集中在相对位置的校正上,而绝对未知跟具体的影像质量硬件技术有关。实际上在地图应用的过程中能够与底图叠合我们认为就是比较精确的了,那么我们是不是可以利用Google Map提供的瓦片数据自动的选取控制点进行校正。对于以上采用Google Map瓦片数据进行校正我认为主要有两个优势:
1.Google Map在全球的数据能够完美的拼接,且作为地图标准的底图都是以它为标准
2.数据获取免费且方 ...
之前介绍如何通过pdfplumber获取PDF的文本。
基于上次所写的内容,继续深挖。现在使用Python从PDF中提取文本并转换为Markdown的实际操作。
背景现在有12个注册测绘师综合真题的PDF,但是里面很多广告,个人希望把这些广告消除了。如果是少量pdf,那么用WPS然后花钱开会员的应该能把广告清理掉。但是这12个PDF对应着12年的注册测绘师综合真题,每个PDF有100页,一页一道真题。如果手动清理广告,这个工作量是很大的。
先把PDF转为文本,然后对这些文本进行数据清理,这个是对单个PDF的转纯净文本的思路。
思路这个编程思路,也是我平常写代码去解决问题的思路。
先解决简单的问题,提取共性,再解决复杂的问题,在这过程中把握好输入输出。
这句话有很多种角度去理解。
就具体事情来说,先解决单个PDF格式转换文本,再进行数据清洗。进而解决批量PDF格式转换文本且数据清洗。
单个PDF格式转换文本相关实现代码如下:
def read_pdf(pdf_path):
with pdfplumber.open(pdf_path) as pdf:
...
categories: [编程,python]
函数名
函数名
函数名
函数名
函数名
abs
aiter
all
any
ascii
bin
bool
bytearray
bytes
callable
chr
classmethod
compile
complex
delattr
dict
dir
divmod
enumerate
eval
exec
exit
filter
float
format
getattr
globals
hasattr
hash
help
hex
id
input
int
isinstance
issubclass
iter
next
len
list
locals
map
max
min
oct
open
ord
pow
print
property
quit
range
repr
reversed
round
set
sorted
str
sum
tuple
type
zip
abs()负数变为正数。正数仍然是正数。
print(abs(-10)) # 10 ...
https://readmedium.com/zh/yolo-intuitively-and-exhaustively-explained-83143925c7a9
计算机视觉领域视觉提示的五大进展
图像理解:简单的视觉标记能够帮助基础模型更好地理解图像中的特定部分。
MLLMs(多模态大型语言模型):利用场景图使多模态大型语言模型能够更精准地描述图像,无需额外的训练数据。
基础模型改进:通过策略性的视觉提示改进视觉基础模型(如SAM),提升其性能。
增强泛化能力:训练人工智能快速识别新(未知)对象,同时保留对旧(已知)对象的记忆。
视觉提示与主动学习结合:AI能够智能地学习新的视觉任务,使用更少的例子,且不会忘记已学的知识。
本文探讨了视觉提示技术,这是一种使大型视觉模型能够适应新任务的方法。
除了定义这种方法并从系统角度阐述提示可调模型如何革新这一领域,我们还着重介绍了CVPR 2024上提出的五个最具影响力的视觉提示进展。
目录
什么是视觉提示Visual Prompting
视觉提示:一种系统视角
CVPR 2024上抢尽风头的视觉提示进展
接下来会发生什么
1.什么是视觉提示?What is Visual Prompting?
1.1 视觉提示的起源视觉提示可以追溯到 2001 年发表的《Image Analogies》,其中研究人员 ...
这些技巧使得处理 Python 中的字典变得更加愉快和优雅。
1)使用 dict(key=value) 创建字典# 正常的方式创建字典,使用字典推导式的语法
normal_dict = {
'red': 'apple',
'orange': 'orange', # 注意颜色和水果名称相同,但这里用作键和值
'yellow': 'banana',
'green': 'grape'
}
# '更好'的方式创建同样的字典,使用dict()构造函数和关键字参数
better_dict = dict(
red='apple', # 键值对直接在函数调用中定义
orange='orange', # 注意这种方式避免了使用元组或列表
yellow='banana', # 直接键=值的形式
green='grape' # 不需要额外的括号或逗号分隔
)
# 打印两个字典以验证它们是否相同
print(normal_dict)
print(better_dict)
为什么后一种是 ...
在地理空间分析领域,温度植被干旱指数(TVDI)是一种广泛采用的遥感指标,用于评估区域干旱状态。它结合了地表温度(Land Surface Temperature, LST)和归一化植被指数(Normalized Difference Vegetation Index, NDVI)的信息,可以有效揭示土壤水分状况。本文将深入探讨如何使用Python中的GDAL、NumPy和Matplotlib库来处理地理空间数据,计算TVDI,并将其可视化。
准备工作确保安装了以下库:
GDAL:用于地理空间数据的操作和读取。
NumPy:用于高效数组处理和数学运算。
Matplotlib:用于数据可视化。
实现细节数据准备与读取首先,我们需要从TIFF文件中读取NDVI和LST数据。这可以通过GDAL的gdal.Open()函数完成,随后使用GetRasterBand().ReadAsArray()方法将波段数据转换为NumPy数组。
def get_data(file_ndvi, file_lst):
ndvi_tif = gdal.Open(file_ndvi, gdal.GA_Re ...
虽然PDF文件对文本布局非常好,容易打印并阅读,但软件要将它们解析为纯文本并不容易,Python目前解析PDF的扩展包有很多。
通过查询资料,建议使用pdfplumber扩展包来解析PDF文档的文本和表格。本文介绍如何通过pdfplumber获取PDF的文本。
准备工作确保安装了以下库:
pdfplumber
若没安装,请在命令行使用以下语句进行安装:
pip install pdfplumber
pdfplumberpdfplumber中有两个基础类,PDF和Page。PDF用来处理整个文档,Page用来处理整个页面。
1.1 pdfplumber.PDF类
.metadata: 获取pdf基础信息,返回字典
pages 一个包含pdfplumber.Page实例的列表,每一个实例代表pdf每一页的信息。
1.2 pdfplumber.Page类pdfplumber核心功能,对PDF的大部分操作都是基于这个类,包括提取文本、表格、尺寸等。
pdfplumber的使用指南使用 pdfplumber 库解析 PDF 的分步指南。
步骤 1:安装 pdfplumber 库 首先, ...





