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

从入门到高级的99个python知识点

大家好,想掌握Python编程语言,从零基础的小白晋升为大神?没问题!接下来我们将以轻松有趣的方式,逐一解锁Python学习路上的99个关键知识点。每一步都将结合实际应用场景、函数功能解析及简洁代码演示,带你深度领略Python的魅力!

1. hello, world! - print() 函数,你的第一个问候,输出文本。

print("Hello, Python World!")

2. 变量小能手 - type()str(),查看和转换数据类型。

x = 5
print(type(x))  # 输出 <class 'int'>
y = str(x)      # 将整数转为字符串

3. 条件判断 - ifelifelse,让程序有逻辑。

age = 20
if age >= 18:print("成年人")
  1. 循环大法好 - forwhile,重复执行任务。
for i in range(5):print(i)
  1. 列表造房子 - []append(), 创建并添加元素。
fruits = ["apple", "banana"]
fruits.append("orange")
  1. 字典钥匙和门 - {}keys(), 存储键值对。
person = {"name": "Alice", "age": 25}
print(person.keys())
  1. 函数是魔法 - def,封装重复代码。
def greet(name):return f"Hello, {name}!"
  1. 异常处理 - tryexcept, 遇到错误不慌张。
try:num = int("abc")
except ValueError:print("这不是数字!")
  1. 模块大援军 - import, 导入外部库增强功能。
import math
pi = math.pi
  1. 字符串艺术 - split()join(), 分割和组合文本。
words = "hello world".split()
print("-".join(words))
  1. 文件操作入门 - open()read(), 读写文件内容。
with open("file.txt", "r") as file:content = file.read()
  1. 列表推导式 - 列表生成器,简洁高效。
squares = [x**2 for x in range(10)]
print(squares)
  1. 元组不可变 - ()tuple(), 安全存储不可变数据。
coordinates = (1, 2, 3)
print(coordinates[0])  # 输出 1
  1. 集合的独特性 - {}set(), 去重神器。
fruits = {"apple", "banana", "apple"}
unique_fruits = set(fruits)
print(unique_fruits)
  1. 类与对象 - class, 创建自定义数据结构。
class Dog:def __init__(self, name):self.name = name
dog = Dog("Rex")
  1. 装饰器魔法棒 - @decorator, 动态修改函数行为。
def my_decorator(func):def wrapper():print("Before function call")func()print("After function call")return wrapper@my_decorator
def say_hello():print("Hello!")say_hello()
  1. 异常链追踪 - raisetry-except, 显示异常详情。
try:raise ValueError("Custom error")
except ValueError as e:print(e)
  1. 迭代器解密 - iter()next(), 遍历序列更轻量级。
numbers = [1, 2, 3]
iterator = iter(numbers)
print(next(iterator))  # 输出 1
  1. lambda表达式 - 快速创建小型匿名函数。
double = lambda x: x * 2
print(double(5))  # 输出 10
  1. 函数式编程 - map()filter(), 高阶函数处理数据。
numbers = [1, 2, 3, 4, 5]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)  # 输出 [2, 4]
  1. 生成器表达式 - 动态生成值,节省内存。
even_gen = (x for x in range(10) if x % 2 == 0)
print(next(even_gen))  # 输出 0
  1. 内置函数大全 - len(), min(), max(), 功能强大。
string = "Python"
print(len(string))  # 输出 6
  1. 字典的键值对操作 - keys(), values(), items(), 访问元素。
d = {"name": "Alice", "age": 25}
print(d["name"])  # 输出 "Alice"
  1. 列表推导式优化 - 使用三元表达式简化条件。
numbers = [i for i in range(10) if i % 2 == 0 or i % 3 == 0]
print(numbers)
  1. 列表切片操作 - [start:end:step], 选择子序列。
fruits = ["apple", "banana", "cherry", "date"]
sliced_fruits = fruits[1:3]
print(sliced_fruits)  # 输出 ["banana", "cherry"]
  1. 面向对象继承 - classsuper(), 复用已有功能。
class Animal:def __init__(self, name):self.name = nameclass Dog(Animal):def bark(self):print(self.name + " says woof!")dog = Dog("Rex")
dog.bark()
  1. 异常处理实践 - finally 子句, 确保清理工作。
try:file.close()
except Exception as e:print("Error:", e)
finally:print("File closed.")
  1. 全局和局部变量 - 在函数内外区别变量。
global_var = "global"
def func():local_var = "local"print(local_var)  # 输出 "local"print(global_var)  # 输出 "global"
func()
  1. 模块导入优化 - 使用from ... import *, 但需谨慎。
from math import sqrt
print(sqrt(16))  # 输出 4.0
  1. 列表和元组的区别 - 元组不可变,列表可变。
t = (1, 2, 3)  # 元组
l = [1, 2, 3]  # 列表
l[0] = 0
print(l)  # 输出 [0, 2, 3]
print(t)  # 输出 (1, 2, 3), 元组不变
  1. 列表解析与生成器表达式对比 - 生成器节省内存。
# 列表解析
even_numbers_list = [i for i in range(10) if i % 2 == 0]# 生成器表达式
even_numbers_generator = (i for i in range(10) if i % 2 == 0)
print(list(even_numbers_generator))  # 输出相同,但生成器更节省内存
  1. 函数参数传递 - pass by value vs pass by reference, 对象传递。
def change_list(lst):lst.append(4)original = [1, 2]
change_list(original)
print(original)  # 输出 [1, 2, 4], 实际上是引用传递
  1. 列表推导式与map()对比 - 列表推导简洁。
numbers = [1, 2, 3, 4]
squared_list = [x**2 for x in numbers]
squared_map = map(lambda x: x**2, numbers)
print(list(squared_map))  # 输出 [1, 4, 9, 16], 相同结果,但列表推导更易读
  1. 迭代器和生成器的应用 - 节省内存和性能。
def infinite_sequence():n = 0while True:yield nn += 1gen = infinite_sequence()
for _ in range(5):print(next(gen))  # 输出前5个自然数
  1. 装饰器高级用法 - 多装饰器链。
def log_time(func):def wrapper(*args, **kwargs):start_time = time.time()result = func(*args, **kwargs)end_time = time.time()print(f"{func.__name__} took {end_time - start_time} seconds.")return resultreturn wrapper@log_time
@count_calls
def fibonacci(n):pass  # 实现斐波那契数列fibonacci(10)
  1. 异常处理最佳实践 - 明确异常类型和处理。
def safe_division(a, b):try:result = a / bexcept ZeroDivisionError:print("Can't divide by zero!")result = Nonereturn resultprint(safe_division(10, 2))  # 输出 5
print(safe_division(10, 0))  # 输出 Can't divide by zero!
  1. 类方法和静态方法 - @classmethod@staticmethod, 提供不同访问权限。
class MyClass:@classmethoddef class_method(cls):print(f"This is a class method, {cls}")@staticmethoddef static_method():print("This is a static method.")MyClass.class_method()  # 输出 This is a class method, MyClass
MyClass.static_method()  # 输出 This is a static method.
  1. 模块导入的别名 - 使用as关键字,简化导入。
import math as m
print(m.pi)  # 输出 π 的近似值
  1. 字符串格式化 - 使用f-stringformat(), 易于定制输出。
name = "Alice"
age = 25
print(f"My name is {name}, and I am {age} years old.")
  1. 列表推导式嵌套 - 多层次的数据处理。
matrix = [[1, 2], [3, 4]]
transposed = [[row[i] for row in matrix] for i in range(2)]
print(transposed)  # 输出 [[1, 3], [2, 4]]
  1. 元组解包 - 交换变量值。
a, b = 5, 10
a, b = b, a  # 元组解包实现变量交换
print(a, b)  # 输出 10, 5
  1. 列表推导式与列表生成式 - 生成器表达式节省内存。
# 列表推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]# 列表生成式
even_squares_gen = (x**2 for x in range(10) if x % 2 == 0)
print(list(even_squares_gen))  # 输出相同,但生成器更节省内存
  1. 字典的键冲突处理 - 使用collections.defaultdict
from collections import defaultdict
counter = defaultdict(int)
counter["apple"] += 1
print(counter)  # 输出 {"apple": 1}
  1. 列表和集合的区别 - 列表有序,集合无序且不允许重复。
fruits_list = ["apple", "banana", "apple"]
fruits_set = {"apple", "banana"}
print(fruits_list)  # 输出 ["apple", "banana", "apple"]
print(fruits_set)  # 输出 {"apple", "banana"}
  1. 函数返回多个值 - 使用元组或列表。
def get_name_and_age():return "Alice", 25name, age = get_name_and_age()
print(name, age)  # 输出 Alice 25
  1. 列表推导式中的条件判断 - 更灵活的控制。
odds = [x for x in range(10) if x % 2 != 0]
print(odds)  # 输出 [1, 3, 5, 7, 9]
  1. 上下文管理器with - 自动关闭资源。
with open("file.txt", "r") as file:content = file.read()
print(content)
# 文件会在with语句结束后自动关闭
  1. Python的魔术方法__str__ - 自定义对象的字符串表示。
class Person:def __str__(self):return f"Person: {self.name}"person = Person(name="Alice")
print(person)  # 输出 Person: Alice
  1. 装饰器高级技巧 - 使用functools.wraps保持原函数信息。
from functools import wrapsdef timer(func):@wraps(func)def wrapper(*args, **kwargs):start_time = time.time()result = func(*args, **kwargs)end_time = time.time()print(f"{func.__name__} took {end_time - start_time} seconds.")return resultreturn wrapper@timer
def my_function():passmy_function()
  1. 异常处理和try-except-finally - 控制流程的灵活性。
try:div_by_zero = 10 / 0
except ZeroDivisionError:print("Can't divide by zero!")
finally:print("Execution completed.")
  1. 列表和数组比较 - 列表通用,NumPy数组高效。
import numpy as npnormal_list = [1, 2, 3]
np_array = np.array([1, 2, 3])
print(np_array.shape)  # 输出 (3,), 数组有形状信息
  1. Python的内置模块datetime - 处理日期和时间。
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d %H:%M:%S"))
  1. Python的os模块 - 操作文件和目录。
import os
print(os.getcwd())  # 输出当前工作目录
  1. 列表推导式中的条件和循环 - 结合使用。
evens = [x for x in range(10) if x % 2 == 0 for y in range(5) if y % 2 == 0]
print(evens)
  1. 迭代器和生成器的使用场景 - 数据处理和节省内存。
# 使用生成器处理大文件
def read_large_file(file_path, chunk_size=1024):with open(file_path, "r") as file:while True:chunk = file.read(chunk_size)if not chunk:breakyield chunkfor line in read_large_file("large.txt"):process(line)
  1. zip()函数 - 同时遍历多个序列。
names = ["Alice", "Bob", "Charlie"]
ages = [25, 30, 35]
pairs = zip(names, ages)
print(list(pairs))  # 输出 [('Alice', 25), ('Bob', 30), ('Charlie', 35)]
  1. enumerate()函数 - 为列表元素添加索引。
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):print(f"{index}: {fruit}")
  1. itertools模块 - 提供高效迭代工具。
from itertools import product
result = product("ABC", repeat=2)
print(list(result))  # 输出 [('A', 'A'), ('A', 'B'), ('A', 'C'), ..., ('C', 'C')]
  1. json模块 - 序列化和反序列化数据。
import json
data = {"name": "Alice", "age": 25}
json_data = json.dumps(data)
print(json_data)
  1. 递归函数 - 用于解决分治问题。
def factorial(n):if n == 0 or n == 1:return 1else:return n * factorial(n - 1)print(factorial(5))  # 输出 120
  1. os.path模块 - 文件路径处理。
import os.path
path = "/home/user/documents"
print(os.path.exists(path))  # 输出 True 或 False
  1. random模块 - 随机数生成。
import random
random_number = random.randint(1, 10)
print(random_number)
  1. re模块 - 正则表达式操作。
import re
text = "Today is 2023-04-01"
match = re.search(r"\d{4}-\d{2}-\d{2}", text)
print(match.group())  # 输出 "2023-04-01"
  1. requests - 发送HTTP请求。
import requests
response = requests.get("https://api.example.com")
print(response.status_code)
  1. Pandas - 大数据处理。
import pandas as pd
df = pd.DataFrame({"Name": ["Alice", "Bob"], "Age": [25, 30]})
print(df)
  1. matplotlib - 数据可视化。
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.show()
  1. logging模块 - 日志记录。
import logging
logger = logging.getLogger(__name__)
logger.info("This is an info message")
  1. asyncio - 异步编程。
import asyncio
async def slow_task():await asyncio.sleep(1)return "Task completed"loop = asyncio.get_event_loop()
result = loop.run_until_complete(slow_task())
print(result)
  1. contextlib模块 - 非阻塞上下文管理。
from contextlib import asynccontextmanager
@asynccontextmanager
async def acquire_lock(lock):async with lock:yieldasync with acquire_lock(lock):# do something
  1. asyncio.gather - 异步并发执行。
tasks = [asyncio.create_task(task) for task in tasks_to_run]
results = await asyncio.gather(*tasks)
  1. asyncio.sleep - 异步等待一段时间。
await asyncio.sleep(2)  # 程序在此暂停2秒
  1. asyncio.wait - 等待多个任务完成。
done, pending = await asyncio.wait(tasks, timeout=10)
  1. asyncio.subprocess - 异步执行外部命令。
import asyncio.subprocess as sp
proc = await sp.create_subprocess_exec("ls", "-l")
await proc.communicate()
  1. concurrent.futures - 多线程/进程执行。
from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutorwith ThreadPoolExecutor() as executor:results = executor.map(function, arguments)
  1. timeit模块 - 测试代码执行速度。
import timeit
print(timeit.timeit("your_code_here", globals=globals()))
  1. pickle模块 - 序列化和反序列化对象。
import pickle
serialized = pickle.dumps(obj)
deserialized = pickle.loads(serialized)
  1. logging.handlers模块 - 多种日志输出方式。
handler = RotatingFileHandler("app.log", maxBytes=1000000)
formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
handler.setFormatter(formatter)
logger.addHandler(handler)
  1. asyncio.Queue - 异步队列。
queue = asyncio.Queue()
await queue.put(item)
result = await queue.get()
  1. asyncio.Event - 异步信号量。
event = asyncio.Event()
event.set()  # 设置信号
await event.wait()  # 等待信号
  1. asyncio.Lock - 互斥锁,防止并发修改。
async with await asyncio.Lock():  # 获取锁后执行critical_section()
  1. asyncio.gatherasyncio.wait_for的区别 - 异步任务管理。
  • gather: 并行执行多个任务,等待所有任务完成。
  • wait_for: 等待单个任务完成,其他任务继续运行。
  1. asyncio.sleepasyncio.sleep_after - 异步延时和定时任务。
  • sleep: 直接暂停当前协程。
  • sleep_after: 定义一个延迟后执行的任务。
  1. aiohttp - HTTP客户端库。
import aiohttp
async with aiohttp.ClientSession() as session:async with session.get("https://example.com") as response:data = await response.text()
  1. asyncio.shield - 防止被取消任务中断。
async def task():await shield(some_long_running_task())# 如果外部取消任务,task将继续运行,不会影响内部任务
asyncio.create_task(task())
  1. asyncio.run - 简化异步程序执行。
asyncio.run(main_coroutine())
  1. asyncio.iscoroutinefunction - 检查是否为协程函数。
if asyncio.iscoroutinefunction(some_function):await some_function()
  1. asyncio.all_tasks - 获取所有任务。
tasks = asyncio.all_tasks()
for task in tasks:task.cancel()
  1. asyncio.wait_forasyncio.timeout - 设置超时限制。
try:result = await asyncio.wait_for(some_task, timeout=5.0)
except asyncio.TimeoutError:print("Task timed out")
  1. asyncio.sleep_timeout - 异步睡眠并设置超时。
await asyncio.sleep_timeout(10, asyncio.TimeoutError)
  1. asyncio.current_task - 获取当前正在执行的任务。
current_task = asyncio.current_task()
print(current_task)
  1. asyncio.sleep的超时支持 - asyncio.sleep现在接受超时参数。
try:await asyncio.sleep(1, timeout=0.5)  # 如果超过0.5秒还没完成,则会抛出TimeoutError
except asyncio.TimeoutError:print("Sleep interrupted")
  1. asyncio.shield的高级用法 - 可以保护整个协程。
@asyncio.coroutine
def protected_coroutine():try:await some_task()except Exception as e:print(f"Error occurred: {e}")# 使用shield保护,即使外部取消任务,也会继续处理错误asyncio.create_task(protected_coroutine())
  1. asyncio.wait的回调函数 - 使用回调函数处理完成任务。
done, _ = await asyncio.wait(tasks, callback=handle_completed_task)
  1. asyncio.gather的返回值 - 可以获取所有任务的结果。
results = await asyncio.gather(*tasks)
  1. asyncio.Queueget_nowait - 不阻塞获取队列元素。
if not queue.empty():item = queue.get_nowait()
else:item = await queue.get()
  1. asyncio.Eventclear - 清除事件状态。
event.clear()
await event.wait()  # 现在需要再次调用set()来触发
  1. asyncio.Eventis_set - 检查事件是否已设置。
if event.is_set():print("Event is set")
  1. asyncio.subprocess.PIPE - 连接到子进程的输入/输出管道。
proc = await asyncio.create_subprocess_exec("python", "-c", "print('Hello from child')", stdout=asyncio.subprocess.PIPE
)
output, _ = await proc.communicate()
print(output.decode())
  1. asyncio.run_coroutine_threadsafe - 在子线程中执行协程。
loop = asyncio.get_running_loop()
future = loop.run_coroutine_threadsafe(some_async_coroutine(), thread_pool)
result = await future.result()

好了,今天就这些了,希望对大家有帮助。都看到这了,点个赞再走吧~

更多精彩文章请关注下方微信公众号!

相关文章:

从入门到高级的99个python知识点

大家好&#xff0c;想掌握Python编程语言&#xff0c;从零基础的小白晋升为大神&#xff1f;没问题&#xff01;接下来我们将以轻松有趣的方式&#xff0c;逐一解锁Python学习路上的99个关键知识点。每一步都将结合实际应用场景、函数功能解析及简洁代码演示&#xff0c;带你深…...

设计模式之备忘录模式(上)

备忘录模式 1&#xff09;概述 1.定义 在不破坏封装的前提下&#xff0c;捕获一个对象的内部状态&#xff0c;并在该对象之外保存这个状态&#xff0c;可以在以后将对象恢复到原先保存的状态。 2.作用 备忘录模式提供了一种状态恢复的实现机制&#xff0c;使得用户可以方便…...

算法中二分搜索详解

文章目录 在有序数组中找num是否存在实现思路实现代码(里面运用了对数器)在有序数组中找>num的最左位置实现思路代码实现 在有序数组中找<num的最右位置实现思路实现代码 二分搜索不一定发生在有序数组上(比如寻找峰值问题)题目描述实现思路实现代码 在有序数组中找num是…...

关于无线充电项目总结IP6826

1、电路 1.1 选用芯片IP6826英集芯 支持PD3.0 5-15W 1.2 推荐电路 讲解这个是官方推荐图 注意以下几点&#xff1a; NTC是100K的别买错了 L就是线圈 我这选用的A11 6.3 uH 淘宝买的 需要陪400nf NPO或CBB 还可以10uh配250nf&#xff08;这个我没试过&#xff09; 如果led2闪烁…...

[CSS]样式属性+元素设置

哎呀&#xff0c;好多东西&#xff0c;根本记不住&#xff0c;更多的还是边用边记吧&#xff0c;这里的代码就当使用范例&#xff0c;但其实如果可以让gpt应该会更好&#xff0c;哎学吧&#xff0c;反正记得住当然更好 文本 属性名描述word-break单词换行。取值如下&#xff1…...

优雅关闭jar程序shell 脚本

参考竽道Linux部署 #!/bin/bash set -eDATE$(date %Y%m%d%H%M) # 基础路径 BASE_PATH/work/projects/yudao-server # 服务名称。同时约定部署服务的 jar 包名字也为它。 SERVER_NAMEyudao-server # 环境 PROFILES_ACTIVEdev# heapError 存放路径 HEAP_ERROR_PATH$BASE_PATH/he…...

基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真程序设计报告原理图讲解视频&#xff09; 多功能洗衣机控制-强洗弱洗漂洗 1. 主要功能&#xff1a;2. 讲解视频&#xff1a;3. 仿真设计4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单资料下载链接&#xf…...

CVP(ChatGPT、Vector Database和Prompt)

CVP实际上指的是ChatGPT、Vector Database和Prompt的结合&#xff0c;这是一种新型的技术栈&#xff0c;用于构建智能应用。 首先&#xff0c;我们来看这三个组成部分&#xff1a; ChatGPT&#xff1a;这是一个强大的语言模型&#xff0c;它能够理解并生成自然语言文本。Chat…...

c语言-----数组知识汇总

前言 本文为我学习数组知识点之后&#xff0c;对c语言的数组部分进行的知识点汇总。 简单数组介绍 简单来说&#xff0c;数组就是一个数据组&#xff0c;像一个箱子&#xff0c;里面放有多个数据。 [1,2,3,4,5] 数组的定义 基础定义 语法&#xff1a; 数据类型 数组名[数组…...

【游戏开发之热更新技术】

游戏开发之热更新技术 热更新技术是指在不重新发布和安装应用的情况下&#xff0c;对已部署的应用程序进行更新和修补的技术。这种技术在现代软件开发中变得越来越重要&#xff0c;因为它能够为用户提供更加及时的服务和更好的体验。以下是一篇关于热更新技术的文章&#xff0…...

小红的白色字符串

题目描述 小红拿到了一个字符串&#xff0c;她准备将一些字母变成白色&#xff0c;变成白色的字母看上去就和空格一样&#xff0c;这样字符串就变成了一些单词。 现在小红希望&#xff0c;每个单词都满足以下两种情况中的一种&#xff1a; 1.开头第一个大写&#xff0c;其余为…...

Python+Django+Html网页版人脸识别考勤打卡系统

程序示例精选 PythonDjangoHtml人脸识别考勤打卡系统 如需安装运行环境或远程调试&#xff0c;见文章底部个人QQ名片&#xff0c;由专业技术人员远程协助&#xff01; 前言 这篇博客针对《PythonDjangoHtml网页版人脸识别考勤打卡系统》编写代码&#xff0c;代码整洁&#xf…...

第1章、react基础知识;

一、react学习前期准备&#xff1b; 1、基本概念&#xff1b; 前期的知识准备&#xff1a; 1.javascript、html、css&#xff1b; 2.构建工具&#xff1a;Webpack&#xff1a;https://yunp.top/init/p/v/1 3.安装node&#xff1a;npm&#xff1a;https://yunp.top/init/p/v/1 …...

物联网会用到哪些数据开发

物联网&#xff08;IoT&#xff09;涉及大量的设备和传感器&#xff0c;产生的数据种类繁多&#xff0c;因此在物联网领域进行数据开发时&#xff0c;可能涉及以下几个方面&#xff1a; 数据采集与存储&#xff1a; 设备数据采集&#xff1a;从各种传感器和设备中采集数据&…...

[Linux]一篇文章带你搞定软硬连接

阅读导览&#xff1a; 先在windows中先见见软硬连接从名字、inode等方面分析软硬连接如何实现软硬连接硬链接注意事项软硬链接都用来干什么如何在windows中实现硬链接 文章目录 概念简述文件系统windows下的快捷方式--软硬链接的直观体现角度1&#xff1a;文件名角度2&#xff…...

AI常见关键术语

哈喽&#xff0c;大家好&#xff0c;我是小码哥&#xff0c;人工智能技术的快速发展带来了许多专业术语&#xff0c;这些词汇对于理解AI的工作原理和应用至关重要。以下是一些关键的AI术语&#xff0c;以及它们的专业解释和通俗总结。 一、核心概念 人工智能 (AI) 专业解释&am…...

DataX案例,MongoDB数据导入HDFS与MySQL

【尚硅谷】Alibaba开源数据同步工具DataX技术教程_哔哩哔哩_bilibili 目录 1、MongoDB 1.1、MongoDB介绍 1.2、MongoDB基本概念解析 1.3、MongoDB中的数据存储结构 1.4、MongoDB启动服务 1.5、MongoDB小案例 2、DataX导入导出案例 2.1、读取MongoDB的数据导入到HDFS 2…...

HarmonyOS鸿蒙端云一体化开发--适合小白体制

端云一体化 什么是“端”&#xff0c;什么是“云”&#xff1f; 答&#xff1a;“端“&#xff1a;手机APP端 “云”:后端服务端 什么是端云一体化&#xff1f; 端云一体化开发支持开发者在 DevEco Studio 内使用一种语言同时完成 HarmonyOS 应用的端侧与云侧开发。 …...

Quanto: PyTorch 量化工具包

量化技术通过用低精度数据类型 (如 8 位整型 (int8)) 来表示深度学习模型的权重和激活&#xff0c;以减少传统深度学习模型使用 32 位浮点 (float32) 表示权重和激活所带来的计算和内存开销。 减少位宽意味着模型的内存占用更低&#xff0c;这对在消费设备上部署大语言模型至关…...

宝塔面板Docker+Uwsgi+Nginx+SSL部署Django项目

这次为大家带来的是从零开始搭建一个django项目并将它部署到linux服务器上。大家可以按照我的步骤一步步操作&#xff0c;最终可以完成部署。 步骤1&#xff1a;在某个文件夹中创建一个django项目 安装django pip install django创建一个django项目将其命名为djangoProject …...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

LLM基础1_语言模型如何处理文本

基于GitHub项目&#xff1a;https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken&#xff1a;OpenAI开发的专业"分词器" torch&#xff1a;Facebook开发的强力计算引擎&#xff0c;相当于超级计算器 理解词嵌入&#xff1a;给词语画"…...

NFT模式:数字资产确权与链游经济系统构建

NFT模式&#xff1a;数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新&#xff1a;构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议&#xff1a;基于LayerZero协议实现以太坊、Solana等公链资产互通&#xff0c;通过零知…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...

水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关

在水泥厂的生产流程中&#xff0c;工业自动化网关起着至关重要的作用&#xff0c;尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关&#xff0c;为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多&#xff0c;其中不少设备采用Devicenet协议。Devicen…...

沙箱虚拟化技术虚拟机容器之间的关系详解

问题 沙箱、虚拟化、容器三者分开一一介绍的话我知道他们各自都是什么东西&#xff0c;但是如果把三者放在一起&#xff0c;它们之间到底什么关系&#xff1f;又有什么联系呢&#xff1f;我不是很明白&#xff01;&#xff01;&#xff01; 就比如说&#xff1a; 沙箱&#…...