当前位置: 首页 > news >正文

Python超能力:高级技巧让你的代码飞起来

文章一览

  • 前言
  • 一、with
    • 1.1 基本用法
    • 1.2 示例
    • 自定义上下文管理器
  • 二、条件表达式
  • 三、列表式推导式
      • 与 zip 结合
  • 四、map() 函数(内置函数)
    • map用于数据清洗
        • 1. 数据清洗:字母大小写规范
        • 2. filter() 函数
  • 五、匿名函数 lambda
    • 5.1 lambda的参数(argument_list)和表达式
    • 5.2 lambda 函数与其它函数搭配使用
    • 5.3 匿名函数的优势

前言

在当今这个技术日新月异的时代,Python已经成为全球开发者的首选语言之一,它以其简洁、高效和强大的功能闻名于世。然而,Python的真正魅力远不止于此——它隐藏着许多高级技巧,这些技巧能够极大地提升你的编程能力,让你的代码更加优雅、高效和强大。这些高级技巧是Python高手的秘密武器,它们能够解决复杂的问题,优化性能,甚至改变你对编程的看法。

现在,让我们一起揭开Python高级技巧的神秘面纱,探索那些让代码更智能、更灵活的高级特性。无论你是Python新手还是老手,这些高级技巧都将为你打开新世界的大门,让你的编程之路更加宽广。

准备好了吗?让我们一起踏上这段激动人心的Python高级技巧之旅,解锁编程的新高度,成为真正的Python大师!

一、with

在Python中,with语句是一种上下文管理协议,用于包装代码执行前后的初始化与清理工作。它使得代码更加简洁,易于阅读,并且能够自动管理资源,比如文件操作、线程锁的获取与释放等。with语句通过__enter__()__exit__()这两个方法来实现资源的封装管理。

1.1 基本用法

with expression as variable:# 在这个代码块中,可以使用variable# 执行一些操作# ...
# 当离开这个代码块时,会自动执行一些清理工作

这里的expression必须是一个上下文管理器(context manager)对象,它必须实现__enter__()__exit__()方法。__enter__()方法在进入代码块之前被调用,其返回值(如果有的话)会被赋值给as子句中的variable__exit__()方法在代码块执行完毕后被调用,无论是正常结束还是由于异常而结束。

1.2 示例

例1:文件操作

使用with语句进行文件操作是一个很好的例子,因为它可以自动管理文件的打开和关闭:

with open('example.txt', 'r') as file:content = file.read()print(content)
# 文件在这里自动关闭

在这个例子中,open()函数返回一个文件对象,这个对象是一个上下文管理器。当进入with语句的代码块时,__enter__()方法被调用,返回的文件对象被赋值给file变量。当离开代码块时,__exit__()方法被调用,文件被自动关闭。

自定义上下文管理器

也可以通过定义一个类,并实现__enter__()__exit__()方法来创建自己的上下文管理器:

class MyContextManager:def __enter__(self):print("Entering")return self  # 可以返回任何对象,或者Nonedef __exit__(self, exc_type, exc_val, exc_tb):print("Exiting")# 如果需要,可以在这里处理异常# 如果处理了异常,应该返回True# 否则,返回False(或者省略return,默认为False)return Falsewith MyContextManager() as cm:print("Inside the context manager")
# 输出:
# Entering
# Inside the context manager
# Exiting

​ 在这个例子中,MyContextManager类定义了一个简单的上下文管理器,它在进入和离开with语句的代码块时分别打印消息。注意,__exit__()方法接收三个参数,分别用于异常处理:exc_type是异常类型,exc_val是异常值,exc_tb是异常跟踪信息(traceback)。如果__exit__()方法返回True,则异常会被忽略(即被处理)。如果返回False(或没有返回值,默认为False),则异常会被正常抛出。

二、条件表达式

if x > 0:y = x*2
else:y = x# 使用条件表达式
y = x*2 if x > 0 else x

简单的条件表达式可以直接写到一行上,而且不用冒号了“:”

三、列表式推导式

列表推导式 是Python基础,也是最受欢迎的 Python 特性之一

>>> a = []
>>> for i in range(0,10):
>>>     a.append(i)
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 使用列表推导式
>>> a = [i for i in range(0,10)]
>>> print (a)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

本质上可以把列表推导式理解成一种集合了 变换 和 筛选 功能的 函数,通过这个函数把一个列表转换成另一个列表

注意:是另一个新列表,原列表保持不变

形式1:[表达式 for 变量 in 列表(或range)]

形式2:[表达式 for 变量 in 列表 if 条件]

格式 1:[expression for item in iterable]

lis = []
for i in range(100):lis.append(i)
print (lis)
# 使用列表推导式
lis = [i for i in range(100)]
print (lis)

格式 2[expression for item in iterable if 条件]

lis = []
for i in range(100):if i % 2 == 0:lis.append(i)
print (lis)
# 使用列表推导式
lis = [i for i in range(100) if i % 2 == 0]
print (lis)
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
b = [x ** 3 for x in a if x % 2 == 0]
print ('a :',a)
print ('b :',b)

从结果上可以看出:如果有筛选条件是先筛选再变换,即先筛掉不满足条件的元素,再进行变换运算。

也可以同时加多个筛选条件,如对大于 5 的且是偶数的元素进行立方运算

>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> b = [x ** 3 for x in a if x % 2 == 0 and  x > 5]
>>> print (b)
[216, 512, 1000]

如对大于 5 的或者是偶数的元素进行立方运算

>>> a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> b = [x ** 3 for x in a if (x % 2 == 0 or x > 5)]
>>> print (b)
[8, 64, 216, 343, 512, 729, 1000]

与 zip 结合

zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个列表组,然后返回由这些列表组组成的列表

a,b 两个列表中相对应的值组合起来,形成一个新列表。例如包含x 坐标的列表与 y 坐标的列表形成相对应的点坐标 [x, y] 列表

>>> a = [1, 2, 3, 4, 5]
>>> b = [6, 7, 8, 9, 10]
>>> c = [[x, y] for x, y in zip(a, b)]
>>> print(c)
[[1, 6], [2, 7], [3, 8], [4, 9], [5, 10]]

四、map() 函数(内置函数)

map(function, iterable,…)

参数function传的是一个函数名,可以是python内置的,也可以是自定义的

参数iterable传的是一个可以迭代的对象,如 列表,元组,字符串

map() 接收一个函数 function 和一个 iterable ,并通过把函数 f 依次作用在 iterable 的每个元素上,得到一个新的 iterable 并返回

给定一列数据,使该列数据中每个元素乘 2

lis = [16,15,13,11,18,17,12,14]
print (lis)
i = 0
for j in lis:lis[i] = j*2i = i + 1
print (lis)

用 map() 函数如何做呢?

def f(x):return x*2
lis = [16,15,13,11,18,17,12,14]
lis1 = map(f, lis)
print (lis1)

注意:map 函数返回时返回的是一个地址

如果要输出值,必须在外层加上list()

def f(x):return x*2
lis = [16,15,13,11,18,17,12,14]
lis1 = map(f, lis)
print (list(lis1))

获取两个列表对应位置上的最小值

>>> l1 = [1,3,7,10]
>>> l2 = [2,4,6,9]
>>> mins = map (min,l1,l2)
>>> print(list(mins))
[1, 3, 6, 9]

获取多输入整数或浮点数

m,n = map(int,input().split(','))
lis = [*map(int, input().split(','))]
lis = [*map(float,input().split(','))]

map用于数据清洗

什么是数据清洗?

​ 一般拿到初始数据后是不能直接用到模型的。比如字符串有些是大写,有些是小写,有些是首字母大写,现在需要处理成统一的格式(首字母大写),这个过程就是数据清洗

1. 数据清洗:字母大小写规范
'adam', 'LISA', 'barT', 'PYTHON'
>>> def format_name(s):
>>>     s=s[0].upper()+s[1:].lower()
>>>     return s
>>> s = ['adam', 'LISA', 'barT', 'PYTHON']
>>> s = map(format_name, s)
>>> print (list(s))
['Adam', 'Lisa', 'Bart', 'Python']
2. filter() 函数

filter() 函数是 Python 中常用的内置函数,它主要用来根据特定条件过滤迭代器中不符合条件的元素,需要用list函数进行转换,才能得到符合的条件元素组成的新列表

filter(function, iterable,…)

lis = [4,9,3,14,7,10,6,1]
def odd(x):if x % 2 == 1:return x 
newlis = list(filter(odd,lis))
print(newlis)

五、匿名函数 lambda

lambda 函数,或称为匿名函数,是一个没有函数名的简单函数。语法如下:

lambda arguments: expression

lambda 关键字可以用来创建一个 lambda 函数,紧跟其后的是参数列表用冒号分割开的单个表达式

参数(arguments) 和 表达式(expression)由用户自定义

5.1 lambda的参数(argument_list)和表达式

lambda arguments: expression

匿名函数的 arguments 和普通函数参数一样,可以有非常多的形式

  • expression中出现的参数需要在 argument 中有定义,并且表达式只能是单行的

lambda 函数输入是传入到 argument的值,输出是根据 expression 计算得到的值

例如,lambda x: 2 * x 是将任何输入的数乘 2,而 lambda x, y: x+y 是计算两个数字的和。语法十分直截了当

y = lambda x: 2 * x
print(y(6))
def f(x,y):return x+y
f (10,20)# lambda 表达式
f = lambda x,y: x+y
print (f(10,20))

简单说,lambda 函数用于定义简单的、能够在一行内表示的函数。特别提醒

  • 只能写一个表达式,表达式的结果就是返回值
  • 不用 return 语句

与其他的使用常规 def 关键字创建的函数不同,lambda 函数没有名字

5.2 lambda 函数与其它函数搭配使用

lambda 函数经常和高阶函数一起使用,比如 map 或 filter

l1 = [1,3,5,7,9]
l2 = [2,4,6,8,10]
result = map (lambda x,y: x * 2 + y, l1,l2)
print (list (result))
>>> m = lambda *args : sum(args)
>>> print (m(3,4,5,6))
18
>>> lis = [-10, 28, 9, -5, 30, 5]
>>> new_lis = list(filter(lambda x:x>0, lis))
>>> print(new_lis)
[28, 9, 30, 5]

5.3 匿名函数的优势

为什么经常把 for 循环和序列(可迭代)类型数据联合使用?

​ 因为数据在容器里存放,要处理数据就需要对容器里的数据进行遍历

​ 用 for 循环遍历十次百次千次,如果遍历百万千万次呢?for 循环效率低!能不用 for 循环就不用 。可以用匿名函数 lambda,简单的函数操作,返回值是 func 类型,在数据分析和清洗中结合 map() 大量会用到匿名函数。

​ 另外,有些函数如果只是临时一用,而且它的业务逻辑也很简单时,就没必要非给它取个名字不可!

相关文章:

Python超能力:高级技巧让你的代码飞起来

文章一览 前言一、with1.1 基本用法1.2 示例自定义上下文管理器 二、条件表达式三、列表式推导式与 zip 结合 四、map() 函数(内置函数)map用于数据清洗1. 数据清洗:字母大小写规范2. filter() 函数 五、匿名函数 lambda5.1 lambda的参数&…...

move生态

move生态 Move 生态主要围绕着 Move 编程语言及其相关的区块链平台构建,这些平台旨在提供更高的安全性、可扩展性和开发者友好性。以下是关于 Move 生态的一些关键点: 1. 核心区块链平台 Aptos:Aptos 是一个 Layer 1 区块链,专注…...

使用插件时要注意

在使用插件时,需要注意一些关键事项,确保插件能够稳定、安全地工作,并且不会给系统带来风险或负担。以下是使用插件时需要注意的几个重要方面: 1. 插件来源与信任度 官方渠道与可靠来源:总是选择来自官方网站、知名平…...

JVM对象分配内存如何保证线程安全?

大家好,我是锋哥。今天分享关于【JVM对象分配内存如何保证线程安全?】面试题。希望对大家有帮助; JVM对象分配内存如何保证线程安全? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在JVM中,对象的内存分配…...

ApacheStruts2 目录遍历与文件上传漏洞复现(CVE-2024-53677,S2-067)(附脚本)

0x01 产品描述: Apache Struts 2 是一个用于JAVA的MVC框架,它用于快速开发web应用。它的设计目标是使得开发者能够更容易的处理web应用的展现层,数据层,和业务层。0x02 漏洞描述: CVE-2024-53677 漏洞的根本原因是 Struts 框架中不安全的文件上传处理机制。攻击者利用 CVE…...

Scala字符串连接方法—mkString—用法详解

Scala字符串连接方法—mkString—用法详解 在 Scala 中,mkString 是集合(如数组、列表、字符串等)的一种方法,用于将集合中的元素连接成一个字符串。 def mkString(sep: String): Stringdef mkString(start: String, sep: String…...

[实战]Spring Boot启动卡在Root WebApplicationContext initialization completed in

Spring Boot启动 打印Root WebApplicationContext: initialization completed in…这行日志完成后需要等很长时间才能真正启动完成。 分析一下发现是连接某个机器的MySQL就会出现这种情况。使用客户端软件连接MySQL时也很慢,但连接完成后执行MySQL各种语句非常看。…...

什么样的LabVIEW控制算自动控制?

自动控制是指系统通过预先设计的算法和逻辑,在无人工干预的情况下对被控对象的状态进行实时监测、决策和调整,达到预期目标的过程。LabVIEW作为一种图形化编程工具,非常适合开发自动控制系统。那么,什么样的LabVIEW控制算作“自动…...

xshell下载和安装(超详细)

参考:https://blog.csdn.net/hffh123/article/details/135885175 一、xshell官网下载 下载官网:https://www.xshell.com/zh/free-for-home-school/ 二、安装步骤 (一)、直接打开.exe文件 (二)、点击下一步&#xff…...

NS3学习——tcpVegas算法代码详解(2)

NS3学习——tcpVegas算法代码详解(1)-CSDN博客 目录 4.TcpVegas类中成员函数 (5) CongestionStateSet函数 (6) IncreaseWindow函数 1.检查是否启用 Vgas 2.判断是否完成了一个“Vegas 周期” 2.1--if:判断RTT样本数量是否足够 2.2--e…...

PyTorch 神经网络回归(Regression)任务:关系拟合与优化过程

PyTorch 神经网络回归(Regression)任务:关系拟合与优化过程 本教程介绍了如何使用 PyTorch 构建一个简单的神经网络来实现关系拟合,具体演示了从数据准备到模型训练和可视化的完整过程。首先,利用一维线性空间生成带噪…...

链原生 Web3 AI 网络 Chainbase 推出 AVS 主网, 拓展 EigenLayer AVS 场景

在 12 月 4 日,链原生的 Web3 AI 数据网络 Chainbase 正式启动了 Chainbase AVS 主网,同时发布了首批 20 个 AVS 节点运营商名单。Chainbase AVS 是 EigenLayer AVS 中首个以数据智能为应用导向的主网 AVS,其采用四层网络架构,其中…...

es 3期 第18节-分页查询使用避坑的一些事

#### 1.Elasticsearch是数据库,不是普通的Java应用程序,传统数据库需要的硬件资源同样需要,提升性能最有效的就是升级硬件。 #### 2.Elasticsearch是文档型数据库,不是关系型数据库,不具备严格的ACID事务特性&#xff…...

linux检测硬盘

通过fdisk 查看显示所有磁盘或闪存的信息 fdisk -l /dev/sd*使用 badlocks检查 linux 硬盘上的坏道/坏块。也可以修复坏道,但仅限于逻辑坏道,物理坏道只能更换硬盘 badblocks -s -v /dev/vdb1 > /badblocks-vdb1.txt tail -f badblocks-vdb1.txt #检…...

Unity3d 基于UGUI和VideoPlayer 实现一个多功能视频播放器功能(含源码)

前言 随着Unity3d引擎在数字沙盘、智慧工厂、数字孪生等场景的广泛应用,视频已成为系统程序中展示时,不可或缺的一部分。在 Unity3d 中,我们可以通过强大的 VideoPlayer 组件和灵活的 UGUI 系统,将视频播放功能无缝集成到用户界面…...

Ubuntu22.04 LTS 安装nvidia显卡驱动

准备跑老师给定的Github上的多模态源码,但是用了这么久ubuntu还没有尝试过安装nvidia驱动,好在也是一次成功,于是记录下来。 借鉴的是Ubuntu22.04安装显卡驱动(高速、避错版)-CSDN博客这篇文章,按照流程来基本没有问题,不过个人觉得有些步骤比较冗余,所以记录下来 主要…...

Linux编程(清华大学出版社2019年1月第1版)第5章课后作业

5.1 对于执行在时间上有重叠的逻辑流,称为并发流,并发流是并发的 并发不并发并发 5.2 几个箭头几个状态转换关系,箭头上写了可能原因。 在就绪状态不会执行指令,不会有IO请求或主动wait的情况,不会有从就绪状态到阻…...

相机雷达外参标定综述“Automatic targetless LiDAR–camera calibration: a survey“

相机雷达外参标定综述--Automatic targetless LiDAR–camera calibration: a survey 前言1 Introduction2 Background3 Automatic targetless LiDAR–camera calibration3.1 Information theory based method(信息论方法)3.1.1 Pairs of point cloud and image attributes(属性…...

JSON 系列之1:将 JSON 数据存储在 Oracle 数据库中

本文为Oracle数据库JSON学习系列的第一篇,讲述如何将JSON文档存储到数据库中,包括了版本为19c和23ai的情形。 19c中的JSON 先来看一下数据库版本为19c时的情形。 创建表colortab,其中color列的长度设为4000。若color的长度需要设为32767&a…...

分布式专题(10)之ShardingSphere分库分表实战指南

一、ShardingSphere产品介绍 Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强。Apache ShardingSphere 设计哲学为 Database Plus,旨在…...

支付宝订单码支付

1.订单码支付,首先下载官方网站提供的sdk包到你的项目中。 2.选择控制器复制官方文档的获取二维码相关的代码示例。打开sdk包中v2的index.php文件,这个才是你选择语言的具体代码。 3.引用里面所需要的类文件,文件下载到你的项目中后&#xf…...

使用 Django 和 AWS ECR 实现容器化应用的管理

在现代云原生应用的开发和部署中,容器化技术已经成为主流。Amazon Elastic Container Registry (ECR) 是一种完全管理的 Docker 容器注册表服务,可以与 Amazon ECS、EKS 和其他容器服务无缝集成。在这篇文章中,我们将介绍如何使用 Django 和 AWS ECR 实现集成管理,包括创建、更…...

DeepWalk 原理详解

概述: DeepWalk 是一种流行的图嵌入方法,用于学习图结构数据中节点的低维表示。它通过将图的节点视作序列数据,利用自然语言处理中的技术(类似于word2vec算法)来捕捉节点间的关系,可以帮助我们理解和利用图…...

深入理解批量归一化(BN):原理、缺陷与跨小批量归一化(CmBN)

在训练深度神经网络时,批量归一化(Batch Normalization,简称BN)是一种常用且有效的技术,它帮助解决了深度学习中训练过程中的梯度消失、梯度爆炸和训练不稳定等。然而,BN也有一些局限性,特别是在…...

基于Spring Boot的雅苑小区管理系统

一、系统背景与意义 随着信息化技术的快速发展,传统的小区物业管理方式已经难以满足现代居民对于高效、便捷服务的需求。因此,开发一款基于Spring Boot的小区管理系统显得尤为重要。该系统旨在通过信息化手段,实现小区物业管理的智能化、自动…...

物理层知识要点

文章目录 物理层接口的四大特性通信基础编码和调制(1)数字数据编码为数字信号(2)模拟数据编码为数字信号(3)常见调制方式(3)信道的极限容量 多路复用技术数据传输方式物理层下的传输…...

项目里用到了哪些设计模式是怎么使用的?

在软件开发项目中,设计模式是解决特定问题的通用模板或最佳实践。它们提供了一种经过验证的方式来组织代码,使其更易于理解、维护和扩展。下面我将详细介绍一些常见的设计模式及其在项目中的应用方式。 1. 单例模式(Singleton Pattern&#…...

CPU性能篇-CPU 100%如何定位根因-Day 03

1. CPU使用率 1.1 关键指标介绍 user(通常缩写为 us),代表用户态 CPU 时间。注意,它不包括下面的 nice 时间,但包括了 guest 时间。nice(通常缩写为 ni),代表低优先级用户态 CPU 时…...

访谈积鼎科技总经理:国产CFD软件发展与未来趋势展望

傅彦国,上海积鼎信息科技有限公司创始人 记者:请傅总介绍下我国流体仿真行业的发展现状是怎样的? 傅彦国:自2018年政府加大了对核心技术自主研发的支持力度,国产CFD软件逐渐步入发展正轨。 首先,从市场规…...

四种自动化测试模型实例及优缺点详解

一、线性测试 1.概念: 通过录制或编写对应应用程序的操作步骤产生的线性脚本。单纯的来模拟用户完整的操作场景。 (操作,重复操作,数据)都混合在一起。 2.优点: 每个脚本相对独立,且不产生…...

数字后端培训项目Floorplan常见问题系列专题续集1

今天继续给大家分享下数字IC后端设计实现floorplan阶段常见问题系列专题。这些问题都是来自于咱们社区IC后端训练营学员提问的问题库。目前这部分问题库已经积累了4年了,后面会陆续分享这方面的问题。 希望对大家的数字后端学习和工作有所帮助。 数字后端项目Floor…...

NVIDIA GPU 内部架构介绍

NVIDIA GPU 架构 NVIDIA GPU 的 SM(Streaming Multiprocessor) 和 GPC(Graphics Processing Cluster) 是 GPU 架构中的关键组成部分。它们决定了 GPU 的计算能力和性能,以下是对这两个参数的详细介绍: 1. …...

[spring]实例化对象(静动态工厂)

在前面文章的例子当中,我们都创建了Bean对象。spring里常用的获取类的实例化对象有几种方式:构造函数获取Bean对象、静态和动态工厂获取Bean对象、实现FactoryBean规范。 因为一些步骤没有什么别的不同,所以我不会重复去讲,届时会…...

【转】arm64架构的银河麒麟系统Kylin的qt安装教程

转自:arm64架构的银河麒麟系统Kylin的qt安装教程_银河麒麟安装qt-CSDN博客 文章目录 前言 一、准备环境 安装C编译器和调试器 二、安装qt、qtcreator 检查是否已经安装过Qt组件 安装Qt组件和Qt creator 检查组件是否安装成功: 三、测试程序运行 报错 Qt…...

C# Main方法 和顶级语句详解

总目录 前言 Main方法 和顶级语句 介绍。 一、Main方法 1. 基本信息 Main 方法是 C# 应用程序的入口点。 Main 方法是应用程序启动后调用的第一个方法。C# 程序中只能有一个入口点。如果多个类包含 Main 方法,必须使用 StartupObject 编译器选项来编译程序&#…...

传输层协议分析头歌

第1关:TCP 包基础 本机使用的IP地址和TCP端口号(用;隔开):192.168.1.102;1161 gaia.cs.umass.edu的IP地址和端口号(用;隔开):128.119.245.12;80 第2关:三次握手 第一次握手,TCP SYN区段的序列号是:232129012 gaia.cs.umass.edu…...

JAVA AOP简单实践(基于SpringBoot)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

重温设计模式--迭代器模式

文章目录 迭代器模式(Iterator Pattern)概述迭代器模式的结构迭代器模式UML图C 代码示例应用场景 迭代器模式(Iterator Pattern)概述 定义: 迭代器模式是一种行为型设计模式,它提供了一种方法来顺序访问一个…...

Unity-Editor扩展GUI基本实现一个可拖拉放的格子列表

短短几百行代码,好吧,又是“参考”了国外的月亮 操作,还真地挺自然的。。。。。。国外的实现有点小牛 拖拉,增加+ 一个Element 鼠标左键长按,可以出提示 鼠标右键,清除Element, 有点小bug,不是很自然地完全清除, using System.Collections; using System.Collecti…...

Android 11添加电容笔电量监测需求

软件平台:Android11 硬件平台:QCS6125 需求:PAD接入电容笔,该笔通过驱动上报坐标及当前电量等数据,即走系统的input通道,需要系统层监测到该硬件数据,这里主要展示电量,对用户显示提…...

迈向AGI——大模型创新体验嘉年华邀请函

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入! ‍ 深度对话,思想碰撞 大模型创新体验嘉年华诚邀您与我们共同见证 智见未来,只等你来 往期精彩文章推荐 关于AI TIME AI TIME源起于2019年,旨在发扬科学思辨精神&#xff0c…...

VSCode 性能优化指南:提高编码效率,减少资源占用

Visual Studio Code(简称VSCode)是一款广受欢迎的代码编辑器,以其强大的功能和丰富的插件生态系统著称。然而,随着项目规模的扩大和插件数量的增加,VSCode 的性能可能会受到影响。本文将介绍一系列优化措施&#xff0c…...

如何获取 ABAP 内表中的重复项

要识别 ABAP 内表中的重复项,可以结合使用排序和循环。下面的示例展示了如何查找内部表中的重复条目: DATA: BEGIN OF itab OCCURS 0,field1 TYPE i,field2 TYPE c LENGTH 10,END OF itab,wa LIKE LINE OF itab.* Add sample data to internal table it…...

android 登录界面编写

1、登录页面实现内容 1.实现使用两个EditText输入框输入用户名和密码。 2.使用CheckBox控件记住密码功能。 3.登录时候,验证用户名和密码是否为空。 4.当前CheckBox控件记住密码勾上时,使用SharedPreferences存储用户名和密码。 5.登录时候使用Prog…...

3D-resnet 50 医学3D图像二分类python代码

离上次发布3D-resnet代码时隔两年,最近让AI推荐3D-resnet的文章给我,AI推荐了三篇 其中两篇是我两年前发的,另一篇在这里Resnet3D预训练网络...... 于是决定更新之前代码,供诸位参考1. 可以用cpu或gpu(推荐8G以上&…...

android sqlite 数据库简单封装示例(java)

sqlite 数据库简单封装示例,使用记事本数据库表进行示例。 首先继承SQLiteOpenHelper 使用sql语句进行创建一张表。 public class noteDBHelper extends SQLiteOpenHelper {public noteDBHelper(Context context, String name, SQLiteDatabase.CursorFactory fact…...

项目练习:若依-前端项目的目录结构介绍

文章目录 一、目录截图二、目录讲解 一、目录截图 二、目录讲解 1、首先,我们可以看到,这个VUE项目,只有一个App.vue,所以,它是一个单页面系统。 这个App.vue是根组件,root组件。 2、public目录 在Vue 3.…...

Android 之 List 简述

一、简单创建方式 Android 开发中&#xff0c;列表有很多种类&#xff0c;如ArrayList、LinkedList、List、MutableList等&#xff0c;创建列表的方式如下所示&#xff1a; fun listDemo() {// 使用 listOf 创建不可变的空列表val list listOf<Int>()val list1 listOf…...

CV(6)-SIFT和Hash

前言 仅记录学习过程&#xff0c;有问题欢迎讨论 SIFT:尺度不变特征变换&#xff1a; SIFT提取图像的局部特征&#xff0c;在尺度空间寻找极值点&#xff0c;并提取出其位置、尺度、方向信息。SIFT的应用范围包括物体辨别、机器人地图感知与导航、影像拼接、3D模型建立、手势…...

javax.net.ssl.SSLPeerUnverifiedException: Hostname 192.168.13.13 not verified:

javax.net.ssl.SSLPeerUnverifiedException: Hostname 192.168.13.13 not verified: 前言&#xff1a; 之前需求推送数据是采用http:192.168.13.13:8000 后面业务需求修改为 https:192.168.13.13:443 修改后推送数据到第三方报以下异常&#xff0c; https://192.168.13.13:443…...