【Numpy核心編程攻略:Python數據處理、分析詳解與科學計算】1.1 從零搭建NumPy環境:安裝指南與初體驗

在這里插入圖片描述

1. 從零搭建NumPy環境:安裝指南與初體驗

NumPy核心能力圖解(架構圖)

NumPy 是 Python 中用于科學計算的核心庫,它提供了高效的多維數組對象以及用于處理這些數組的各種操作。NumPy 的核心能力可以概括為以下幾個方面:

  • 高效數組操作:NumPy 數組(ndarray)比 Python 列表更高效,支持向量化操作。
  • 數學函數:提供了豐富的數學函數,如三角函數、指數函數、對數函數等。
  • 線性代數:支持矩陣運算、特征值分解、奇異值分解等。
  • 隨機數生成:提供了多種隨機數生成器,用于模擬數據等。
  • 廣播機制:支持不同形狀的數組之間的運算。
  • 文件讀寫:支持多種文件格式的讀寫操作,如 .npy.npz 等。
  • 傅里葉變換:支持頻域和時域之間的轉換。
  • 集合操作:支持集合的交集、并集、差集等操作。

下面是 NumPy 的架構圖:

NumPy
高效數組操作
數學函數
線性代數
隨機數生成
廣播機制
文件讀寫
傅里葉變換
集合操作
ndarray
向量化操作
三角函數
指數函數
對數函數
矩陣運算
特征值分解
奇異值分解
均勻分布
正態分布
泊松分布
不同形狀數組運算
.npy 文件
.npz 文件
頻域轉換
時域轉換
交集
并集
差集
Anaconda/Pip雙環境安裝指南(含版本選擇建議)

NumPy 可以通過多種方式安裝,其中最常用的兩種方式是使用 Anaconda 和 Pip。下面我們將詳細介紹這兩種方式的安裝步驟,并提供版本選擇建議。

1.1 使用 Anaconda 安裝 NumPy

步驟 1:下載 Anaconda

首先,訪問 Anaconda 官方網站并下載最新版本的 Anaconda。Anaconda 為不同的操作系統提供了不同的安裝包,確保選擇與你當前操作系統相匹配的版本。

  • Windows:https://www.anaconda.com/products/distribution#download-section
  • Mac:https://www.anaconda.com/products/distribution#download-section
  • Linux:https://www.anaconda.com/products/distribution#download-section

步驟 2:安裝 Anaconda

按照下載的安裝包中的說明進行安裝。安裝過程中,建議選擇默認選項,特別是將 Anaconda 添加到系統路徑中。

步驟 3:創建并激活環境

打開 Anaconda Prompt(Windows)或終端(Mac/Linux),創建一個新的環境并激活它。

conda create -n numpy_env python=3.9  # 創建名為 numpy_env 的環境,并指定 Python 版本為 3.9
conda activate numpy_env             # 激活環境

步驟 4:安裝 NumPy

在激活的環境中,使用以下命令安裝 NumPy:

conda install numpy                  # 安裝 NumPy
1.2 使用 Pip 安裝 NumPy

步驟 1:安裝 Python

確保你的系統已經安裝了 Python。你可以從 Python 官方網站下載并安裝最新版本的 Python。

  • Windows:https://www.python.org/downloads/windows/
  • Mac:https://www.python.org/downloads/macos/
  • Linux:大多數 Linux 發行版已經預裝了 Python,如果沒有,可以使用包管理器安裝。

步驟 2:安裝 Pip

大多數情況下,Python 安裝時會自帶 Pip。你可以通過以下命令檢查 Pip 是否已安裝:

python -m pip --version               # 檢查 Pip 版本

如果沒有安裝,可以使用以下命令安裝:

python -m ensurepip --upgrade          # 安裝并升級 Pip

步驟 3:創建并激活虛擬環境

推薦使用虛擬環境來管理 Python 項目依賴。你可以使用 venv 模塊創建虛擬環境。

python -m venv numpy_env              # 創建名為 numpy_env 的虛擬環境
source numpy_env/bin/activate          # 激活環境(Linux/Mac)
numpy_env\Scripts\activate             # 激活環境(Windows)

步驟 4:安裝 NumPy

在激活的虛擬環境中,使用以下命令安裝 NumPy:

pip install numpy                     # 安裝 NumPy
三平臺安裝步驟對比表格
步驟AnacondaPip
1. 下載訪問 Anaconda 官方網站下載安裝包確保系統已安裝 Python
2. 安裝按照安裝包說明進行安裝從 Python 官方網站下載并安裝
3. 創建環境conda create -n numpy_env python=3.9python -m venv numpy_env
4. 激活環境conda activate numpy_envsource numpy_env/bin/activate(Linux/Mac)
numpy_env\Scripts\activate(Windows)
5. 安裝 NumPyconda install numpypip install numpy
驗證安裝的3種方法
1.3.1 終端命令驗證

方法 1:檢查 NumPy 版本

python -c "import numpy as np; print(np.__version__)"  # 檢查 NumPy 版本

方法 2:列出已安裝的包

conda list numpy  # 列出 Anaconda 環境中已安裝的 NumPy 包
pip list | grep numpy  # 列出 Pip 環境中已安裝的 NumPy 包
1.3.2 Python 代碼驗證

方法 3:運行簡單的 NumPy 代碼

import numpy as np# 創建一個 3x3 的數組
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("創建的 3x3 數組:")
print(array)# 計算數組的平均值
mean_value = np.mean(array)
print("數組的平均值:", mean_value)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 創建一個 3x3 的數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入一個二維列表,其中每個子列表代表數組的一行
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("創建的 3x3 數組:")  # 打印數組
print(array)# 計算數組的平均值
# np.mean 是 NumPy 中用于計算平均值的函數
# 傳入數組作為參數
mean_value = np.mean(array)
print("數組的平均值:", mean_value)  # 打印平均值
常見安裝報錯解決方案(附錯誤截圖示例)

問題 1:Pip 安裝時報錯

錯誤示例:

ERROR: Could not find a version that satisfies the requirement numpy (from versions: none)
ERROR: No matching distribution found for numpy

解決方案:

  1. 確保你的網絡連接正常。

  2. 升級 Pip 到最新版本:

    pip install --upgrade pip
    
  3. 如果仍然報錯,可以嘗試使用國內的鏡像源:

    pip install numpy -i https://pypi.tuna.tsinghua.edu.cn/simple
    

問題 2:Anaconda 安裝時報錯

錯誤示例:

Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.

解決方案:

  1. 重啟 Anaconda Prompt 或終端。

  2. 清除緩存并重新安裝:

    conda clean --all
    conda install numpy
    
  3. 如果仍然報錯,可以嘗試使用國內的鏡像源:

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
    conda install numpy
    

問題 3:虛擬環境無法激活

錯誤示例:

source: command not found

解決方案:

  1. 確保你使用的是正確的激活命令。在 Windows 上使用 numpy_env\Scripts\activate,在 Linux/Mac 上使用 source numpy_env/bin/activate
  2. 檢查虛擬環境目錄是否存在,并且路徑正確。
第一個NumPy程序:數組創建與基礎運算
1.4.1 創建數組

NumPy 提供了多種創建數組的方法,包括從列表創建、從文件讀取、隨機生成等。下面我們將介紹最常見的幾種方法。

1. 從列表創建數組

import numpy as np# 從列表創建一維數組
one_d_array = np.array([1, 2, 3, 4, 5])
print("一維數組:")
print(one_d_array)# 從列表創建二維數組
two_d_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("二維數組:")
print(two_d_array)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 從列表創建一維數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入一個一維列表,創建一個一維數組
one_d_array = np.array([1, 2, 3, 4, 5])
print("一維數組:")  # 打印一維數組
print(one_d_array)# 從列表創建二維數組
# 傳入一個二維列表,其中每個子列表代表數組的一行
two_d_array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("二維數組:")  # 打印二維數組
print(two_d_array)

2. 從文件讀取數組

NumPy 支持從多種文件格式讀取數組,最常用的是 .npy.npz 文件。

import numpy as np# 從 .npy 文件讀取數組
array_from_npy = np.load('array.npy')
print("從 .npy 文件讀取的數組:")
print(array_from_npy)# 從 .npz 文件讀取數組
data = np.load('data.npz')
array1 = data['array1']
array2 = data['array2']
print("從 .npz 文件讀取的數組1:")
print(array1)
print("從 .npz 文件讀取的數組2:")
print(array2)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 從 .npy 文件讀取數組
# np.load 是 NumPy 中用于從文件加載數組的函數
# 傳入文件路徑作為參數
array_from_npy = np.load('array.npy')
print("從 .npy 文件讀取的數組:")  # 打印從 .npy 文件讀取的數組
print(array_from_npy)# 從 .npz 文件讀取數組
# .npz 文件可以存儲多個數組
# 使用 np.load 讀取 .npz 文件
data = np.load('data.npz')
# 通過鍵值訪問存儲在 .npz 文件中的數組
array1 = data['array1']
array2 = data['array2']
print("從 .npz 文件讀取的數組1:")  # 打印數組1
print(array1)
print("從 .npz 文件讀取的數組2:")  # 打印數組2
print(array2)

3. 隨機生成數組

import numpy as np# 生成一個 3x3 的隨機數組,元素值在 0 到 1 之間
random_array = np.random.rand(3, 3)
print("隨機生成的 3x3 數組:")
print(random_array)# 生成一個 3x3 的隨機整數數組,元素值在 1 到 10 之間
random_int_array = np.random.randint(1, 10, (3, 3))
print("隨機生成的 3x3 整數數組:")
print(random_int_array)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 生成一個 3x3 的隨機數組,元素值在 0 到 1 之間
# np.random.rand 是 NumPy 中用于生成隨機數組的函數
# 傳入數組的形狀作為參數
random_array = np.random.rand(3, 3)
print("隨機生成的 3x3 數組:")  # 打印隨機數組
print(random_array)# 生成一個 3x3 的隨機整數數組,元素值在 1 到 10 之間
# np.random.randint 是 NumPy 中用于生成隨機整數數組的函數
# 傳入最小值、最大值和數組形狀作為參數
random_int_array = np.random.randint(1, 10, (3, 3))
print("隨機生成的 3x3 整數數組:")  # 打印隨機整數數組
print(random_int_array)
1.4.2 基礎運算

NumPy 提供了豐富的數組運算功能,包括加法、減法、乘法、除法、矩陣乘法等。下面我們將介紹一些常見的基礎運算。

1. 數組加法

import numpy as np# 創建兩個 3x3 的數組
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的加法
sum_array = array1 + array2
print("數組加法:")
print(sum_array)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 創建兩個 3x3 的數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入二維列表,每個子列表代表數組的一行
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的加法
# NumPy 支持直接使用 + 運算符進行數組加法
sum_array = array1 + array2
print("數組加法:")  # 打印結果
print(sum_array)

2. 數組減法

import numpy as np# 創建兩個 3x3 的數組
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的減法
diff_array = array1 - array2
print("數組減法:")
print(diff_array)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 創建兩個 3x3 的數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入二維列表,每個子列表代表數組的一行
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的減法
# NumPy 支持直接使用 - 運算符進行數組減法
diff_array = array1 - array2
print("數組減法:")  # 打印結果
print(diff_array)

3. 數組乘法

import numpy as np# 創建兩個 3x3 的數組
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的逐元素乘法
elementwise_product = array1 * array2
print("逐元素乘法:")
print(elementwise_product)# 計算兩個數組的矩陣乘法
matrix_product = np.dot(array1, array2)
print("矩陣乘法:")
print(matrix_product)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 創建兩個 3x3 的數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入二維列表,每個子列表代表數組的一行
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的逐元素乘法
# NumPy 支持直接使用 * 運算符進行數組的逐元素乘法
elementwise_product = array1 * array2
print("逐元素乘法:")  # 打印結果
print(elementwise_product)# 計算兩個數組的矩陣乘法
# np.dot 是 NumPy 中用于計算矩陣乘法的函數
# 傳入兩個數組作為參數
matrix_product = np.dot(array1, array2)
print("矩陣乘法:")  # 打印結果
print(matrix_product)

4. 數組除法

import numpy as np# 創建兩個 3x3 的數組
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的逐元素除法
elementwise_division = array1 / array2
print("逐元素除法:")
print(elementwise_division)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 創建兩個 3x3 的數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入二維列表,每個子列表代表數組的一行
array1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
array2 = np.array([[9, 8, 7], [6, 5, 4], [3, 2, 1]])# 計算兩個數組的逐元素除法
# NumPy 支持直接使用 / 運算符進行數組的逐元素除法
elementwise_division = array1 / array2
print("逐元素除法:")  # 打印結果
print(elementwise_division)

5. 數組轉置

import numpy as np# 創建一個 3x3 的數組
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 計算數組的轉置
transposed_array = array.T
print("數組轉置:")
print(transposed_array)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 創建一個 3x3 的數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入二維列表,每個子列表代表數組的一行
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 計算數組的轉置
# .T 是 NumPy 數組的一個屬性,用于獲取數組的轉置
transposed_array = array.T
print("數組轉置:")  # 打印結果
print(transposed_array)

6. 數組重塑

import numpy as np# 創建一個 1x9 的數組
array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])# 將數組重塑為 3x3 的數組
reshaped_array = array.reshape(3, 3)
print("重塑后的數組:")
print(reshaped_array)

注釋:

# 導入 NumPy 庫,并將其別名為 np
import numpy as np# 創建一個 1x9 的數組
# np.array 是 NumPy 中用于創建數組的函數
# 傳入一個一維列表
array = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])# 將數組重塑為 3x3 的數組
# .reshape 是 NumPy 數組的一個方法,用于改變數組的形狀
# 傳入新的形狀作為參數
reshaped_array = array.reshape(3, 3)
print("重塑后的數組:")  # 打印結果
print(reshaped_array)
參考文獻或資料
參考資料名稱鏈接
NumPy 官方文檔https://numpy.org/doc/
Anaconda 官方文檔https://docs.anaconda.com/
Pip 官方文檔https://pip.pypa.io/en/stable/
Python 官方文檔https://docs.python.org/3/
NumPy 教程https://www.datacamp.com/community/tutorials/python-numpy-tutorial
NumPy 入門指南https://numpy.org/devdocs/user/quickstart.html
NumPy 環境搭建教程https://www.geeksforgeeks.org/how-to-install-numpy-on-windows/
NumPy 學習筆記https://www.jianshu.com/p/4e4d5c1e7e8b
NumPy 初學者教程https://github.com/rougier/numpy-100
NumPy 常見問題解答https://numpy.org/doc/stable/user/troubleshooting.html
NumPy 源碼分析https://github.com/numpy/numpy
NumPy 速查表https://www.kaggle.com/learn/overview
NumPy 實戰案例https://www.tensorflow.org/tutorials/quickstart/beginner
NumPy 書籍推薦https://www.springer.com/gp/book/9781484242452
NumPy 視頻教程https://www.youtube.com/watch?v=QUT1VHiLmmI
NumPy 交互式學習https://colab.research.google.com/

希望這篇文章能幫助你成功地搭建 NumPy 環境并進行初體驗。這篇文章包含了詳細的原理介紹、代碼示例、源碼注釋以及案例等。希望這對您有幫助。如果有任何問題請隨私信或評論告訴我。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67038.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67038.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67038.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【SpringBoot教程】Spring Boot + MySQL + HikariCP 連接池整合教程

🙋大家好!我是毛毛張! 🌈個人首頁: 神馬都會億點點的毛毛張 在前面一篇文章中毛毛張介紹了SpringBoot中數據源與數據庫連接池相關概念,今天毛毛張要分享的是關于SpringBoot整合HicariCP連接池相關知識點以及底層源碼…

Java進階(一)

目錄 一.Java注解 什么是注解? 內置注解 元注解 二.對象克隆 什么是對象克隆? 為什么用到對象克隆 三.淺克隆深克隆 一.Java注解 什么是注解? java中注解(Annotation)又稱java標注,是一種特殊的注釋。 可以添加在包,類&…

【PyCharm】將包含多個參數的 shell 腳本配置到執行文件來調試 Python 程序

要配置 PyCharm 以使用包含多個參數的 shell 腳本(如 run.sh)來調試 Python 程序,您可以按照以下步驟操作: 創建一個新的運行/調試配置: 在 PyCharm 中,點擊“運行”菜單旁邊的齒輪圖標,選擇“…

即夢(Dreamina)技術淺析(二):后端AI服務

1. 文本處理(Text Processing) 1.1 功能概述 文本處理模塊的主要任務是將用戶輸入的文字提示詞轉換為機器可以理解的向量表示。這一過程包括分詞、詞嵌入和語義編碼,旨在捕捉文本的語義信息,為后續的圖像和視頻生成提供準確的指導。 1.2 關鍵技術 1.分詞(Tokenization…

藍橋杯之c++入門(一)【第一個c++程序】

目錄 前言一、第?個C程序1.1 基礎程序1.2 main函數1.3 字符串1.4 頭文件1.5 cin 和 cout 初識1.6 名字空間1.7 注釋 二、四道簡單習題(點擊跳轉鏈接)練習1:Hello,World!練習2:打印飛機練習3:第?個整數練習4&#xff…

【C++初階】第11課—vector

文章目錄 1. 認識vector2. vector的遍歷3. vector的構造4. vector常用的接口5. vector的容量6. vector的元素訪問7. vector的修改8. vector<vector\<int\>>的使用9. vector的使用10. 模擬實現vector11. 迭代器失效11.1 insert插入數據內部迭代器失效11.2 insert插入…

【AIGC學習筆記】扣子平臺——精選有趣應用,探索無限可能

背景介紹&#xff1a; 由于近期業務發展的需求&#xff0c;我開始接觸并深入了解了扣子平臺的相關知識&#xff0c;并且通過官方教程自學了簡易PE工作流搭建的技巧。恰逢周會需要準備與工作相關的分享主題&#xff0c;而我作為一個扣子平臺的初學者&#xff0c;也想探索一下這…

mysql 學習6 DML語句,對數據庫中的表進行 增 刪 改 操作

添加數據 我們對 testdatabase 數據中 的 qqemp 這張表進行 增加數據&#xff0c;在這張表 下 打開 命令行 query console 在 軟件中就是打開命令行的意思 可以先執行 desc qqemp; 查看一下當前表的結構。 插入一條數據 到qqemp 表&#xff0c;插入時要每個字段都有值 insert…

Java Web-Request與Response

在 Java Web 開發中&#xff0c;Request 和 Response 是兩個非常重要的對象&#xff0c;用于在客戶端和服務器之間進行請求和響應的處理&#xff0c;以下是詳細介紹&#xff1a; Request&#xff08;請求對象&#xff09; Request繼承體系 在 Java Web 開發中&#xff0c;通…

李沐vscode配置+github管理+FFmpeg視頻搬運+百度API添加翻譯字幕

終端輸入nvidia-smi查看cuda版本 我的是12.5&#xff0c;在網上沒有找到12.5的torch&#xff0c;就安裝12.1的。torch&#xff0c;torchvision&#xff0c;torchaudio版本以及python版本要對應 參考&#xff1a;https://blog.csdn.net/FengHanI/article/details/135116114 創…

論文閱讀(十六):利用線性鏈條件隨機場模型檢測陣列比較基因組雜交數據的拷貝數變異

1.論文鏈接&#xff1a;Detection of Copy Number Variations from Array Comparative Genomic Hybridization Data Using Linear-chain Conditional Random Field Models 摘要&#xff1a; 拷貝數變異&#xff08;CNV&#xff09;約占人類基因組的12%。除了CNVs在癌癥發展中的…

Alibaba Spring Cloud 十三 Nacos,Gateway,Nginx 部署架構與負載均衡方案

在微服務體系中&#xff0c;Nacos 主要承擔“服務注冊與發現、配置中心”的職能&#xff0c;Gateway&#xff08;如 Spring Cloud Gateway&#xff09;通常負責“路由轉發、過濾、安全鑒權、灰度流量控制”等功能&#xff0c;而 Nginx 則常被用作“邊緣反向代理”或“統一流量入…

Next.js 實戰 (十):中間件的魅力,打造更快更安全的應用

什么是中間件&#xff1f; 在 Next.js 中&#xff0c;中間件&#xff08;Middleware&#xff09;是一種用于處理每個傳入請求的功能。它允許你在請求到達頁面之前對其進行修改或響應。 通過中間件&#xff0c;你可以實現諸如日志記錄、身份驗證、重定向、CORS配置、壓縮等任務…

ElasticSearch-文檔元數據樂觀并發控制

文章目錄 什么是文檔&#xff1f;文檔元數據文檔的部分更新Update 樂觀并發控制 最近日常工作開發過程中使用到了 ES&#xff0c;最近在檢索資料的時候翻閱到了 ES 的官方文檔&#xff0c;里面對 ES 的基礎與案例進行了通俗易懂的解釋&#xff0c;讀下來也有不少收獲&#xff0…

實驗二 數據庫的附加/分離、導入/導出與備份/還原

實驗二 數據庫的附加/分離、導入/導出與備份/還原 一、實驗目的 1、理解備份的基本概念&#xff0c;掌握各種備份數據庫的方法。 2、掌握如何從備份中還原數據庫。 3、掌握數據庫中各種數據的導入/導出。 4、掌握數據庫的附加與分離&#xff0c;理解數據庫的附加與分離的作用。…

技術中臺與終搜——2

文章目錄 5、語言處理與自動補全技術探測5.1 自定義語料庫5.1.1 語料庫映射OpenAPI5.1.2 語料庫文檔OpenAPI 5.2 產品搜索與自動補全5.2.1 漢字補全OpenAPI5.2.2 拼音補全OpenAPI 5.3 產品搜索與語言處理5.3.1 什么是語言處理&#xff08;拼寫糾錯&#xff09;5.3.2 語言處理Op…

15_業務系統基類

創建腳本 SystemRoot.cs 因為 業務系統基類的子類 會涉及資源加載服務層ResSvc.cs 和 音樂播放服務層AudioSvc.cs 所以在業務系統基類 提取引用資源加載服務層ResSvc.cs 和 音樂播放服務層AudioSvc.cs 并調用單例初始化 using UnityEngine; // 功能 : 業務系統基類 public c…

k8s優雅重啟

理論上處于terminating狀態的pod&#xff0c;k8s 就會把它從service中移除了&#xff0c;只用配置一個優雅停機時長就行了。kubectl get endpoints 驗證 因此&#xff0c;優雅重新的核心問題&#xff0c;是怎么讓空閑長連接關閉&#xff0c;再等待處理中的請求執行完。 一些底…

【Linux】華為服務器使用U盤安裝統信操作系統

目錄 一、準備工作 1.1 下載UOS官方系統 &#xff11;.&#xff12;制作啟動U盤 1.3 服務器智能管理系統iBMC 二、iBMC設置U盤啟動 一、準備工作 1.1 下載UOS官方系統 服務器CPU的架構是x86-64還是aarch64&#xff09;,地址&#xff1a;統信UOS生態社區 - 打造操作系統創…

27. 【.NET 8 實戰--孢子記賬--從單體到微服務】--簡易報表--報表服務

報表是每個記賬應用所具備的功能&#xff0c;要實現報表功能就需要把賬本的核心功能&#xff08;記賬&#xff09;完成&#xff0c;因此報表服務作為本專欄第一部分單體應用開發中最后一個要實現的功能&#xff0c;這一篇文章很簡單&#xff0c;我們一起來實現一個簡單的報表服…