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

数据分析与挖掘

Python 基本语法

  • 变量与数据类型

    • Python 中变量无需声明,直接赋值即可。

    • 常见的数据类型有数值型(整型 int、浮点型 float、复数型 complex)、字符串型(str,用单引号、双引号或三引号括起来)、布尔型(bool,True 和 False)。

  • 运算符

    • 算术运算符(+、-、*、/、%、**、//)、

    • 比较运算符(==、!=、>、<、>=、<=)

    • 逻辑运算符(and、or、not)

  • 输入输出 :使用 input() 函数接收用户输入,print() 函数输出结果,eval()函数去掉双引号。

  • 数据结构运用

    • 列表(list) :有序可变序列,用方括号 [] 定义,如 numbers = [1, 2, 3, 4]。支持索引、切片、追加(append())、删除(del、remove()、pop())等操作。
    • 元组(tuple) :有序不可变序列,用圆括号 () 定义,如 fruits = (“apple”, “banana”, “orange”)。访问元素方式与列表类似,但不能修改元素。
    • 字典(dict) :键值对集合,用花括号 {} 定义,如 person = {“name”: “Tom”, “age”: 20}。通过键来访问和修改值,键必须唯一且不可变。
    • 集合(set) :无序不重复元素集合,用大括号 {} 或 set() 函数创建,如 colors = {“red”, “green”, “blue”}。支持集合运算(如交集 &、并集 |、差集 -)。
  • 程序流程控制

    • 顺序结构 :按照代码书写的顺序依次执行。
    • 选择结构 :if 语句,根据条件是否成立选择执行不同的代码块。基本语法为 if 条件 1: 代码块 1 elif 条件 2: 代码块 2 … else: 代码块 n。
    • 循环结构 :for 循环用于遍历可迭代对象(如列表、元组、字符串、字典、集合),如 for num in numbers: print(num)。while 循环根据条件判断是否执行循环体,如 while count < 5: print(count) count +=1。

二、函数

  • 函数的语法 :定义函数使用 def 关键字,后跟函数名、参数列表(可选)、冒号和函数体。函数体结束可使用 return 语句返回结果。例如:

    def add(a, b):return a + b
    
  • 函数调用 :直接使用函数名并传入相应参数即可,如 result = add(3, 5),调用 add 函数并传入 3 和 5 作为参数,返回结果 8 赋值给 result。

  • 参数

    • 位置参数 :按照定义函数时的参数位置顺序传入,如上面的 a 和 b 就是位置参数。

    • 默认参数 :在定义函数时给参数指定默认值,调用时可不传该参数。例如:def greet(name, msg=“Hello”): print(msg, name),调用 greet(“Tom”) 时 msg 使用默认值 “Hello”。

    • 关键字参数 :调用函数时通过参数名和值的形式传参,这样可以改变参数的顺序。如 greet(msg=“Hi”, name=“Tom”)。

    • 可变参数 :允许函数接收任意数量的参数。*args 用于接收位置参数,形成元组;**kwargs 用于接收关键字参数,形成字典。例如:

      def func(*args, **kwargs):print(args)print(kwargs)
      func(1, 2, 3, name="Tom", age=20)
      
  • Lambda匿名函数:

    square = lambda x: x ** 2
    print(square(4))    # 输出16   
    
  • 自定义函数的编程实现 :根据需求设计函数的功能,明确输入参数和返回值,编写函数体实现相应逻辑。例如自定义一个计算阶乘的函数:

    def factorial(n):if n == 0:return 1else:return n * factorial(n-1)
    

三、正则表达式:提取,匹配与替换

  • 元字符与特殊字符

    • \d匹配数字,\w匹配字母数字,.匹配任意字符(除换行符)

    • ^开头,$ 结尾,| 表示或

    • *匹配前面的字符零次或多次,+ 匹配前面的字符一次或多次,? 匹配前面的字符零次或一次,[] 匹配括号内的任意一个字符

  • 字符获取 :使用 re 模块中的 findall() 函数可获取字符串中所有匹配正则表达式的字符。

    import re 
    pattern = r"\d+" 
    string = "I have 2 apples and 3 bananas." result = re.findall(pattern, string) print(result) 输出 ['2', '3'],获取字符串中的所有数字。
    
  • 匹配match() 函数从字符串开头开始匹配,若匹配成功返回匹配对象,否则返回 None。search() 函数在整个字符串中搜索匹配,找到第一个匹配的位置后返回匹配对象。例如:

    pattern = r"apple"
    string1 = "I like apple."
    string2 = "apple is delicious."
    print(re.match(pattern, string1)) # None,因为不是从开头匹配print(re.search(pattern, string1)) # 匹配对象print(re.match(pattern, string2)) # 匹配对象
    
  • 替换 :sub() 函数用于替换字符串中匹配正则表达式的部分。例如:

    pattern = r"apple"string = "I like apple and apple pie."new_string = re.sub(pattern, "orange", string)
    print(new_string) # 输出 "I like orange and orange pie."
    

四、文件相关知识

  • 文本文件

    • 读取 :使用 open() 函数打开文件,默认是只读模式(‘r’)。例如:
     f = open("test.txt", "r")content = f.read() # 读取全部内容# 按行读取 content = f.readlines()f.close()		
    ``
  • 写入 :以写入模式(‘w’)打开文件(会覆盖原有内容)或追加模式(‘a’)打开文件(在文件末尾追加内容)。例如:

     f = open("test.txt", "w")f.write("Hello, world!")f.close()
    
  • CSV 文件 :利用 Python 的 csv 模块进行读写。读取时使用 csv.reader() 或 csv.DictReader(),写入时使用 csv.writer() 或 csv.DictWriter()。例如:

     import csv
    # 读取with open("data.csv", "r") as f:reader = csv.reader(f)for row in reader:print(row)# 写入with open("data.csv", "w", newline="") as f:writer = csv.writer(f)writer.writerow(["Name", "Age"])writer.writerow(["Tom", 20])
    
  • Excel 文件 :借助 pandas 库的 read_excel() 函数读取,to_excel() 函数写入。例如:

    #读取df = pd.read_excel("data.xlsx")print(df)
    # 写入df.to_excel("new_data.xlsx", index=False)
    
  • JSON文件
    import json
    data = {"name": "Alice", "age": 25}
    with open("data.json", "w") as f:json.dump(data, f)            # 写入with open("data.json", "r") as f:loaded_data = json.load(f)    # 读取
    

五、NumPy 数值计算基础知识

  • NumPy 数组的创建 :使用 numpy.array() 函数创建数组,例如:

    import numpy as np
    arr = np.array([1, 2, 3, 4, 5])
    
  • 数组的基本属性 :包括形状(shape)、维度(ndim)、数据类型(dtype)等。例如:

    print(arr.shape) # 输出 (5,)
    print(arr.ndim) # 输出 1
    print(arr.dtype) # 输出 int32(具体类型可能因系统和数据而异)
    
  • 数组的运算(广播机制) :支持元素级运算,如加、减、乘、除、幂等。例如:

    arr1 = np.array([1, 2, 3])
    arr2 = np.array([4, 5, 6])
    print(arr1 + arr2) # 输出 [5 7 9]
    print(arr1 * arr2) # 输出 [4 10 18]
    # 广播机制
    a = np.array([[1,2][3,4]])
    b = np.array([10,20])
    print(a + b) # 广播加法 -> [[11,22][13,24]]
    
  • 数组的索引与切片 :与 Python 列表类似,但更强大。可以进行多维数组的索引和切片。例如:

    arr = np.array([[1, 2, 3], [4, 5, 6]])
    print(arr[0, 1]) # 输出 2,访问第一行第二列元素print(arr[:, 1:3]) # 输出 [[2 3] [5 6]],获取所有行的第 2 到第 3 列
    

六、pandas 统计分析基础知识

  • DataFrame 和 Series

    • DataFrame 是二维表格型数据结构,可看作是由多个 Series 组成。

    • Series 是一维数组,与 NumPy 数组类似,但带有标签(索引)。例如:

      import pandas as pd
      data = {'Name': ['Tom', 'Jerry'], 'Age': [20, 18]}
      df = pd.DataFrame(data)print(df)
      # 输出
      Name Age
      0 Tom 20
      1 Jerry 18 
      
  • 基本统计分析 :使用 describe() 函数可获取数据的统计摘要,包括计数、均值、标准差、最小值、四分位数、最大值等。例如:print(df.describe())

  • 数据排序 :sort_values() 函数按指定列的值排序,ascending 参数控制升序或降序。例如:

    # 按年龄降序排列
    df_sorted = df.sort_values(by="Age", ascending=False)
    print(df_sorted)
    

七、pandas 数据预处理知识

  • 数据清洗

    • 处理缺失值

      • 使用 isnull() 函数检查缺失值,

      • dropna() 函数删除含有缺失值的行或列,

      • fillna() 函数填充缺失值。例如:

        df = pd.DataFrame({'A': [1, 2, None, 4], 'B': [5, None, None, 8]})print(df.isnull()) # 显示缺失值位置df_drop = df.dropna() # 删除有缺失值的行df_fill = df.fillna(0) # 用 0 填充缺失值
        
    • 数据去重 :drop_duplicates() 函数用于删除重复数据。例如:

      df = pd.DataFrame({'A': [1, 1, 2, 2], 'B': [3, 3, 4, 4]})
      df_unique = df.drop_duplicates()
      print(df_unique)
      
  • 数据转换

    • 独热编码

      df_encoded = pd.get_dummies(df, columns=["Category"])

    • 数据类型转换 :astype() 函数可将数据转换为指定类型。例如:df['A'] = df['A'].astype(int)

    • 数据标准化、归一化 :对于数值型数据,可使用 preprocessing 模块中的 scale() 函数进行标准化(Z-score 标准化)或 minmax_scale() 函数进行归一化。例如:

      from sklearn import preprocessing
      data_standardized = preprocessing.scale(df['A'])
      data_normalized = preprocessing.minmax_scale(df['A'])
      
  • 数据合并

    • concat() 函数 :用于沿着某一轴将多个 DataFrame 或 Series 连接起来。例如:

      df1 = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
      df2 = pd.DataFrame({'A': [5, 6], 'B': [7, 8]})
      df_concat = pd.concat([df1, df2], axis=0) # 按行连接
      
    • merge() 函数 :根据一个或多个键将行连接起来,类似于 SQL 中的 join 操作。例如:

      df1 = pd.DataFrame({'key': ['A', 'B', 'C'], 'value1': [1, 2, 3]})
      df2 = pd.DataFrame({'key': ['A', 'B', 'D'], 'value2': [4, 5, 6]})
      df_merged = pd.merge(df1, df2, on='key') # 内连接,只保留两个表都有 key 的行
      

八 总结

  1. 数据获取:正则表达式提取日志关键字段,pandas读取CSV/Excel。
  2. 清洗与转换:处理缺失值、异常值,标准化数值特征。
  3. 分析建模:Numpy加速数值计算,pandas进行聚合统计。
  4. 自动化流程:通过函数封装常用操作(如数据清洗函数)。

相关文章:

数据分析与挖掘

一 Python 基本语法 变量与数据类型 &#xff1a; Python 中变量无需声明&#xff0c;直接赋值即可。 常见的数据类型有数值型&#xff08;整型 int、浮点型 float、复数型 complex&#xff09;、字符串型&#xff08;str&#xff0c;用单引号、双引号或三引号括起来&#xff…...

RoBoflow数据集的介绍

https://public.roboflow.com/object-detection&#xff08;该数据集的网址&#xff09; 可以看到一些基本情况 如果我们想要下载&#xff0c;直接点击 点击图像可以看到一些基本情况 可以点击红色箭头所指&#xff0c;右边是可供选择的一些yolo模型的格式 如果你想下载…...

大模型Rag - 两大检索技术

一、稀疏检索&#xff1a;关键词匹配的经典代表 稀疏检索是一种基于关键词统计的传统检索方法。其基本思想是&#xff1a;通过词频和文档频率来衡量一个文档与查询的相关性。 核心原理 文档和查询都被表示为稀疏向量&#xff08;如词袋模型&#xff09;&#xff0c;只有在词…...

【T型三电平仿真】SVPWM调制

目录 仿真模型分析 克拉克变换 大扇区判断​编辑 小区域判断 计算基本电压矢量作用时间 确定基本电压矢量的作用顺序 作用时间和矢量作用顺序对应 七段式化生成阶梯图 矢量状态分布 本人学习过程中提出的问题和解释 SVPWM调制实现了什么功能 SVPWM的算法步骤是什么…...

树莓派5-开发应用笔记

0.树莓派系统目录 /home&#xff1a;用户目录。 除了root用户外&#xff0c;其他所有的使用者的数据都存放在这个目录下&#xff0c;在树莓派的系统中&#xff0c;/home目录中有一个pi的子目录,这个就是pi用户的默认目录。 /bin&#xff1a; 主要放置系统的必备执行文件目录。 …...

[Java实战经验]异常处理最佳实践

一些好的异常处理实践。 目录 异常设计自定义异常为异常设计错误代码&#xff08;状态码&#xff09;设计粒度全局异常处理异常日志信息保留 异常处理时机资源管理try-with-resources异常中的事务 异常设计 自定义异常 自定义异常设计&#xff0c;如业务异常定义BusinessExce…...

AOSP的Doze模式-LightIdle初识

前言 从Android 6.0开始&#xff0c;谷歌引入了Doze模式(打盹模式)的省电技术延长电池使用时间。根据第三方测试显示&#xff0c;两台同样的Nexus 5&#xff0c;开启的Doze的一台待机能达到533小时&#xff0c;而未开启Doze的一台待机只能达到200小时。Doze省电效果十分明显。…...

QML动画--ParticleSystem

ParticleSystem 是 QML 中用于创建和管理粒子系统的组件&#xff0c;可以制作各种粒子效果如火焰、烟雾、爆炸等。 基本用法 qml import QtQuick.Particles 2.15ParticleSystem {id: particleSystemImageParticle {source: "particle.png"color: "red"a…...

Win 11 重装 Ubuntu 双系统方法

有时候 Ubuntu 环境崩溃了&#xff0c;或者版本过低&#xff0c;需要卸载重装。本文介绍重装的方法&#xff0c;默认已经有一个双系统。 1. 删除原先 Ubuntu 分区 首先打开 Win 的磁盘管理&#xff0c;找到 Ubuntu 的分区&#xff0c;右键删除分区&#xff08;注意不要错删 wi…...

单例模式:懒汉式的两种优化写法

单例模式&#xff1a;全局唯一实例 懒汉式&#xff1a;获取时才初始化 ①静态局部变量实现&#xff08;Meyer’s Singleton&#xff09;【推荐】 /* 类内创建自身实例的可行性分析&#xff1a;在C中&#xff0c;类可以通过静态成员函数创建自身实例。这种机制的核心在于&…...

详细解释浏览器是如何渲染页面的?

渲染流程概述 渲染的目标&#xff1a;将HTML文本转化为可以看到的像素点 当浏览器的网络线程收到 HTML 文档后&#xff0c;会产生一个渲染任务&#xff0c;并将其传递给渲染主线程的消息队列。在事件循环机制的作用下&#xff0c;渲染主线程取出消息队列中的渲染任务&#xff0…...

高速系统设计简介

1.1 PCB 设计技术回顾 1981 年 8 月 12 日&#xff0c;IBM 正式发布了历史上第一台个人电脑&#xff0c;自此之后&#xff0c;个人电脑融入了人们生活和工作的各个角落&#xff0c;人类从此进入了个人电脑时代。个人电脑的出现&#xff0c;不仅促进了电子产品在消费领域的发展…...

不规则曲面上两点距离求取

背景 在CT中求皮肤上两点间的弧长。由于人体表面并不是规则的曲面&#xff0c;不可能用圆的弧长求取方法来计算出两点间的弧长。 而在不规则的曲面上求两点的距离&#xff0c;都可以用类似测地线距离求取的方式来求取&#xff08;积分&#xff09;&#xff0c;而转化为搜索路…...

用usb网卡 虚拟机无法开到全双工的解决办法

今天突发奇想 给unraid宿主机插了两个一摸一样的usb网卡 2.5g的 直通给不同的虚拟机 这里unraid需要安装"USB Manager" 请给unraid自备环境 直通的时候 第一次还没生效 看不到网卡 我又在unraid的管理界面 顶部可以看到多出来一个 "usb"页面 打开可…...

webpack 中 chunks详解

webpack 中 chunks详解 在 Webpack 项目中&#xff0c;webpack.config.js 是核心配置文件&#xff0c;而非 webpack.json。chunks 的概念与 Webpack 的代码分割&#xff08;Code Splitting&#xff09;功能密切相关&#xff0c;通过 optimization.splitChunks 配置项可以实现对…...

Java @Serial 注解深度解析

Java Serial 注解深度解析 1. 注解本质 Serial 是 Java 14 引入的编译时校验注解&#xff0c;用于标记序列化相关成员&#xff0c;帮助开发者避免常见的序列化错误。 2. 核心作用 (1) 主要用途 标记序列化相关的特殊方法/字段 提供编译时检查 替代传统的命名约定验证 (…...

齐次坐标变换+Unity矩阵变换

矩阵变换 变换&#xff08;transform)&#xff1a;指的是我们把一些数据&#xff0c;如点&#xff0c;方向向量甚至是颜色&#xff0c;通过某种方式&#xff08;矩阵运算&#xff09;&#xff0c;进行转换的过程。 变换类型 线性变换&#xff1a;保留矢量加和标量乘的计算 f(x)…...

Python语法系列博客 · 第9期[特殊字符] 函数参数进阶:*args、**kwargs 与参数解包技巧

上一期小练习解答&#xff08;第8期回顾&#xff09; ✅ 练习1&#xff1a;整数转字符串列表 nums [1, 2, 3, 4, 5] str_list list(map(str, nums))✅ 练习2&#xff1a;筛选回文字符串 words ["madam", "hello", "noon", "python&qu…...

Python语法系列博客 · 第4期[特殊字符] 函数的定义与使用:构建可复用的模块

上一期小练习解答&#xff08;第3期回顾&#xff09; ✅ 练习1&#xff1a;创建一个列表&#xff0c;添加5个名字&#xff0c;并用循环打印 names ["Alice", "Bob", "Charlie", "David", "Eva"] for name in names:print…...

6547网:2025年3月 Python编程等级考试一级真题试卷

2025年3月青少年软件编程Python等级考试&#xff08;一级&#xff09;真题试卷 题目总数&#xff1a;37 总分数&#xff1a;100 选择题 第 1 题 单选题 下列哪个软件不能运行Python程序&#xff1f;&#xff08; &#xff09; A.JupyterNotebook B.Pycharm C.原版…...

微前端框架Module Federation

以下是 Module Federation 的核心知识点,并结合微前端架构的设计思想,帮助我们构建完整的知识体系: 一、Module Federation 基础概念 1. 什么是 Module Federation? 定义:Webpack 5 引入的一项革命性功能,允许在运行时动态加载其他独立构建的应用模块(微前端),实现跨…...

AUTOSAR图解==>AUTOSAR_SWS_IntrusionDetectionSystemManager

AUTOSAR 入侵检测系统管理器 (IdsM) 详解 AUTOSAR安全框架的核心组件 1. 概述 AUTOSAR 入侵检测系统管理器&#xff08;Intrusion Detection System Manager, IdsM&#xff09;是AUTOSAR标准中安全防护框架的关键组成部分&#xff0c;专门负责处理车载安全事件。IdsM模块提供了…...

Alan AI - 面向Web的生成式AI SDK

本文翻译整理自&#xff1a;https://github.com/alan-ai/alan-sdk-web 文章目录 一、关于 Alan AI相关链接资源关键功能特性Alan AI StudioAlan AI SDKAlan AI Cloud 二、为什么选择Alan AI&#xff1f;三、快速开始四、下载安装五、示例应用六、其他平台SDK七、获取帮助 一、关…...

递归下降 ll(1) 型文法 识别二元组文法分析

#include <stdio.h> #include <string.h>FILE* fp; FILE* fa2;char* str new char[1200]; // 循环读取文件&#xff0c;分200字节读取char* peek;// 表格 typedef struct table {char* sign;char* kind;char* message; } signtable;signtable* list; // 数…...

Qt unknown module(s) in qt:serialport解决方法

在Ubuntu和CentOS系统中,若使用Qt时遇到Unknown module(s) in QT: serialport错误,通常是由于未正确安装Qt的串口模块(QSerialPort)或项目配置不当导致。以下是针对两种系统的解决方案: 一、安装Qt串口模块 1. Ubuntu/Debian系列 安装开发包: 执行以下命令安装Qt5串口模…...

金融数学专题6 证券问题与资本利得税

一、固定利息证券 特点&#xff1a;利息固定&#xff0c;且可以在证券名字中体现。 发行价格:公司公开发行证券的价格。 固定利率证券通常在其名称中包括应付利率&#xff0c;例如&#xff0c;8% Treasury Stock 2021 或 5% Treasury Gilt 2018。每位持有人应得的年利息是通…...

XGBoost

XGBoost 假设一共有 m m m个基模型&#xff0c;分别为 f 1 ( x ) , f 2 ( x ) , … , f m ( x ) f_1(x),f_2(x),\dots,f_m(x) f1​(x),f2​(x),…,fm​(x)&#xff0c; n n n个样本&#xff0c; x 1 , x 2 , … , x n x_1,x_2,\dots,x_n x1​,x2​,…,xn​&#xff0c;则XGBoo…...

Kubernetes 多主多从集群部署完整文档

好久不见呀&#xff01;今天给大家整点干货尝尝&#xff08;其实是自己的总结&#xff09;&#xff0c;主打的就是全程无尿点。 Kubernetes 多主多从集群部署完整文档 1. 机器列表 PS: master&#xff0c;lb&#xff0c;nfs机器均为CentOS 7&#xff0c;其他为Ubuntu 22.04 L…...

使用Spring Validation实现参数校验

引入Spring Validation 起步依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>参数校验失败异常处理 所有的http请求异常都会被拦截处理 exception…...

用思维导图解锁计算机科学导论的知识宝库

引言 在计算机科学的浩瀚海洋中&#xff0c;“计算机科学导论” 如同开启宝藏的钥匙&#xff0c;是众多学习者踏入这片领域的第一步。今天&#xff0c;我将借助思维导图这一强大工具&#xff0c;带大家梳理计算机科学导论的关键知识点&#xff0c;同时也希望能为大家在学习的道…...

软件架构分层策略对比及Go项目实践

一、水平分层 vs 功能划分 vs 组件划分 维度水平分层功能划分组件划分核心思想按垂直层次划分职责&#xff08;如表示层、业务层、数据层&#xff09;按业务功能模块划分&#xff08;如用户管理、订单服务、支付模块&#xff09;按技术或业务能力划分独立组件&#xff08;如数…...

Python学习之Seaborn

Python学习之Seaborn 如果说Matplotlib试图让简单的事情变得容易,让困难的事情成为可能,那么Seaborn试图让一组定义明确的复杂的事情变得简单. Seaborn是在Matplotlib的基础上开发的高级可视化库, 它更专注于数据可视化的美学设计和统计图形的绘制. Matplotlib需要大量的代码创…...

【树莓派Pico FreeRTOS】-中断服务与二值信号量

中断服务与二值信号量 RP2040 由 Raspberry Pi 设计,具有双核 Arm Cortex-M0+ 处理器和 264KB 内部 RAM,并支持高达 16MB 的片外闪存。 广泛的灵活 I/O 选项包括 I2C、SPI 和独特的可编程 I/O (PIO)。 FreeRTOS 由 Real Time Engineers Ltd. 独家拥有、开发和维护。FreeRTO…...

QT采用cmake编译时文件解析

CMakeLists.txt # 设置版本要求 cmake_minimum_required(VERSION 3.16) # 设置项目名 project(QtWidgetsApplication3 LANGUAGES CXX)#设置C版本 set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON)find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core) fi…...

代码随想录背包问题完结

322. 零钱兑换 视频讲解&#xff1a;动态规划之完全背包&#xff0c;装满背包最少的物品件数是多少&#xff1f;| LeetCode&#xff1a;322.零钱兑换_哔哩哔哩_bilibili 代码随想录 该题在递推公式部分和474.一和零一样&#xff0c;求装多少个 不同在于 该题是完全背包&a…...

Java 内存优化:如何避免内存泄漏?

Java 内存优化&#xff1a;如何避免内存泄漏&#xff1f; 在 Java 开发中&#xff0c;内存管理是一个至关重要的主题。尽管 Java 拥有自动垃圾回收机制&#xff0c;但这并不意味着开发人员可以忽视内存管理。内存泄漏是一个常见的问题&#xff0c;如果不加以控制&#xff0c;可…...

数量关系 多级数列1

机械划分 真看不出来 无明显关系 后减前作差 分数数列 无规律 作乘 作积 太复杂啦 太复杂啦...

【AI提示词】物理学家

提示说明 物理学家是为那些希望深入了解物理学原理、探索宇宙奥秘或进行科学实验的用户设计的。这个专家能够提供精确的物理学概念解释、复杂的理论分析以及实验设计建议。 提示词 # 角色 物理学家## 注意 1. 物理学家专家应具备深厚的物理学知识和对科学探究的热情。 2. 专…...

黑马点评秒杀优化

异步优化秒杀业务 回顾之前的内容黑马点评 秒杀优惠券集群下一人一单超卖问题-CSDN博客&#xff0c;为了处理并发情况下的线程安全和数据一致性的问题&#xff0c;我们已经完成了查询优惠券信息、判断秒杀是否开始和结束、检查库存、用户ID加锁、创建订单和扣减库存。 尽管之前…...

宇树机器狗go2—slam建图(1)点云格式

0.前言 上一篇番外文章教大家如何在宇树机器狗go2的gazebo仿真环境中实现简单的导航运动&#xff0c;本期文章会教大家如何让宇树的机器狗go2在仿真环境中进行slam建图时经常会遇到的一些点云格式&#xff0c;在后续的slam建图和slam算法解析的时候会经常与这些点云信息打交道…...

支持中文对齐的命令行表格打印python库——tableprint

文章目录 快速入门 还在为表格中含有中文&#xff0c;命令行打印无法对齐而苦恼吗&#xff1f; 还在为冗长的数据添加代码而抓狂吗&#xff1f; tableprint来了&#xff01;&#xff01;&#xff01;&#xff0c;它完美的解决了上述两个问题&#xff0c;快来试试吧&#xff01;…...

力扣-hot100(无重复字符的最长子串)

3. 无重复字符的最长子串 中等 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc"&#xff0c;所以其长度为 3。暴力直观解法一&#xff1…...

javaNIO详解

Java NIO&#xff08;Non-blocking I/O&#xff09;详解 Java NIO&#xff08;New I/O&#xff09;是 Java 1.4 引入的高性能 I/O 框架&#xff0c;相比传统的 BIO&#xff08;Blocking I/O&#xff09;&#xff0c;它提供了非阻塞、多路复用、零拷贝等能力&#xff0c;适用于…...

高精度算法(加、减、乘、除、阶乘和)​

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 唯有主动付出&#xff0c;才有丰富的果…...

在复杂性的迷宫里寻找路标 —— 读《人月神话》有感

初读《人月神话》时&#xff0c;正值参与的第一个大型项目陷入泥潭&#xff1a;需求像不断膨胀的气球&#xff0c;团队规模从 10 人扩充到 30 人&#xff0c;进度却像被灌了铅的钟表&#xff0c;指针越来越沉重。布鲁克斯在书中写下的 "向进度落后的项目增加人力&#xff…...

OpenFeign终极指南:超时控制、重试策略、拦截器与自定义Starter

目录 前言 使用 引入依赖 开启feign 编写feign客户端 效果 日志 超时配置 重试机制 拦截器 Fallback兜底返回 引入依赖 编写兜底实现 连接池 引入依赖 开启连接池 制作OpenFeign Starter 编写配置类 自动装配 前言 在RPC框架中&#xff0c;有openFeign和Du…...

如何使用flatten函数在Terraform 中迭代嵌套map

简介 flatten 接受一个列表&#xff0c;并用列表内容的扁平序列替换列表中的任何元素。 > flatten([["a", "b"], [], ["c"]]) ["a", "b", "c"] > flatten([[["a", "b"], []], [&quo…...

数字电子技术基础(五十)——硬件描述语言简介

目录 1 硬件描述语言简介 1.1 硬件描述语言简介 1.2 硬件编程语言的发展历史 1.3 两种硬件描述的比较 1.4 硬件描述语言的应用场景 1.5 基本程序结构 1.5.1 基本程序结构 1.5.2 基本语句和描述方法 1.5.3 仿真 1 硬件描述语言简介 1.1 硬件描述语言简介 硬件描述语…...

【PCIE配置空间】

1 PCIE配置空间 1.1 软件如何知道PCIE设备是Swith&#xff0c;RC还是EP&#xff1f; –软件通过读取寄存器信息。 PCIE配置空间• PCIE寄存器&#xff1b;--PCIE配置协议规定必须实现的空间。--PCIE存在两种配置空间Type0/Type1;--Type0配置空间EP设备必须实现&#xff1b;-…...

Python爬虫实战:获取网易新闻数据

一、引言 随着互联网的飞速发展,网络上蕴含着海量的信息资源。新闻数据作为其中的重要组成部分,对于舆情分析、市场研究、信息传播等多个领域具有重要价值。网易新闻作为国内知名的新闻平台,拥有丰富多样的新闻内容。使用 Python 的 Scrapy 框架进行网易新闻数据的爬取,可…...