Python----數據分析(Numpy一:numpy庫簡介,與list列表的區別,數組的創建,隨機數組的創建)

?一、?Numpy庫簡介

1.1、概念

????????NumPy(Numerical Python)是一個開源的Python科學計算庫,旨在為Python提供 高性能的多維數組對象和一系列工具。NumPy數組是Python數據分析的基礎,許多 其他的數據處理庫(如Pandas、SciPy)都依賴于NumPy。

NumPy的一些主要特點:

1. 高性能:NumPy底層主要采用C語言編寫,相比于python來說運算速度快,性能 優越,并且保留了python的易用性。

2. 多維數組:NumPy提供了強大的n維數組對象ndarray,可進行高效的數據處 理,這是Numpy進行數據處理的核心對象。

3. 豐富的函數:NumPy內置了大量數學、統計和線性代數函數,方便進行數據計 算,除此之外還具有廣播功能,可以允許不同形狀的數組進行算術運算。

4. 廣泛的接口:NumPy與許多其他科學計算庫(如Matplotlib、SciPy)兼容,可 輕松實現數據交換和集成,此外,在人工智能領域中也可以很方便的和神經網絡 中使用的張量進行結構轉換。

1.2、安裝?

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

二、Numpy-array與list的區別?

????????Python中的list雖然可以靈活的處理多個元素,但它的效率很低,一般情況下 的科學運算的數據量是非常龐大的,所以list的效率低會導致整個科學運算的過程變 得非常慢。與之相比,Ndarray數組具有以下特點:

1. Ndarray數組所有元素的數據類型相同、數據地址連續,批量操作數組元素時速 度更快,而list中元素的數據類型可能不同,需要通過尋址的方式找到下一個元 素。

2. Ndarray數組支持廣播機制,矩陣運算時不需要寫for循環。

3. 底層主要使用C語言實現,運行速度遠高于Python代碼。

三、數組的創建

3.1、array創建數組

?創建一個數組,可以轉換任何形式的序列(如列表或元組)為NumPy數組。

numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0)
名稱描述
object數組或嵌套的數列
dtype數組元素的數據類型,可選
copy對象是否需要復制,可選
order創建數組的樣式,C為行方向,F為列方向,A為任意方向(默認)
subok默認返回一個與基類類型一致的數組
ndmin指定生成數組的最小維度
import numpy as nparr1=np.array([1,2,3,4,5,6]
)
arr2=np.array([[1,2,3],[4,5,6],[7,8,9]]
)print(arr1)
print(arr2)'''
[1 2 3 4 5 6]
[[1 2 3][4 5 6][7 8 9]]
'''

3.2、arange創建數組

創建一個均勻間隔的數值數組,類似于Python的內置?range?函數。

numpy.arange([start,] stop[, step,], dtype=None)
參數描述
start起始值,默認為0
stop終止值(不包含)
step步長,默認為1
dtype返回ndarray的數據類型,如果沒有提供,則會使用輸入數據的類型。
import numpy as nparr1=np.arange(1,10,1)print(arr1)'''
[1 2 3 4 5 6 7 8 9]
'''

3.3、zeros函數

創建一個指定形狀的數組,所有元素初始化為0。

numpy.zeros(shape, dtype=float, order='C')
參數描述
shape一個整數或整數元組,用于指定輸出數組的形狀
dtype可選參數,指定數組元素的數據類型。默認為 float
order可選參數,指定數組數據在內存中的存儲順序。‘C’ 表示按行(C語言風 格),‘F’ 表示按列(Fortran風格)
import numpy as nparr1=np.zeros(10)print(arr1)'''
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
'''
import numpy as nparr2=np.zeros((3,3))print(arr2)'''
[[0. 0. 0.][0. 0. 0.][0. 0. 0.]]
'''

3.4、ones函數

創建一個指定形狀的數組,所有元素初始化為1。

numpy.ones(shape, dtype=float, order='C')
參數描述
shape一個整數或整數元組,用于指定輸出數組的形狀
dtype可選參數,指定數組元素的數據類型。默認為 float
order可選參數,指定數組數據在內存中的存儲順序。‘C’ 表示按行(C語言風 格),‘F’ 表示按列(Fortran風格)
import numpy as nparr1=np.ones(10)
arr2=np.ones((3,3))print(f'arr1==={arr1}')
print()
print(f'arr2==={arr2}')'''
arr1===[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]arr2===[[1. 1. 1.][1. 1. 1.][1. 1. 1.]]
'''

3.5、empty函數

創建一個指定形狀的數組,未初始化,元素值可能是隨機的。

numpy.empty(shape, dtype=float, order='C')
參數描述
shape一個整數或整數元組,用于指定輸出數組的形狀
dtype可選參數,指定數組元素的數據類型。默認為 float
order可選參數,指定數組數據在內存中的存儲順序。‘C’ 表示按行(C語言風 格),‘F’ 表示按列(Fortran風格)
import numpy as nparr1=np.empty(10)
arr2=np.empty((3,3))print(f'arr1==={arr1}')
print()
print(f'arr2==={arr2}')'''
arr1===[2.09197419e-076 1.87725413e-009 1.41866238e+161 3.56792062e-0575.42801934e-096 5.98147383e-154 3.98454986e+252 5.12981117e-1151.02245668e-259 2.25563609e-153]arr2===[[0.0000000e+000 0.0000000e+000 0.0000000e+000][0.0000000e+000 0.0000000e+000 3.1224949e-321][0.0000000e+000 0.0000000e+000 3.2845213e-287]]
'''

3.6、full函數

創建一個指定形狀的數組,所有元素初始化為用戶定義的值。

numpy.full(shape, fill_value, dtype=None, order='C')
參數描述
shape一個整數或整數元組,用于指定輸出數組的形狀
fill_value用于填充數組的值
dtype可選,指定數組元素的數據類型。如果未指定,則從 fill_value 推 斷。
order可選,指定數組數據在內存中的存儲順序。‘C’ 表示按行優先順序;‘F’ 表 示按列優先順序。
import numpy as nparr1=np.full(10,10)
arr2=np.full((3,3),3)print(f'arr1==={arr1}')
print()
print(f'arr2==={arr2}')'''
arr1===[10 10 10 10 10 10 10 10 10 10]arr2===[[3 3 3][3 3 3][3 3 3]]
'''

3.7、eye函數

創建一個單位矩陣(對角線為1,其余為0)。

eye(N, M=None, k=0, dtype=<class 'float'>, order='C')
參數描述
N矩陣的行數。如果只指定 N,則返回一個 N×N 的單位矩陣
M矩陣的列數。如果指定,返回一個形狀為 (N, M) 的矩陣
k對角線的偏移量。k 為 0 時返回主對角線的單位矩陣;k > 0 時返回主對角線上方的對角線;k < 0 時返回主對角線下方的對角線
dtype可選,指定數組元素的數據類型。如果未指定,則從 fill_value 推 斷。
order可選,指定數組數據在內存中的存儲順序。‘C’ 表示按行優先順序;‘F’ 表 示按列優先順序。
import numpy as nparr1=np.eye(10)
arr2=np.eye(3,3)print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[[1. 0. 0. 0. 0. 0. 0. 0. 0. 0.][0. 1. 0. 0. 0. 0. 0. 0. 0. 0.][0. 0. 1. 0. 0. 0. 0. 0. 0. 0.][0. 0. 0. 1. 0. 0. 0. 0. 0. 0.][0. 0. 0. 0. 1. 0. 0. 0. 0. 0.][0. 0. 0. 0. 0. 1. 0. 0. 0. 0.][0. 0. 0. 0. 0. 0. 1. 0. 0. 0.][0. 0. 0. 0. 0. 0. 0. 1. 0. 0.][0. 0. 0. 0. 0. 0. 0. 0. 1. 0.][0. 0. 0. 0. 0. 0. 0. 0. 0. 1.]]arr2===
[[1. 0. 0.][0. 1. 0.][0. 0. 1.]]
'''

3.8、linspace函數

創建一個均勻分布的數組,包含指定數量的值。

np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
參數描述
start序列的起始值
stop序列的終止值,如果endpoint為true,該值包含于數列中
num要生成的等步長的樣本數量,默認為50
endpoint該值為 ture 時,數列中中包含stop值,反之不包含,默認是True。
retstep如果為 True 時,生成的數組中會顯示間距,反之不顯示。
dtypendarray 的數據類型
import numpy as nparr1=np.linspace(10,100,20)
arr2=np.linspace(3,3)print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[ 10.          14.73684211  19.47368421  24.21052632  28.9473684233.68421053  38.42105263  43.15789474  47.89473684  52.6315789557.36842105  62.10526316  66.84210526  71.57894737  76.3157894781.05263158  85.78947368  90.52631579  95.26315789 100.        ]arr2===
[3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3.3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3.3. 3.]
'''

3.9、logspace函數

創建一個對數均勻分布的數組,指定范圍的對數數值。

np.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
參數描述
start序列的起始值為:base ** start
stop序列的終止值為:base ** stop。如果endpoint為true,該值包含于數列中
num要生成的等步長的樣本數量,默認為50
endpoint該值為 ture 時,數列中中包含stop值,反之不包含,默認是True。
base對數 log 的底數。
dtypendarray 的數據類型
import numpy as nparr1=np.logspace(10,100,10)
arr2=np.logspace(3,3)print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[1.e+010 1.e+020 1.e+030 1.e+040 1.e+050 1.e+060 1.e+070 1.e+080 1.e+0901.e+100]arr2===
[1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000.1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000.1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000.1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000. 1000.1000. 1000.]
'''

四、隨機數組的創建

函數說明
seed確定隨機生成器種子
rand產生均勻分布的樣本值
random(size=None)該方法返回[0.0, 1.0)范圍的隨機數。
randn(d0,d1,…,dn)randn函數返回一個或一組樣本,具有標準正態分布(期望為0,方差為1)。dn表格每個維度,返回值為指定維度的array
normal用于從具有指定平均值(mean)和標準差(standard deviation)的正態分 布(也稱為高斯分布)中抽取樣本。
randint該方法有三個參數low、high、size三個參數。默認high是None,如果只有low,那范圍就是[0,low)。如果有high,范圍就是[low,high)。
uniform該函數用于從均勻分布中抽取一個浮點數
shuffle對一個序列就地隨機排列

4.1、seed函數

????????隨機數種子(random seed)是一個用于初始化隨機數生成器(random number generator, RNG)的值。在計算機科學中,大多數的隨機數生成器實際上是偽隨機 數生成器(pseudo-random number generators, PRNGs),它們通過一個算法來 生成一系列看似隨機的數字。偽隨機數生成器的特點是可以重現生成的隨機數序列, 這是通過設置相同的隨機數種子來實現的。

設置隨機數種子,種子值可以是任何整數,通常是正整數。

特點:

????????1. 可重現性:通過設置相同的隨機數種子,每次程序運行時生成的隨機數序列都是 相同的。這對于調試程序、進行科學計算或模擬時保持實驗結果的一致性非常有 用。

????????2. 算法確定性:偽隨機數生成器是確定性的,這意味著給定的種子會總是產生相同 的隨機數序列,這與真正的隨機數生成器不同,后者總會生成不同的隨機數。

????????3. 種子來源:隨機數種子的值可以是任意的。在許多編程環境中,如果不顯式設置 種子,通常會使用當前時間作為種子,這樣每次程序運行時都會產生不同的隨機 數序列。

????????4. 跨平臺差異:不同的操作系統或硬件平臺可能會產生不同的隨機數序列,即使種 子相同。這是因為不同的平臺可能有不同的PRNG算法。

import numpy as np
np.random.seed(42)

4.2、rand函數

生成均勻分布的隨機數(0到1之間),可以指定形狀。

numpy.random.rand(d0, d1, ..., dn)
函數說明
d0, d1, ..., dn這些參數定義了輸出數組的形狀。它們是整數,指定了每個 維度的大小。例如,d0 是第一個維度的大小,d1 是第二個維度的大小,依此類 推。
import numpy as nparr1=np.random.rand(10)print(f'arr1===\n{arr1}')'''
arr1===
[0.92463939 0.94486905 0.74476479 0.25784553 0.85425486 0.571607250.95990865 0.36395052 0.41709035 0.82599918]
'''

4.3、random函數

與?rand?類似,但提供更靈活的隨機數生成。

numpy.random.random(size=None)
函數說明
size這是一個可選參數,用于指定輸出數組的形狀。它可以是一個整數,也 可以是一個元組。如果 size 是一個整數,則返回一個一維數組;如果 一個元組,則返回一個多維數組,其形狀與元組指定的一致
import numpy as nparr1=np.random.random(10)arr2=np.random.random((3,3))print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[0.62721499 0.21350623 0.83140219 0.41729457 0.70818569 0.550753530.57016909 0.42416555 0.11372102 0.7405065 ]arr2===
[[0.96151613 0.96612422 0.49951694][0.9377553  0.61001206 0.88551393][0.22225505 0.51794861 0.36731721]]
'''

4.4、randn函數

生成標準正態分布(均值為0,標準差為1)的隨機數。

numpy.random.randn(d0, d1, ..., dn)
函數說明
d0, d1, ..., dn這些參數指定了輸出數組的維度。如果你只提供一個數字, 它將返回一個一維數組;如果你提供多個數字,它將返回一個多維數組,其中每 個維度的大小由對應的參數指定
import numpy as nparr1=np.random.randn(10)arr2=np.random.randn(3,4)print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[-0.49202485 -0.26029324  0.46349285 -1.4871595  -1.15332575  0.48229266-1.04077328  0.52712378 -0.40422044  1.82175024]arr2===
[[ 0.0348239   0.96843211  0.41392382  0.51399037][ 1.13157601 -1.35735621 -2.2765836  -0.52266114][-0.8062335  -0.55222009 -1.00520723 -1.84433436]]
'''

4.5、normal函數

生成給定均值和標準差的正態分布隨機數。

numpy.random.normal(loc=0.0, scale=1.0, size=None)
函數說明
loc正態分布的均值,對應于分布的中心位置,默認值為 0.0
scale正態分布的標準差,對應于分布的寬度,默認值為 1.0
size輸出數組的形狀。如果是一個整數,返回一維數組。如果是一個元組,返回多維數組。默認為None返回一個隨機數
import numpy as nparr1=np.random.normal(size=10)arr2=np.random.normal(size=(3,4))print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[-0.23383662  0.97632058  0.48245764 -1.71405263  0.0625902   2.32371938-1.16770879  0.20876465 -2.16149186 -0.05048533]arr2===
[[-0.68925419 -2.12716386 -1.06562238  1.11568077][ 0.02078178 -0.31270599 -1.90545882 -0.850884  ][ 0.66213069  2.28670915 -0.88748761  0.13641803]]
'''

4.6、randint函數

生成指定范圍內的隨機整數。

numpy.random.randint(low, high=None, size=None, dtype=int)
函數說明
low生成隨機數的起始點(包含)。如果只提供了low參數而沒有提供high參數,那么隨機整數的范圍將是從 0 到low (不包含 low本身)
high生成隨機數的結束點(不包含)
size定義輸出數組形狀的整數或元組。例如,size(m,n)將生成 一個 m 行 n 列的數組
dtype指定返回數組的數據類型,默認為int
import numpy as nparr1=np.random.randint(0,10,size=10)arr2=np.random.randint(0,10,size=(3,4))print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[3 1 3 7 2 7 0 5 4 8]arr2===
[[4 7 9 6][3 8 2 0][2 0 4 5]]'''

4.7、uniform函數

生成指定范圍內的均勻分布隨機數。

numpy.random.uniform(low=0.0, high=1.0, size=None)
函數說明
low浮點數或類似浮點數的數組,表示樣本抽取區間的下限,默認值為 0
high浮點數或類似浮點數的數組,表示樣本抽取區間的上限,默認值為 1
size整數或元組,可選參數,表示輸出的形狀。如果未提供,則返回單個浮 點數。如果提供了一個整數,則返回一個一維數組;如果提供了一個元組,則返 回一個多維數組
import numpy as nparr1=np.random.uniform(0,10,size=5)arr2=np.random.uniform(0,10,size=(3,4))print(f'arr1===\n{arr1}')
print()
print(f'arr2===\n{arr2}')'''
arr1===
[7.96891358 0.19647614 5.42047937 1.49001317 9.04060667]arr2===
[[3.44988119 0.82911361 7.53272753 2.65165757][6.13385131 2.30715477 0.73983801 7.05093042][5.82714561 2.25635848 3.37875838 8.62424195]]
'''

4.8、shuffle函數

對數組進行隨機重排,原地改變數組順序。

numpy.random.shuffle(x)
函數說明
x要打亂的數組
import numpy as nparr1=np.array([[1,2,3],[4,5,6],[7,8,9]
])
print('改變之前')
print(f'arr1===\n{arr1}')np.random.shuffle(arr1)print('改變之后')
print(f'arr1===\n{arr1}')'''
arr1===
改變之前
arr1===
[[1 2 3][4 5 6][7 8 9]]
改變之后
arr1===
[[1 2 3][7 8 9][4 5 6]]'''

五、思維導圖

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

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

相關文章

千峰React:函數組件使用(2)

前面寫了三千字沒保存&#xff0c;恨&#xff01; 批量渲染 function App() {const list [{id:0,text:aaaa},{id:1,text:bbbb},{id:2,text:cccc}]// for (let i 0; i < list.length; i) {// list[i] <li>{list[i]}</li>// }return (<div><…

Hot100 動態規劃

動態規劃 動規五部曲&#xff1a; 確定dp數組以及下標的含義確定遞推公式dp數組如何初始化確定遍歷順序舉例推導dp數組 70. 爬樓梯 - 力扣&#xff08;LeetCode&#xff09; 爬到第一層樓梯有一種方法&#xff0c;爬到二層樓梯有兩種方法。 那么第一層樓梯再跨兩步就到第三…

Rust語言基礎知識詳解【一】

1.在windows上安裝Rust Windows 上安裝 Rust 需要有 C 環境&#xff0c;以下為安裝的兩種方式&#xff1a; 1. x86_64-pc-windows-msvc&#xff08;官方推薦&#xff09; 先安裝 Microsoft C Build Tools&#xff0c;勾選安裝 C 環境即可。安裝時可自行修改緩存路徑與安裝路…

文章精讀篇——OMG-Seg

題目&#xff1a;OMG-Seg : Is One Model Good Enough For All Segmentation? 作者&#xff1a;Xiangtai Li1 ? Haobo Yuan1 Wei Li1 Henghui Ding1 Size Wu1 Wenwei Zhang1Yining Li2 Kai Chen2 Chen Change Loy1 代碼&#xff1a;OMG-Seg 會議&#xff1a;cvpr2024 邊讀…

vite 開啟 gzip壓縮

使用vite 如何開啟 gzip壓縮 文章目錄 使用vite 如何開啟 gzip壓縮1. 引言為什么需要 Gzip 壓縮&#xff1f;Gzip 壓縮的作用 2. Vite 項目中的 Gzip 壓縮Vite 的基本概念Gzip 壓縮的原理 3. 使用 Vite 插件開啟 Gzip 壓縮安裝 vite-plugin-compression配置 vite-plugin-compre…

【Qt學習】| 如何使用QVariant存儲自定義類型

QVariant是Qt框架中的一個通用數據類型&#xff0c;可以存儲多種類型的數據&#xff0c;主要作用是提供一種類型安全的方式來存儲和傳遞不同類型的數據&#xff0c;而不需要顯示地指定數據類型。 QVariant提供了諸多構造函數可以非常方便地對基礎數據類型&#xff08;如&#x…

【Python量化金融實戰】-第1章:Python量化金融概述:1.4 開發環境搭建:Jupyter Notebook、VS Code、PyCharm

在量化金融開發中&#xff0c;選擇合適的開發環境至關重要。本章介紹三種主流工具&#xff1a;Jupyter Notebook&#xff08;交互式分析&#xff09;、VS Code&#xff08;輕量級編輯器&#xff09;、PyCharm&#xff08;專業IDE&#xff09;&#xff0c;并通過實戰案例展示其應…

查看 nginx 是否已經啟動

在 Ubuntu 或其他 Linux 系統上&#xff0c;要查看 Nginx 是否已經啟動&#xff0c;您可以使用以下幾種方法之一&#xff1a; 方法一&#xff1a;使用 systemctl 命令 Nginx 通常作為 systemd 服務運行&#xff0c;因此您可以使用 systemctl 命令來檢查其狀態。 打開終端。 …

解釋 Vue 中的虛擬 DOM,如何通過 Diff 算法最小化真實 DOM 更新次數?

1. 虛擬DOM核心原理&#xff08;附代碼示例&#xff09; // 簡化的VNode結構示意 class VNode {constructor(tag, data, children) {this.tag tag // 標簽名this.data data // 屬性/指令等this.children children // 子節點數組} }// 兩個新舊虛擬節點樹示例 const oldV…

Pytorch使用手冊-音頻數據增強(專題二十)

音頻數據增強 torchaudio 提供了多種方式來增強音頻數據。 在本教程中,我們將介紹一種應用效果、濾波器、RIR(房間脈沖響應)和編解碼器的方法。 最后,我們將從干凈的語音合成帶噪聲的電話語音。 import torch import torchaudio import torchaudio.functional as Fprin…

Linux-Ansible模塊擴展

文章目錄 Archive UnarchiveSetup模塊Lineinfile Replace &#x1f3e1;作者主頁&#xff1a;點擊&#xff01; &#x1f916;Linux專欄&#xff1a;點擊&#xff01; ??創作時間&#xff1a;2025年02月23日18點11分 Archive Unarchive Archive和Unarchive模塊 需求&#x…

Redhat及其衍生系統安裝python

目錄 更新包列表 安裝 Python 3 安裝特定版本的 Python 驗證安裝 安裝 pip 更新包列表 在安裝任何軟件之前&#xff0c;建議先更新系統的包列表&#xff0c;以確保安裝的是最新版本的軟件包&#xff1a; sudo dnf update 安裝 Python 3 RHEL 9 默認安裝了 Python 3&…

Python條件控制和循環語句

目錄 條件控制語句 1. if 語句 2. if-else 語句 3. if-elif-else 語句 循環語句 1. for 循環 2. while 循環 循環控制語句 1. break 語句 2. continue 語句 3. else 子句&#xff08;與循環結合&#xff09; 嵌套循環 常見應用場景 條件控制 循環語句 條件控制語…

*PyCharm 安裝教程

PyCharm 安裝教程&#xff0c;適用于 Windows、macOS 和 Linux 系統&#xff1a; 1. 下載 PyCharm 官網地址&#xff1a;https://www.jetbrains.com/pycharm/版本選擇&#xff1a; Community&#xff08;社區版&#xff09;&#xff1a;免費&#xff0c;適合基礎 Python 開發…

Three.js 快速入門教程【二】透視投影相機

系列文章目錄 系列文章目錄 Three.js 快速入門教程【一】開啟你的 3D Web 開發之旅 Three.js 快速入門教程【二】透視投影相機 Three.js 快速入門教程【三】渲染器 Three.js 快速入門教程【四】三維坐標系 Three.js 快速入門教程【五】動畫渲染循環 Three.js 快速入門教程【六…

IntelliJ IDEA 控制臺輸出中文出現亂碼

IntelliJ IDEA 控制臺輸出中文出現亂碼通常是由于編碼設置不一致導致的。以下是常見原因及解決方法 1. 項目編碼設置 檢查路徑&#xff1a;File → Settings → Editor → File Encodings 確保 Project Encoding、Global Encoding 和 Default Encoding for Properties Files 均…

C#初級教程(7)——初級期末檢測

練習 1&#xff1a;計算圓的周長和面積 改編題目&#xff1a;編寫一個 C# 程序&#xff0c;讓用戶輸入圓的半徑&#xff0c;然后計算并輸出該圓的周長和面積&#xff0c;結果保留兩位小數。 using System;class CircleCalculation {static void Main(){const double pi 3.14…

Java 集合:單列集合和雙列集合的深度剖析

引言 在 Java 編程中&#xff0c;集合是一個非常重要的概念。它就像是一個容器&#xff0c;能夠存儲多個數據元素&#xff0c;幫助我們更方便地管理和操作數據。Java 集合框架主要分為單列集合和雙列集合兩大類&#xff0c;它們各自有著獨特的特點和適用場景。接下來&#xff0…

layui 遠程搜索下拉選擇組件(多選)

模板使用&#xff08;lay-module/searchSelect&#xff09;&#xff0c;依賴于 jquery、layui.dist 中的 dropdown 模塊實現&#xff08;所以data 格式請參照 layui文檔&#xff09; <link rel"stylesheet" href"layui-v2.5.6/dist/css/layui.css" /&g…

通俗易懂的DOM1級標準介紹

前言 在前端開發中&#xff0c;DOM&#xff08;文檔對象模型&#xff09;是我們操作網頁內容的核心工具。前面的文章我們介紹了DOM0級、DOM2級事件模型&#xff0c;沒有DOM1級事件模型這種概念&#xff0c;但有DOM1級標準。今天我們就來討論DOM1級標準&#xff0c;看看它到底做…