NumPy庫使用教學,簡單詳細。

NumPy 使用教學

NumPy 是 Python 中用于科學計算的基礎庫,它提供了高性能的多維數組對象以及用于處理這些數組的工具。下面將結合多個代碼文件,詳細介紹 NumPy 的各種用法。

1. 創建數組

1.1 從列表創建數組

import numpy as np# 一維數組
list1 = [1,2,3,4,5] 
print(list1)
v = np.array(list1)
print(v)# 二維數組[多個一維數組構成]
m = np.array([list1,list1,list1])
print(m)# 三維數組[多個二維數組構成]
z = np.array([[list1,list1,list1],[list1,list1,list1],[list1,list1,list1]])
print(z)z = np.array([m,m,m])
print(z)# 更高維的
y = np.array([z,z,z])
print(y)

運行結果:首先打印出原始列表?list1,然后依次打印出一維數組?v、二維數組?m、三維數組?z?和更高維數組?y

函數解析np.array()?函數用于將 Python 列表轉換為 NumPy 數組。可以傳入一維、二維或更高維的列表來創建相應維度的數組。

1.2 創建特殊的數組

import numpy as np# 創建全為 0 的數組
a = np.zeros(5)
b = np.zeros((2,2))
c = np.zeros((3,2,2))
print(a, '\n', b, '\n', c)# 創建全為 1 的數組
d = np.ones(5)
e = np.ones((2,2))
f = np.ones((2,2,2))# 創建全為 2 的數組……矩陣中全部填充指定的數據
g = np.full((2,2,2),5)
print(g)# 小補充: 5 行×7 列的類單位矩陣(對角矩陣)
h = np.eye(5,7)
print(h)

運行結果:打印出全 0 數組?abc,全 1 數組?def,全 5 數組?g?以及 5 行 7 列的類單位矩陣?h

函數解析

  • np.zeros():創建指定形狀的全 0 數組。
  • np.ones():創建指定形狀的全 1 數組。
  • np.full():創建指定形狀并填充指定值的數組。
  • np.eye():創建指定行數和列數的類單位矩陣(對角矩陣)。

2. 數組的基本屬性

import numpy as np
list1 = [1,2,3,4,5]
m = np.array([list1,list1,list1])
a = m.shape
b = m.ndim
c = m.size
d = m.dtype
print("二維數組")
print(type(m))
print(a)
print(b)
print(c)
print(d)
# 三維數組
print("三維數組")
z = np.array([m,m,m])
print(z.shape)
print(z.ndim)
print(z.size)
print(type(z))
print(z.dtype)

運行結果:先打印二維數組?m?的類型、形狀、維度、元素個數和元素類型,再打印三維數組?z?的相關信息。

函數解析

  • shape:返回數組的形狀,用元組表示。
  • ndim:返回數組的維度。
  • size:返回數組中元素的個數。
  • dtype:返回數組中元素的類型。

3. 數組的升維與降維

3.1 數組的升維

import numpy as nplist1 = [1,2,3,4,5,6,7,8,1,2,3,4,5,6,7,8]
v = np.array(list1)
print(v)# 一維變二維[-1 表示自己計算]【返回一個改變后的矩陣】
r1 = v.reshape(4,4)
print(r1)
r1 = v.reshape(-1,4)
print(r1)
print(r1.ndim)# 一維變三維
r2 = v.reshape(1,-1,2)
print(r2)# 二維變三維
r3 = r1.reshape(2,2,4)
print("###")
print(r3)
print("###")# resize()【不返回計算結果】【直接修改原始數組】
v.resize(4,4)
print(v)

運行結果:先打印一維數組?v,然后依次打印升維后的二維數組?r1、三維數組?r2r3,最后打印使用?resize()?修改后的數組?v

函數解析

  • reshape():返回一個具有新形狀的數組,原數組不變。-1?作為占位符,讓 NumPy 自動計算該維度的大小。
  • resize():直接修改原數組的形狀。

3.2 數組的降維

import numpy as nplist1 = [1,2,3,4,5,6,7,8]
print(list1)
v = np.array(list1)
print(v)
v = v.reshape(2,2,2)
print(v)
print(v.ndim)# 將三維降到二維
r1 = v.reshape(1,8)
print(r1)# 將高維數據轉化為一維 ravel()
r2 = v.ravel()
print(r2)# flatten()
r3 = v.flatten()
print(r3)# flatten 方法返回的是原數組的副本,這意味著對返回的一維數組所做的任何修改都不會影響原始的多維數組。
# ravel 方法(如果可能)返回的是原始數組的視圖,因此對返回的一維數組所做的修改可能會影響原始的多維數組。這是因為 ravel 改變了數組
v = np.array(list1)
print(v)# 小補充 shape 也可以實現降維
v.shape = (2,4)
print(v)

運行結果:先打印原始列表?list1?和一維數組?v,然后將?v?變為三維數組并打印,接著依次打印降維后的二維數組?r1、一維數組?r2r3,最后打印使用?shape?屬性修改后的數組?v

函數解析

  • reshape():用于將數組轉換為指定形狀,可實現降維。
  • ravel():返回一個一維數組,可能是原數組的視圖。
  • flatten():返回一個一維數組,是原數組的副本。
  • shape?屬性:可直接修改數組的形狀。

4. 數組元素的選取與修改

4.1 一維數組元素的選取與修改

import numpy as nparray1 = np.arange(1,9,1)
print(array1)# 選取某個元素
a = array1[1]
# 選取某些元素
b = array1[[1,3,5]]
# 切片(左閉右開)
c = array1[0:6]
print(a, b, c)# 修改某個元素
print(array1)
array1[0] = 10
print(array1)# 批量修改某些元素
array1[[1,3,5]] = 20
print(array1)array1[0:6] = 100
print(array1)

運行結果:先打印一維數組?array1,然后打印選取的單個元素?a、多個元素?b?和切片?c,接著依次打印修改單個元素、多個元素和切片后的數組?array1

函數解析

  • 索引?[]:用于選取數組中的單個元素或多個元素。
  • 切片?[start:stop]:用于選取數組中的一段元素,左閉右開區間。

4.2 二維數組元素的選取與修改

import numpy as nparray1 = np.arange(24).reshape(4,6)
print(array1)# 選取某個元素
a = array1[1,4]
# 選取某行元素
b = array1[3,:]
# 選取某些行
c = array1[0:2,:]
d = array1[[0,2],:]
# 選取某列
e = array1[:,3]
# 選取某些列
f = array1[:,0:3]
g = array1[:,[0,3]]
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)# 修改元素
# 修改某個元素
array1[1,4] = 100
print(array1)# 修改某行元素
array1[3,:] = 100
print(array1)
array1[[0,2],:] = 50
print(array1)

運行結果:先打印二維數組?array1,然后依次打印選取的單個元素?a、某行元素?b、某些行?cd、某列元素?e、某些列?fg,接著依次打印修改單個元素、某行元素和某些行元素后的數組?array1

函數解析

  • 二維索引?[row, col]:用于選取二維數組中的單個元素。
  • :?用于表示選取整行或整列。
  • 可以使用切片或列表來選取多行或多列。

4.3 三維數組元素的選取與修改

import numpy as nparray1 = np.arange(48).reshape(2,4,6)
print(array1)# 選取某個元素
a = array1[1,0,0]
# 選取某行元素
b = array1[0,1,:]
# 選取某些行元素
c = array1[0,1:3,:]
d = array1[0,[1,3],:]
# 選取某列
e = array1[1,:,1]
# 選取某些列
f = array1[1,:,1:4]
g = array1[1,:,[1,4]]
print(a)
print(b)
print(c)
print(d)
print(e)
print(f)
print(g)
# 修改
array1[1,0,0] = 100
print(array1)# 選取第三個三維數組的 第二個二維數組的 第三行以及之后的所有行的 第二列到第三列
v = np.array([array1,array1,array1,array1])
h = v[2,1,2: ,1:3]
print(h)

運行結果:先打印三維數組?array1,然后依次打印選取的單個元素?a、某行元素?b、某些行元素?cd、某列元素?e、某些列元素?fg,接著打印修改單個元素后的數組?array1,最后打印復雜選取的結果?h

函數解析:三維數組的選取和修改與二維數組類似,只是多了一個維度的索引。

5. 數組的組合與切割

5.1 數組的組合

import numpy as np# 生成基數組
array1 = np.arange(9).reshape(3,3)
array2 = 2*array1
print(array1)
print(array2)# 水平組合
a3 = np.hstack((array1,array2))
a4 = np.hstack((array2,array1))
a5 = np.hstack((array1,array2,array1))a6 = np.concatenate((array1,array2),axis=0)
# 連接#axis 表示連接的方向
# 垂直組合
a7 = np.vstack((array2,array1))a8 = np.concatenate((array1,array2),axis=0)
print(a3)
print(a4)
print(a5)
print(a6)
print(a7)
print(a8)

運行結果:先打印基數組?array1?和?array2,然后依次打印水平組合后的數組?a3a4a5,垂直組合后的數組?a7,以及使用?concatenate()?連接后的數組?a6a8

函數解析

  • np.hstack():水平組合數組。
  • np.vstack():垂直組合數組。
  • np.concatenate():可以指定?axis?參數來決定按行(axis=0)或按列(axis=1)連接數組。

5.2 數組的切割

import numpy as np
array1 = np.arange(16).reshape(4,4)
print(array1)# 水平切割
a = np.hsplit(array1,2)
b = np.split(array1,2,axis=1)# 垂直切割
c = np.vsplit(array1,2)
d = np.split(array1,2,axis=0)# 強制切割
# 水平切割
e = np.array_split(array1,3,axis=1)# 垂直切割
f = np.array_split(array1,3,axis=0)print(a)
print(b)
print(c)
print(d)
print(e)
print(f)print("#####################################")
array1 = np.arange(25).reshape(5,5)
print(array1)g = np.array_split(array1,3,axis=1)
h = np.array_split(array1,3,axis=0)print(g)
print(h)

運行結果:先打印 4x4 的數組?array1,然后依次打印水平切割、垂直切割和強制切割后的結果,接著打印 5x5 的數組?array1?及其切割結果。

函數解析

  • np.hsplit():水平切割數組。
  • np.vsplit():垂直切割數組。
  • np.split():可以指定?axis?參數來決定按行(axis=0)或按列(axis=1)切割數組。
  • np.array_split():可以進行非等分的切割。

6. 數組的算術運算與矩陣運算

6.1 數組的算術運算

import numpy as nparray1 = np.arange(1,5,1).reshape(2,2)
array2 = 2*array1
print(array1)
print(array2)# 數組的加法【對應位置的元素求和】
print(array1 + array2)# 數組的減法[對應位置元素相減]
print(array1 - array2)# 數組的乘法【對應位置相乘】
print(array1 * array2)# 數組的除法[對應位置相除]
print(array1 / array2)# 數組的取余(%)
print(array2 % array1)# 數組的取整
print(array2 // array1)

運行結果:先打印數組?array1?和?array2,然后依次打印它們的加法、減法、乘法、除法、取余和取整結果。

函數解析:NumPy 數組的算術運算都是對應元素之間的運算。

6.2 矩陣運算

import numpy as np# 生成兩個基數組
a = np.arange(4).reshape(2,2)
b = a.copy()
print(a)
print(b)
# 矩陣的運算
# 加減乘除(求逆)
# 加減 -> 對應元素加減# 矩陣的乘法【點乘】
# a * b
a1 = a.dot(b)
a2 = np.dot(a, b)
print(a1)
print(a2)# 矩陣求逆
"""
inv():
并不是所有的矩陣都有逆;
即使你沒有逆,給你一個逆【偽逆】
"""
a3 = np.linalg.inv(a)
print(a3)a4 = a.dot([[-1.5,  0.5],[ 1.,  0. ]])
print(a4)

運行結果:先打印基數組?a?和?b,然后打印矩陣乘法結果?a1a2,矩陣求逆結果?a3,以及矩陣與另一個矩陣相乘的結果?a4

函數解析

  • dot()?或?np.dot():用于矩陣乘法。
  • np.linalg.inv():用于求矩陣的逆。

7. NumPy 內的隨機模塊

7.1 生成隨機整數

import numpy as np
import matplotlib.pyplot as plt# 設置隨機種子,確保結果可復現
np.random.seed(1000)# 生成單個隨機整數(0 - 9 之間)
r1 = np.random.randint(0, 10)
print(f"生成的隨機整數是: {r1}")# 生成 100 個隨機整數并統計分布
a = [np.random.randint(0, 10) for i in range(100)]
print(a)# 繪制直方圖
plt.hist(a, color='r')
plt.show()

運行結果:打印生成的單個隨機整數?r1?和 100 個隨機整數列表?a,并顯示隨機整數分布的直方圖。

函數解析

  • np.random.seed():設置隨機種子,確保每次運行代碼生成的隨機數相同。
  • np.random.randint():生成指定范圍內的隨機整數。

7.2 生成隨機浮點數和特定分布的隨機數

import numpy as np# 設置隨機種子
np.random.seed(1000)# 生成 0 - 1 之間的隨機浮點數
random_float = np.random.rand()
print(f"生成的隨機浮點數是: {random_float}")"""
normal()->生成一些符合正態分布的數據
N~(日,1)
numpy.random.normal(loc=0.0,scale=1.0,size=None)
參數說明:
Loc:正態分布的均值(期望值),決定了分布的中心位置,默認值為 0.0
scale:正態分布的標準差,決定了分布的離散程度,默認值為 1.0
size:輸出數組的形狀,可以是整數(表示一維數組長度)或元組(表示多維數組形狀),默認值為 None(返回單個值)
"""
# 生成正態分布隨機數(均值 0,標準差 1)
normal_random = np.random.normal(loc=0, scale=1)
print(f"生成的正態分布隨機數是: {normal_random}")# 生成 5x5 的隨機整數數組(0 - 9 之間)
random_array = np.random.randint(0, 10, size=(5, 5))
print("生成的 5x5 隨機整數數組:")
print(random_array)# 生成指定形狀的均勻分布隨機數組
uniform_array = np.random.rand(3, 4)
print("\n生成的 3x4 均勻分布隨機數組:")
print(uniform_array)# 生成指定形狀的正態分布隨機數組
normal_array = np.random.normal(loc=5, scale=2, size=(2, 3))
print("\n生成的 2x3 正態分布隨機數組(均值 5,標準差 2):")
print(normal_array)

運行結果:依次打印生成的隨機浮點數、正態分布隨機數、5x5 隨機整數數組、3x4 均勻分布隨機數組和 2x3 正態分布隨機數組。

函數解析

  • np.random.rand():生成 0 - 1 之間的隨機浮點數。
  • np.random.normal():生成符合正態分布的隨機數。
  • np.random.randint():可以指定?size?參數生成多維隨機整數數組。

8. 數組的深拷貝與淺拷貝

import numpy as np
array1 = np.array([1,2,3])# 淺拷貝
array2 = array1
# 更改 array2 的元素的值
array2[0] = 100
print(array2)
print(array1)print("###################")# 深拷貝
array3 = array1.copy()
array3[0] = 10
print(array3)
print(array1)

運行結果:先打印淺拷貝后修改?array2?元素值時?array2?和?array1?的值,再打印深拷貝后修改?array3?元素值時?array3?和?array1?的值。

函數解析

  • 淺拷貝:array2 = array1?只是創建了一個指向同一數組的新引用,修改?array2?會影響?array1
  • 深拷貝:array3 = array1.copy()?創建了一個獨立的數組副本,修改?array3?不會影響?array1

9. NumPy 內一些函數的使用

import numpy as nparray1 = np.random.normal(size = (3,3))
print(array1)# 一些函數
# 求方差
print(array1.var())# 求標準差
a = array1.std()# 求均值
b = array1.mean()# 求和
c = array1.sum()# 求中位數
d = np.median(array1)# 求和運算
# 對矩陣的行求和
e = array1.sum(axis=1)
# 對矩陣的列進行求和
f = array1.sum(axis=0)print(a)
print(b)
print(c)
print(d)
print(e)
print(f)

運行結果:先打印隨機生成的 3x3 數組?array1,然后依次打印數組的方差、標準差、均值、總和、中位數,以及按行和按列求和的結果。

函數解析

  • var():計算數組的方差。
  • std():計算數組的標準差。
  • mean():計算數組的均值。
  • sum():計算數組的總和,可指定?axis?參數按行或按列求和。
  • np.median():計算數組的中位數。

10. 讀取和保存文件

# numpy.loadtxt(): 從文本文件中加載數據。這個函數假定文件中的每一行都有相同數量的值,
# 你可以使用 delimiter 參數指定分隔符,如逗號、制表符等。例如:
import numpy as npdata = np.loadtxt('a.txt', delimiter='\t')
print(data)# 將數組保存到 txt 文件中
import numpy as nparray = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
np.savetxt('b.txt', array)

運行結果:從?a.txt?文件中讀取數據并打印,然后將一個 3x3 數組保存到?b.txt?文件中。

函數解析

  • np.loadtxt():從文本文件中加載數據,可指定分隔符。
  • np.savetxt():將數組保存到文本文件中。

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

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

相關文章

vue3:十八、內容管理-實現行內圖片的預覽、審核功能

一、實現效果 實現圖片的顯示,大圖預覽;審核部分的待審核的審核功能 二、圖片預覽實現 1、參考官網 官網-圖片預覽 2、圖片預覽插槽設置 {row,index} 插槽中獲取row行信息、index索引信息(指定行圖片預覽需要用到) style 設置基本樣式寬width高height src 設置圖片的路徑…

Go后端配置文件教程

注:本文為博主,首次接觸項目時的入門級配置實操在 Go 后端中,使用配置文件管理參數(如數據庫連接、服務端口等)是必備技能。Viper 是 Go 生態中最流行的配置管理庫。支持多種配置文件、環境變量、命令行參數等&#xf…

ubuntu24.04安裝CUDA、VLLM、Pytorch等并部署Qwen3-8B-AWQ【50系顯卡通用】

1. 系統更新與依賴安裝 sudo apt update && sudo apt upgrade -y sudo apt install -y python3-pip python3-venv build-essential git nvidia-driver-575注:RTX 5070 Ti 推薦驅動 ≥550 版本 我是直接官網安裝最新的驅動了,反正向上兼容,驅動安裝教程可以參考我以…

Azure可靠性架構指南:構建云時代的高可用系統

隨著企業加速擁抱數字化轉型,云服務的可靠性已成為業務連續性的核心命題。Microsoft Azure憑借其"可靠性即核心"的設計理念,為企業技術決策者與架構師提供了一個可信賴的數字化底座。本文將系統解析Azure如何通過技術架構、工具鏈與方法論&…

linux 驅動 - v4l2 驅動框架

文章目錄一、/dev/videoX1. 查詢設備能力2. 獲取當前視頻格式3. 設置視頻格式4. 申請緩沖區1) mmap 方式2) user 分配5. 查詢緩沖區信息6. 將緩沖區放入隊1) fill_vb2_buffer2) buf_prepare3) get_userptr4) buf_init5) attach_dmabuf 和 map_dmabuf6) start_streaming7) 總結7…

windows內核研究(驅動開發-0環與3環的通信)

驅動開發0環與3環的通信 設備對象 在之前開發窗口程序時,消息都是被封裝成一個結構體(MSG),在內核開發時,消息被封裝成另外一個結構體:IRP(I/O Request Package) 在窗口程序中&#…

ASP.NET Core Web API 內存緩存(IMemoryCache)入門指南

在 Web API 開發中,頻繁訪問數據庫或第三方服務可能會帶來性能瓶頸。為了提升接口響應速度并減輕后端壓力,使用緩存是非常有效的優化手段。本文將帶你快速上手 ASP.NET Core 提供的內存緩存(IMemoryCache),無需安裝額外…

Axios Token 設置示例

以下是一個完整的 Axios Token 設置示例,涵蓋全局配置、請求攔截器和單次請求設置三種方式:1. 基礎配置(推薦方案)javascript復制代碼import axios from axios;// 創建 Axios 實例 const apiClient axios.create({baseURL: https…

Excel數據合并工具:零門檻快速整理

軟件介紹 在數據處理工作中,合并Excel同類數據是一項常見但繁瑣的任務。今天為大家推薦一款專為簡化此類操作設計的工具,它能快速完成工作表內多行同類數據的合并整理,大幅提升數據處理效率。 零門檻操作體驗 相比Excel自帶的數據透視…

深度學習 -- 梯度計算及上下文控制

深度學習 – 梯度計算及上下文控制 文章目錄深度學習 -- 梯度計算及上下文控制一,自動微分1.1 基礎概念1.2 計算梯度1.2.1 計算標量梯度1.2.2 計算向量梯度1.2.3 多標量梯度計算1.2.4 多向量梯度計算二,梯度上下文控制2.1 控制梯度計算2.2 累計梯度2.3 梯…

Redisson RLocalCachedMap 核心參數詳解

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

【Unity3D實例-功能-移動】角色移動-通過WSAD(Rigidbody方式)

你是否曾夢想在虛擬世界中自由翱翔,像海豚一樣在海洋自由穿梭,或者像宇航員一樣在宇宙中盡情探索?今天,我們就來聊聊如何在Unity中使用Rigidbody來實現角色移動。 廢話不多說,走,讓我們馬上來一探究竟&…

Vue接口平臺學習十一——業務流測試

效果圖及簡單說明 與之前的用例列表相似布局,也分左右,左邊用于顯示測試流程的名稱,右邊用于顯示流程相關信息。 左側點擊添加,直接增加一個新的業務流。 右側是點擊的業務流詳情,展示名稱,名稱的編輯保存&…

碳化硅缺陷分類與原因

01一、碳化硅晶體材料中的缺陷到底是什么?碳化硅晶體材料中的缺陷是指在晶體生長、加工或使用過程中出現的不完美結構。這些缺陷可能表現為晶體內部的裂紋、表面的凹坑、原子排列的錯誤等。雖然缺陷看起來微不足道,但它們卻可能對晶體的電學、熱學和機械…

Jenkins 實現項目的構建和發布

作者:小凱 沉淀、分享、成長,讓自己和他人都能有所收獲! 本文的宗旨在于通過簡單干凈實踐的方式教會讀者,如何在 Docker 中部署 Jenkins,并通過 Jenkins 完成對項目的打包構建并在 Docker 容器中部署。 Jenkins 的主要…

Django接口自動化平臺實現(三)

3.2 后臺 admin 添加數據 1)注冊模型類到 admin: 1 from django.contrib import admin2 from . import models3 4 5 class ProjectAdmin(admin.ModelAdmin):6 list_display ("id", "name", "proj_owner", "tes…

CentOS 7 配置環境變量常見的4種方式

?博客主頁: https://blog.csdn.net/m0_63815035?typeblog 💗《博客內容》:.NET、Java.測試開發、Python、Android、Go、Node、Android前端小程序等相關領域知識 📢博客專欄: https://blog.csdn.net/m0_63815035/cat…

k8s:手動創建PV,解決postgis數據庫本地永久存儲

1.離線環境CPU:Hygon C86 7285 32-core Processor 操作系統:麒麟操作系統 containerd:1.7.27 Kubernetes:1.26.12 KubeSphere:4.1.2 kubekey:3.1.10 Harbor:2.13.1 Postgis:17-3.52創建StorageClass2.1創建 apiVersion: storage.k8s.io/v1kin…

谷歌瀏覽器Chrome的多用戶配置文件功能

谷歌瀏覽器Chrome的多用戶配置文件功能允許在同一設備上創建多個獨立賬戶,每個賬戶擁有完全隔離的瀏覽數據(如書簽、歷史記錄、擴展、Cookies等),非常適合工作/生活賬戶分離、家庭共享或臨時多賬號登錄場景。 如何使用Chrome的多用戶配置文件功能? 一、創建與切換用戶 1.…

傲軟錄屏 專業高清錄屏軟件 ApowerREC Pro 下載與保姆級安裝教程!!

小編今天分享一款強大的電腦屏幕錄像軟件 傲軟錄屏 ApowerREC,能夠幫助用戶錄制中電腦桌面屏幕上的所有內容,包括畫面和聲音,支持全屏錄制、區域錄制、畫中畫以及攝像頭錄制等多種視頻錄制模式,此外,還支持計劃任務錄制…