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

Python编程整理汇总(基础汇总版)

1. 基础语法

1.1 变量与数据类型

  • 整数:a = 10

  • 浮点数:b = 3.14

  • 字符串:c = "Hello, World!"

  • 布尔值:d = True

  • 列表:e = [1, 2, 3, 4, 5]

  • 元组:f = (1, 2, 3)

  • 字典:g = {"name": "Alice", "age": 25}

  • 集合:h = {1, 2, 3, 4, 5}

1.2 控制结构

  • if语句:if a > 5: print("a is greater than 5")

  • for循环:for i in range(5): print(i)

  • while

    循环:

    count = 0
    while count < 5:print(count)count += 1

1.3 函数与模块

  • 函数:def greet(name): return f"Hello, {name}!"

  • 模块:

    # mymodule.py
    def add(x, y):return x + y# 在另一个文件中
    from mymodule import add
    print(add(2, 3))

1.4 输入输出

  • input()name = input("Enter your name: ") print(f"Hello, {name}!")

  • print()print("This is a print statement.")

2. 面向对象编程

2.1 类与对象

  • 类:

    class Dog:def __init__(self, name, age):self.name = nameself.age = agedef bark(self):return "Woof!"
  • 对象:my_dog = Dog("Buddy", 3) print(my_dog.name) print(my_dog.bark())

2.2 继承与多态

  • 继承:

    class Animal:def speak(self):passclass Dog(Animal):def speak(self):return "Woof!"
  • 多态:def animal_speak(animal): print(animal.speak()) animal_speak(Dog())

2.3 封装与抽象

  • 封装:

    class BankAccount:def __init__(self, balance=0):self.__balance = balance  # 私有属性def deposit(self, amount):self.__balance += amountdef get_balance(self):return self.__balance
  • 抽象:

    from abc import ABC, abstractmethodclass Shape(ABC):@abstractmethoddef area(self):passclass Circle(Shape):def __init__(self, radius):self.radius = radiusdef area(self):return 3.14 * self.radius ** 2

3. 文件操作

3.1 打开与关闭文件:

with open('example.txt', 'w') as file:file.write("Hello, World!")

3.2 读取与写入文件:

with open('example.txt', 'r') as file:content = file.read()print(content)

4. 异常处理

4.1tryexceptelsefinally语句:

try:result = 10 / 0
except ZeroDivisionError:print("Cannot divide by zero!")
else:print("Division successful!")
finally:print("This block is always executed.")

4.2 自定义异常:

#自定义异常class CustomError(Exception):passtry:raise CustomError("This is a custom error message.")
except CustomError as e:print(e)

5. 高级特性

5.1 生成器与迭代器:

def my_generator():yield 1yield 2yield 3gen = my_generator()
for value in gen:print(value)

5.2 装饰器:

def my_decorator(func):def wrapper():print("Something is happening before the function is called.")func()print("Something is happening after the function is called.")return wrapper@my_decorator
def say_hello():print("Hello!")say_hello()

5.3 上下文管理器:

class MyContextManager:def __enter__(self):print("Entering the context.")return selfdef __exit__(self, exc_type, exc_val, exc_tb):print("Exiting the context.")with MyContextManager() as cm:print("Inside the context.")

5.4 闭包:

def make_multiplier(factor):def multiplier(number):return number * factorreturn multipliertimes_two = make_multiplier(2)
print(times_two(5))  # 输出: 10

5.5 列表推导式(List Comprehensions):

squares = [x**2 for x in range(10)]
print(squares)  # 输出: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

5.6 字典推导式(Dictionary Comprehensions):

square_dict = {x: x**2 for x in range(5)}
print(square_dict)  # 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

5.7 集合推导式(Set Comprehensions):

unique_squares = {x**2 for x in [1, -1, 2, -2, 3]}
print(unique_squares)  # 输出: {1, 4, 9}

5.8 枚举(Enumerations):

from enum import Enumclass Color(Enum):RED = 1GREEN = 2BLUE = 3print(Color.RED)  # 输出: Color.RED
print(Color.RED.value)  # 输出: 1

5.9 类型注解(Type Annotations):

def greet(name: str) -> str:return f"Hello, {name}!"print(greet("Alice"))  # 输出: Hello, Alice!

6. 标准库与第三方库

在Python中,标准库提供了许多内置模块,用于执行各种常见任务。此外,还有大量的第三方库可供使用,这些库扩展了Python的功能,使其能够处理更复杂的问题。

6.1 标准库

  • string 库:提供了一系列关于字符串的常量,比如字母、数字、标点符号等。

    import string
    print(string.ascii_letters)  # 打印所有ASCII字母(小写和大写)
    print(string.digits)         # 打印所有数字
    print(string.punctuation)    # 打印所有标点符号
  • json 库:用于处理JSON数据,包括编码(序列化)和解码(反序列化)Python对象。

    import json
    data = {"name": "Alice", "age": 25, "city": "New York"}
    json_data = json.dumps(data)  # 将Python对象编码为JSON字符串
    print(json_data)
    parsed_data = json.loads(json_data)  # 将JSON字符串解码为Python对象
    print(parsed_data)
  • random 库:用于生成随机数。

    import random
    print(random.randint(1, 10))  # 生成1到10之间的随机整数
    print(random.random())        # 生成0到1之间的随机浮点数
    print(random.choice(['apple', 'banana', 'cherry']))  # 从列表中随机选择一个元素
  • re 库:提供了正则表达式的支持,用于字符串匹配和替换。

    import re
    text = "Hello, world! This is a test."
    matches = re.findall(r'\b\w+\b', text)  # 匹配并打印所有单词
    print(matches)
    replaced_text = re.sub(r'\s+', '_', text)  # 替换所有空格为下划线
    print(replaced_text)
  • os 库:用于与操作系统交互,比如文件路径操作、环境变量访问等。

    import os
    print(os.getcwd())  # 打印当前工作目录
    os.makedirs('new_directory', exist_ok=True)  # 创建目录
    print(os.listdir('.'))  # 列出目录内容
    os.chdir('new_directory')  # 改变当前工作目录
    file_size = os.path.getsize('some_file.txt') if os.path.exists('some_file.txt') else 0
    print(file_size)  # 获取文件大小
    os.remove('some_file.txt') if os.path.exists('some_file.txt') else None  # 删除文件
    os.rmdir('new_directory') if os.path.exists('new_directory') and not os.listdir('new_directory') else None  # 删除空目录
  • hashlib 库:用于生成安全哈希和消息摘要。

    import hashlib
    md5_hash = hashlib.md5()
    md5_hash.update(b'Hello, world!')
    print(md5_hash.hexdigest())  # 打印MD5哈希值
    sha256_hash = hashlib.sha256()
    sha256_hash.update(b'Hello, world!')
    print(sha256_hash.hexdigest())  # 打印SHA-256哈希值
  • base64 库:用于对数据进行Base64编码和解码。

    import base64
    encoded_data = base64.b64encode(b'Hello, world!')
    print(encoded_data)
    decoded_data = base64.b64decode(encoded_data)
    print(decoded_data.decode('utf-8'))  # 打印解码后的字符串
  • sys 库:用于访问与Python解释器紧密相关的变量和函数,比如Python版本、命令行参数等。

    import sys
    print(sys.version)  # 打印Python版本
  • math 库:提供了一系列数学函数,比如平方根、三角函数等。

    import math
    print(math.sqrt(16))  # 打印16的平方根
  • datetime 库:用于处理日期和时间。

    from datetime import datetime
    print(datetime.now())  # 打印当前时间

6.2 第三方库

  • requests:一个简单易用的HTTP库,用于发送HTTP请求。

    import requests
    response = requests.get('https://api.github.com')
    print(response.json())  # 打印响应的JSON内容
  • numpy:一个强大的科学计算库,支持多维数组对象、矩阵运算、线性代数、傅里叶变换等。

    import numpy as np
    arr = np.array([1, 2, 3, 4, 5])
    print(arr)  # 打印数组
  • pandas:一个开源的数据分析和操作库,提供了快速、灵活和表达性强的数据结构,旨在使“关系”或“标签”数据的处理工作变得既简单又直观。

    import pandas as pd
    df = pd.DataFrame({'Name': ['Alice', 'Bob', 'Charlie'],'Age': [25, 30, 35]
    })
    print(df)  # 打印DataFrame

7. 并发编程

并发编程是Python中一个非常重要的领域,它允许程序同时执行多个任务。Python提供了多种实现并发编程的方式,包括多线程、多进程和异步编程等。

7.1 多线程

多线程是一种并发编程技术,它允许在单个程序中同时运行多个线程。每个线程都是一个独立的执行路径,可以并发地执行代码。

使用threading模块

Python的threading模块提供了创建和管理线程的功能。以下是一个简单的多线程示例:

import threading
import timedef worker(thread_id):print(f"Thread {thread_id} is starting.")time.sleep(2)print(f"Thread {thread_id} is ending.")threads = []
for i in range(5):thread = threading.Thread(target=worker, args=(i,))threads.append(thread)thread.start()for thread in threads:thread.join()print("All threads have finished.")

在这个示例中,创建5个线程,每个线程都执行worker函数。thread.start()方法用于启动线程,thread.join()方法用于等待线程结束。

7.2 多进程

多进程是另一种并发编程技术,它通过在多个进程中运行代码来实现并发。与多线程相比,多进程通常具有更好的性能和资源利用率,因为每个进程都有自己的内存空间和系统资源。

使用multiprocessing模块

Python的multiprocessing模块提供了创建和管理进程的功能。以下是一个简单的多进程示例:

import multiprocessing
import timedef worker(process_id):print(f"Process {process_id} is starting.")time.sleep(2)print(f"Process {process_id} is ending.")processes = []
for i in range(5):process = multiprocessing.Process(target=worker, args=(i,))processes.append(process)process.start()for process in processes:process.join()print("All processes have finished.")

在这个示例中,创建5个进程,每个进程都执行worker函数。process.start()方法用于启动进程,process.join()方法用于等待进程结束。

7.3 异步编程

异步编程是一种并发编程技术,它允许程序在等待I/O操作(如网络请求、文件读写等)完成时继续执行其他任务。Python的asyncio库提供了异步编程的支持。

使用asyncio

以下是一个简单的异步编程示例:

import asyncioasync def fetch(url):print(f"Starting fetch of {url}")await asyncio.sleep(2)  # 模拟网络请求print(f"Finished fetch of {url}")async def main():tasks = [fetch('http://example.com') for _ in range(5)]await asyncio.gather(*tasks)asyncio.run(main())

在这个示例中,定义一个异步函数fetch,它模拟了一个网络请求。main函数创建了5个异步任务,并使用asyncio.gather方法同时运行它们。asyncio.run(main())用于运行异步程序。

7.4 线程池和进程池

为了更高效地管理线程和进程,Python提供了线程池和进程池的概念。线程池和进程池允许你限制并发任务的数量,并重用现有的线程或进程,从而减少了创建和销毁线程或进程的开销。

使用concurrent.futures模块

concurrent.futures模块提供了ThreadPoolExecutorProcessPoolExecutor类,用于创建线程池和进程池。以下是一个简单的示例:

from concurrent.futures import ThreadPoolExecutor, as_completed
import timedef worker(thread_id):print(f"Thread {thread_id} is starting.")time.sleep(2)print(f"Thread {thread_id} is ending.")return thread_idwith ThreadPoolExecutor(max_workers=3) as executor:futures = [executor.submit(worker, i) for i in range(5)]for future in as_completed(futures):result = future.result()print(f"Result: {result}")

在这个示例中,创建一个最大容量为3的线程池,并提交了5个任务。as_completed函数用于迭代已完成的任务,并获取其结果。

以上是对Python的一些基本介绍和示例。在实际应用中,需要根据具体的需求和场景选择合适的并发编程技术。

许久未更新您猜怎么着,整理编写实属不易 有点费人,麻烦各位动动发财的小手,点赞收藏评论支持一波 谢谢!

相关文章:

Python编程整理汇总(基础汇总版)

1. 基础语法 1.1 变量与数据类型 整数&#xff1a;a 10 浮点数&#xff1a;b 3.14 字符串&#xff1a;c "Hello, World!" 布尔值&#xff1a;d True 列表&#xff1a;e [1, 2, 3, 4, 5] 元组&#xff1a;f (1, 2, 3) 字典&#xff1a;g {"name&qu…...

24软专 数据结构

1、A[n]&#xff0c;k&#xff0c;将数组向右循环移动k位。要求时间复杂度O(n)&#xff0c;空间O(1)。 思路&#xff1a;采用三次反转数组的操作&#xff0c;可以实现时间复杂度为O(n)&#xff0c;空间复杂度为O(1)的算法。 void moveElem(int array[],int k,int length){//a…...

如何更改手机GPS定位

你是否曾想过更改手机GPS位置以保护隐私、玩游戏或访问受地理限制的内容&#xff1f;接下来我将向你展示如何使用 MagFone Location Changer 更改手机GPS 位置&#xff01;无论是在玩Pokmon GO游戏、发布社媒贴子&#xff0c;这种方法都快速、简单且有效。 第一步&#xff1a;下…...

java Queue 详解

Java Queue 详解 Queue 是 Java 集合框架中用于实现 队列 数据结构的接口&#xff0c;位于 java.util 包中。队列是一种 先进先出&#xff08;FIFO&#xff09; 的数据结构&#xff0c;元素按照插入的顺序依次出队。 1. Queue 的基本特性 FIFO&#xff08;First-In-First-Out&…...

贪心算法 -- 递增子序列

目录 最长递增子序列 题解&#xff1a; 代码&#xff1a; 递增的三元子序列 题解&#xff1a; 代码&#xff1a; 简易版&#xff1a; 最长连续递增序列 题解&#xff1a; 代码&#xff1a; 最长递增子序列 300. 最长递增子序列 - 力扣&#xff08;LeetCode&#xf…...

MySQL:表的增删查改

目录 一. Create 1.1 单行数据全列插入 1.2 多行数据全列插入 1.3 插入否则更新 1.3.1 要插入的值与原数据有冲突则更新 1.3.2 要插入的值与原数据没有冲突则正常插入 1.3.3 要插入的值与原数据有冲突但是连续更新了两次 1.4 替换 二. Retrieve 2.…...

Python操作neo4j库py2neo使用之创建和查询(二)

Python操作neo4j库py2neo使用之创建和查询&#xff08;二&#xff09; py2neo 创建操作 1、连接数据库 from py2neo import Graph graph Graph("bolt://100.100.20.55:7687", auth(user, pwd), nameneo4j)2、创建Node from py2neo import Node, Subgraph # 创建…...

【pytorch-04】:线性回归案例(手动构建)

文章目录 1 构建数据集2 构建假设函数3 损失函数4 优化方法5 训练函数6.总结 1 构建数据集 为什么构建数据加载器&#xff1f; 在进行训练的时候都是采用的不是全部的数据&#xff0c;而是采用一个batch_size的数据进行训练&#xff0c;每次向模型当中送入batch_size数据&#…...

外包干了3年,技术退步明显...

先说情况&#xff0c;大专毕业&#xff0c;18年通过校招进入湖南某软件公司&#xff0c;干了接近6年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落&#xff01; 而我已经在一个企业干了四年的功能…...

React Native 全栈开发实战班 -原生功能集成之相机与图片

在移动应用中&#xff0c;相机功能 和 图片选择 是非常常见的需求&#xff0c;用户可以通过相机拍照或从相册中选择图片。React Native 提供了多种方式来实现相机和图片选择功能&#xff0c;包括使用第三方库&#xff08;如 react-native-image-picker&#xff09;和调用原生模…...

以太坊交易处理全流程:数据采集、价格查询与问题解决

一、背景 在开发交易记录处理系统时,涉及从以太坊链上获取交易记录、将其存储到数据库、根据交易时间查询历史价格,并计算交易的美元价值。在这一过程中,涉及多个技术环节及工具的综合使用,例如区块链 API 调用、数据库操作、时间戳处理和外部数据接口整合。 本文涉及的内…...

css数据不固定情况下,循环加不同背景颜色

<template><div><p v-for"(item, index) in items" :key"index" :class"getBackgroundClass(index)">{{ item }}</p></div> </template><script> export default {data() {return {items: [学不会1, …...

【Node.js】Node.js 和浏览器之间的差异

Node.js 是一个强大的运行时环境&#xff0c;它在现代 JavaScript 开发中扮演着重要角色。然而&#xff0c;许多开发者在使用 Node.js 时常常会感到困惑&#xff0c;尤其是与浏览器环境的对比。本文将深入探讨 Node.js 和浏览器之间的差异&#xff0c;帮助你全面理解两者的设计…...

算法【最长递增子序列问题与扩展】

本文讲解最长递增子序列以及最长不下降子序列的最优解&#xff0c;以及一些扩展题目。本文中讲述的是最优解&#xff0c;时间复杂度是O(n*logn)&#xff0c;空间复杂度O(n)&#xff0c;好实现、理解难度不大。这个问题也可以用线段树来求解&#xff0c;时间和空间复杂度和本节讲…...

【论文速读】| RobustKV:通过键值对驱逐防御大语言模型免受越狱攻击

基本信息 原文标题&#xff1a;ROBUSTKV: DEFENDING LARGE LANGUAGE MODELS AGAINST JAILBREAK ATTACKS VIA KV EVICTION 原文作者&#xff1a;Tanqiu Jiang, Zian Wang, Jiacheng Liang, Changjiang Li, Yuhui Wang, Ting Wang 作者单位&#xff1a;Stony Brook University…...

查询Mysql中被锁住的表以及如何解锁

当MySQL中的表被锁住时&#xff0c;可能会导致查询变慢或完全无法访问该表。处理这种情况的方法取决于锁的原因以及你想要达到的目标。以下是一些常见的步骤和技巧&#xff0c;可以帮助你解决被锁住的表的问题&#xff1a; 1. 识别锁的情况 首先&#xff0c;你需要确定哪些表…...

【Mac】未能完成该操作 Unable to locate a Java Runtime

重生之我做完产品经理之后回来学习Data Mining Mac打开weka.jar报错"未能完成该操作 Unable to locate a Java Runtime" 1. 打开终端执行 java -version 指令&#xff0c;原来是没安装 JDK 环境 yyzccnn-mac ~ % java -version The operation couldn’t be comple…...

RT_Thread内核源码分析(三)——线程

目录 1. 线程结构 2. 线程创建 2.1 静态线程创建 2.2 动态线程创建 2.3 源码分析 2.4 线程内存结构 3. 线程状态 3.1 线程状态分类 3.2 就绪状态和运行态 3.3 阻塞/挂起状态 3.3.1 阻塞工况 3.4 关闭状态 3.4.1 线程关闭接口 3.4.2 静态线程关闭 3.4.3 动态线程关…...

淘宝 NPM 镜像源

npm i vant/weapp -S --production npm config set registry https://registry.npmmirror.com 要在淘宝 NPM 镜像站下载项目或依赖&#xff0c;你可以按照以下步骤操作&#xff1a; 1. 设置淘宝 NPM 镜像源 首先&#xff0c;你需要设置淘宝 NPM 镜像源以加速下载。可以通过…...

机器学习—学习曲线

学习曲线是帮助理解学习算法如何工作的一种方法&#xff0c;作为它所拥有的经验的函数。 绘制一个符合二阶模型的学习曲线&#xff0c;多项式或二次函数&#xff0c;画出交叉验证错误Jcv&#xff0c;以及Jtrain训练错误&#xff0c;所以在这个曲线中&#xff0c;横轴将是Mtrai…...

Rust 智能指针

Rust 智能指针 引言 Rust 是一种系统编程语言,以其内存安全性、并发性和高性能而闻名。Rust 的核心特性之一是其独特的所有权模型,它确保了内存安全,同时避免了垃圾收集。在 Rust 中,智能指针是一种特殊的数据结构,它们不仅存储数据,还负责管理数据的生命周期。智能指针…...

云原生周刊:Kubernetes v1.32 要来了

开源项目推荐 Woodpecker Woodpecker 是一款轻量级且功能强大的 CI/CD 引擎&#xff0c;以其高度可扩展性和易用性著称。它支持多种版本控制系统与编程语言&#xff0c;能够灵活适配不同开发流程&#xff0c;帮助团队实现高效的持续集成与交付。无论是个人项目还是大型团队&a…...

Easyexcel(3-文件导出)

相关文章链接 Easyexcel&#xff08;1-注解使用&#xff09;Easyexcel&#xff08;2-文件读取&#xff09;Easyexcel&#xff08;3-文件导出&#xff09; 响应头设置 通过设置文件导出的响应头&#xff0c;可以自定义文件导出的名字信息等 //编码格式为UTF-8 response.setC…...

php:使用socket函数创建WebSocket服务

一、前言 闲来无事&#xff0c;最近捣鼓了下websocket&#xff0c;但是不希望安装第三方类库&#xff0c;所以打算用socket基础函数创建个服务。 二、构建websocket服务端 <?phpclass SocketService {// 默认的监听地址和端口private $address 0.0.0.0;private $port 8…...

ubuntu20.04中编译安装gcc 9.2.0

ubuntu20.04中编译安装gcc 9.2.0,步骤如下&#xff1a; #install compile dependence libraries 1&#xff1a;$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2&#xff1a;$ wget http://ftp.gnu.org/gn…...

ssm158企业人事管理系统的设计与实现+jsp(论文+源码)_kaic

设计题目&#xff1a;企业人事管理系统的设计与实现 摘 要 进入信息时代以来&#xff0c;很多数据都需要配套软件协助处理&#xff0c;这样可以解决传统方式带来的管理困扰。比如耗时长&#xff0c;成本高&#xff0c;维护数据困难&#xff0c;数据易丢失等缺点。本次使用数据…...

OceanBase数据库产品与工具介绍

OceanBase&#xff1a;蚂蚁集团自主研发的分布式关系数据库 1、什么是 OceanBase&#xff1f; OceanBase 是由蚂蚁集团完全自主研发的企业级分布式关系数据库&#xff0c;始创于 2010 年。它具有以下核心特点&#xff1a; 数据强一致性&#xff1a;在分布式架构下确保数据强…...

PakePlus将任何网页免费打包为mac/windows跨平台软件程序教程,只需要一个Github token就可以了

PakePlus是一个开源免费的软件&#xff0c;支持 Mac、Windows 和 Linux&#xff0c;很快也将支持 Android 和 iOS。无需在本地安装复杂的依赖环境&#xff0c;只需要一个Github Token就可以了。查看 README 以获取热门包和自定义开发信息。欢迎在讨论区分享你的建议。开源地址&…...

Element UI 组件库详解【Vue】

文章目录 一、引言二、安装并使用1. 安装2. 使用 三、常见组件说明1. 基础组件2. 布局组件3. 布局容器4. 选择框组件5. 输入框组件6. 下拉框组件7. 日期选择器8. 上传组件9. 表单组件10. 警告组件11. 提示组件12. 表格组件 一、引言 官方网站&#xff0c;element.eleme.cn El…...

Android kotlin之配置kapt编译器插件

配置项目目录下的gradle/libs.versions.toml文件&#xff0c;添加kapt配置项&#xff1a; 在模块目录下build.gradle.kt中增加 plugins {alias(libs.plugins.android.application)alias(libs.plugins.jetbrains.kotlin.android)// 增加该行alias(libs.plugins.jetbrains.kotl…...

基于 MUSA 的大语言模型推理和服务框架vLLM

1. 引言​ vLLM是一个高性能且内存高效的大语言模型推理和服务框架&#xff0c;也是当前业界使用范围最广的大模型推理框架&#xff0c;截至目前github star数28.4k。该框架性能优秀&#xff0c;而且部署容易&#xff0c;使用CUDA/ROCm提供GPU加速能力。但vLLM目前不支持使用摩…...

k8s 集群安装

安装rockylinux https://www.jianshu.com/p/a5fe20318b8e https://www.cnblogs.com/haoee/p/18290506 配置VirtualBox双网卡 https://www.cnblogs.com/ShineLeBlog/p/17580311.html https://zhuanlan.zhihu.com/p/341328334 https://blog.csdn.net/qq_36544785/article/deta…...

Linux-服务器辨别实体机OR虚拟机

快速命令 ① lscpu(查看CPU信息) lscpu Hypervisor vendor: KVM (超管理器厂商&#xff1a;KVM。虚拟机&#xff1a;KVM / VMware) Virtualization: VT-x&#xff08;虚拟化&#xff1a;VT-x。实体机&#xff1a;VT-x / AMD-V&#xff09; ② systemd-detect-virt(检测当前系…...

堤防安全监测系统方案

一、背景情况 堤防是开发利用水资源和防治水灾害的重要工程措施之一&#xff0c;对防洪、供水、生态、发电、航运等至关重要。我国现有堤防9.8万多座&#xff0c;其中大中型堤防4700多座、小型堤防9.4万座&#xff0c;80%以上修建于上世纪50至70年代。由于堤防管护力量薄弱&am…...

Leetcode 求根节点到叶节点数字之和

使用深度优先搜索 DFS 来做 我提供的代码使用的是 深度优先搜索&#xff08;DFS&#xff0c;Depth-First Search&#xff09; 算法。以下是具体的算法思想和实现步骤的解释&#xff1a; 算法思想 树的路径代表数字&#xff1a; 树中每条从根节点到叶子节点的路径可以看作一个整…...

Git分布式版本控制系统

1. 版本控制系统 版本控制系统主要分为两类&#xff1a;集中式、分布式。 集中式&#xff1a;SVM(工作流程&#xff1a;所有的文件都保存在中央服务器上&#xff0c;每个电脑上只保存了一个副本&#xff0c;当需要修改时&#xff0c;先下载中央服务器上的最新版本文件&#xf…...

数据库审计工具--Yearning 3.1.9普民的使用指南

1 页面登录 登录地址:18000 &#xff08;不要勾选LDAP&#xff09; 2 修改用户密码 3 DML/DDL工单申请及审批 工单申请 根据需要选择【DML/DDL/查询】中的一种进行工单申请 填写工单信息提交SQL检测报错修改sql语句重新进行SQL检测&#xff0c;如检测失败可以进行SQL美化后…...

VMware Workstation 17.6.1

概述 目前 VMware Workstation Pro 发布了最新版 v17.6.1&#xff1a; 本月11号官宣&#xff1a;针对所有人免费提供&#xff0c;包括商业、教育和个人用户。 使用说明 软件安装 获取安装包后&#xff0c;双击默认安装即可&#xff1a; 一路单击下一步按钮&#xff1a; 等待…...

unity 中 RectTransform 的常用几个属性

RectTransform rectTransform this.GetComponent<RectTransform>(); rectTransform this.transform as RectTransform; Vector3 vector1 rectTransform.position; //自身轴心点相对于锚点的位置&#xff08;编译器显示的pos&#xff09; …...

23种设计模式-模板方法(Template Method)设计模式

文章目录 一.什么是模板方法模式&#xff1f;二.模板方法模式的特点三.模板方法模式的结构四.模板方法模式的应用场景五.模板方法模式的优缺点六.模板方法模式的C实现七.模板方法模式的JAVA实现八.代码解析九.总结 类图&#xff1a; 模板方法设计模式类图 一.什么是模板方法模…...

网络安全之国际主流网络安全架构模型

目前&#xff0c;国际主流的网络安全架构模型主要有&#xff1a; ● 信息技术咨询公司Gartner的ASA&#xff08;Adaptive Security Architecture自适应安全架构&#xff09; ● 美国政府资助的非营利研究机构MITRE的ATT&CK&#xff08;Adversarial Tactics Techniques &…...

SpringCloud多机部署,负载均衡-LoadBalance

一.负载均衡 1.1问题描述 //根据应用名称获取服务列表 List<ServiceInstance> instancesdiscoveryClient.getInstances("product-service"); //一个微服务可能有多个实例&#xff0c;获取第一个 EurekaServiceInstance instance(EurekaServiceInstance)insta…...

前端开发调试之 PC 端调试学习笔记

一、引言 在前端开发过程中&#xff0c;调试是至关重要的一个环节。它能帮助我们快速定位代码中的问题&#xff0c;无论是页面布局错乱、交互效果异常还是性能不佳等情况&#xff0c;通过有效的调试手段都可以找到根源并进行修复。而在 PC 端进行调试有着其特定的方法和技巧&am…...

视频流媒体播放器EasyPlayer.js无插件直播流媒体音视频播放器Android端webview全屏调用无效问题

流媒体播放器的核心技术与发展趋势正在不断推动着行业的变革。未来&#xff0c;随着技术的不断进步和应用场景的不断拓展&#xff0c;流媒体播放器将为用户带来更加便捷、高效、个性化的观看体验。同时&#xff0c;流媒体播放器也会成为数字娱乐产业的重要组成部分&#xff0c;…...

使用 cnpm 安装 Electron,才是正确快速的方法

当然&#xff0c;下面是总结的几种安装 Electron 的方法&#xff0c;包括使用 npm 和 cnpm&#xff0c;以及一些常见的问题解决技巧。 ### 1. 使用 npm 安装 Electron #### 步骤 1: 初始化项目 在你的项目目录中初始化一个新的 Node.js 项目&#xff1a; bash npm init -y …...

pytest日志总结

pytest日志分为两类&#xff1a; 一、终端&#xff08;控制台&#xff09;打印的日志 1、指定-s&#xff0c;脚本中print打印出的信息会显示在终端&#xff1b; 2、pytest打印的summary信息&#xff0c;这部分是pytest 的默认输出&#xff08;例如测试结果PASSED, FAILED, S…...

【Ubuntu24.04】使用服务器

目录 0 背景1 将文件传送到服务器1.1 主机上的虚拟机1.2 另一台独立的计算机(包括上面的虚拟机)1.3 远程文件传输1.3.1 scp2 操作服务器2.1 ssh2.2 Termius2.2.1 下载2.2.2 安装2.2.3 使用2.2.4 小结3 总结0 背景 你是一个开发者,有自己的测试环境:一个Linux服务器(假设是…...

Spark 之 Aggregate

Aggregate 参考链接&#xff1a; https://github.com/PZXWHU/SparkSQL-Kernel-Profiling 完整的聚合查询的关键字包括 group by、 cube、 grouping sets 和 rollup 4 种 。 分组语句 group by 后面可以是一个或多个分组表达式&#xff08; groupingExpressions &#xff09;…...

ubuntu没有了有线网络如何修复

今天打开ubuntu之后发现有线网络连接没有了&#xff0c;如下图&#xff0c;此时是修复好之后的&#xff0c;“有线”部分存在&#xff0c;出现问题时是不存在的 此时只需要修改NetworkManager.conf配置文件&#xff0c;将managedfalse更改为managedtrue,保存退出就可以了 sudo…...

2411rust,异步函数

原文 Rust异步工作组很高兴地宣布,在实现在特征中使用异步 fn的目标方面取得了重大进度.将在下周发布稳定的Rust1.75版,会包括特征中支持impl Trait注解和async fn. 稳定化 自从RFC#1522在Rust1.26中稳定下来以来,Rust就允许用户按函数的返回类型(一般叫"RPIT")编…...