日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python矩阵乘法_鱼书——第一章 Python入门

發(fā)布時(shí)間:2023/12/9 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python矩阵乘法_鱼书——第一章 Python入门 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

one 第一章

1.1 Python是什么

Python是一個(gè)簡(jiǎn)單、易讀、易記的編程語(yǔ)言,而且是開(kāi)源的,可以免費(fèi)地自由使用。Python可以用類(lèi)似英語(yǔ)的語(yǔ)法編寫(xiě)程序,編譯起來(lái)也不費(fèi)力,因此我們可以很輕松地使用Python。特別是對(duì)首次接觸編程的人士來(lái)說(shuō),Python是最合適不過(guò)的語(yǔ)言。事實(shí)上,很多高校和大專(zhuān)院校的計(jì)算機(jī)課程均采用Python作為入門(mén)語(yǔ)言。Python是最適合數(shù)據(jù)科學(xué)領(lǐng)域的編程語(yǔ)言。而且,Python具有受眾廣的優(yōu)秀品質(zhì),從初學(xué)者到專(zhuān)業(yè)人士都在使用。因此,為了完成本書(shū)的從零開(kāi)始實(shí)現(xiàn)深度學(xué)習(xí)的目標(biāo),Python可以說(shuō)是最合適的工具。

1.2? Python的安裝

Python有2.x和3.x的區(qū)別,現(xiàn)在使用的一般均為Python3.x。兩個(gè)常用的庫(kù):NumPy是用于數(shù)值計(jì)算的庫(kù),提供了很多高級(jí)的數(shù)學(xué)算法和便利的數(shù)組(矩陣)操作方法。本書(shū)中將使用這些便利的方法來(lái)有效地促進(jìn)深度學(xué)習(xí)的實(shí)現(xiàn)。Matplotlib是用來(lái)畫(huà)圖的庫(kù)。使用Matplotlib能將實(shí)驗(yàn)結(jié)果可視化,并在視覺(jué)上確認(rèn)深度學(xué)習(xí)運(yùn)行期間的數(shù)據(jù)。

1.3Python解釋器

可以配置PyCharm進(jìn)行編寫(xiě)。我對(duì)PyCharm的認(rèn)識(shí)大概相當(dāng)于Rstudio之對(duì)于R軟件的作用。方便程序的編寫(xiě)、運(yùn)行調(diào)試。在PyCharm界面左下角處點(diǎn)擊"Python consolo"就會(huì)出來(lái)Python的交互頁(yè)面。也相當(dāng)于Python解釋器的對(duì)話(huà)模型。

1.3.1 基本運(yùn)算

*表示乘法,/表示除法,**表示乘方(3**2是3的2次方)。另外,在Python 2.x中,整數(shù)除以整數(shù)的結(jié)果是整數(shù),比如,7 ÷ 5的結(jié)果是1。但在Python 3.x中,整數(shù)除以整數(shù)的結(jié)果是小數(shù)(浮點(diǎn)數(shù))。

1.3.2 數(shù)據(jù)類(lèi)型

編程中有數(shù)據(jù)類(lèi)型(data type)這一概念。數(shù)據(jù)類(lèi)型表示數(shù)據(jù)的性質(zhì),有整數(shù)、小數(shù)、字符串等類(lèi)型。Python中的type()函數(shù)可以用來(lái)查看數(shù)據(jù)類(lèi)型。

1.3.3 變量

可以使用x或y等字母定義變量(variable)。此外,可以使用變量進(jìn)行計(jì)算,也可以對(duì)變量賦值。Python是屬于“動(dòng)態(tài)類(lèi)型語(yǔ)言”的編程語(yǔ)言,所謂動(dòng)態(tài),是指變量的類(lèi)型是根據(jù)情況自動(dòng)決定的。“#”是注釋的意思,它后面的文字會(huì)被Python忽略。

1.3.4 列表

除了單一的數(shù)值,還可以用列表(數(shù)組)匯總數(shù)據(jù)。

元素的訪(fǎng)問(wèn)是通過(guò)a[0]這樣的方式進(jìn)行的。[]中的數(shù)字稱(chēng)為索引(下標(biāo)),索引從0開(kāi)始(索引0對(duì)應(yīng)第一個(gè)元素)。此外,Python的列表提供了切片(slicing)這一便捷的標(biāo)記法。使用切片不僅可以訪(fǎng)問(wèn)某個(gè)值,還可以訪(fǎng)問(wèn)列表的子列表(部分列表)。

1.3.5 字典

列表根據(jù)索引,按照0, 1, 2, ...的順序存儲(chǔ)值,而字典則以鍵值對(duì)的形式存儲(chǔ)數(shù)據(jù)。字典就像《新華字典》那樣,將單詞和它的含義對(duì)應(yīng)著存儲(chǔ)起來(lái)。

1.3.6 布爾型

Python中有bool型。bool型取True或False中的一個(gè)值。針對(duì)bool型的運(yùn)算符包括and、or和not (針對(duì)數(shù)值的運(yùn)算符有+、-、*、/等,根據(jù)不同的數(shù)據(jù)類(lèi)型使用不同的運(yùn)算符)。

1.3.7 if語(yǔ)句

根據(jù)不同的條件選擇不同的處理分支時(shí)可以使用if/else語(yǔ)句。>>> hungry = True>>> if hungry:... print("I’m so hungry.")... I’m so hungry.>>> hungry = False>>> if hungry:... print("I’m so hungry.")... else:... print("I’m not hungry at all.")... print("I'm tired.")... I’m not hungry at all.I'm tired.Python中的空白字符具有重要的意義。上面的if語(yǔ)句中,if hungry:下面的語(yǔ)句開(kāi)頭有4個(gè)空白字符。它是縮進(jìn)的意思,表示當(dāng)前面的條件(if hungry)成立時(shí),此處的代碼會(huì)被執(zhí)行。這個(gè)縮進(jìn)也可以用tab表示,Python中推薦使用空白字符。

1.3.8 for 語(yǔ)句

進(jìn)行循環(huán)處理時(shí)可以使用for語(yǔ)句,可以按順序訪(fǎng)問(wèn)列表等數(shù)據(jù)集合中的各個(gè)元素。>>> for i in ["I","am","not","a","good","guy"]:... print(i)... Iamnotagoodguy

1.3.9 函數(shù)

可以將一連串的處理定義成函數(shù) (function)。>>> def hello():... print("Hello World!")... hello()Hello World!此外,函數(shù)可以取參數(shù)。>>> def hello(object):... print("Hello " + object + "!")...>>> hello("cat")Hello cat!

1.4? NumPy

>>> import numpy as npPython中使用import語(yǔ)句來(lái)導(dǎo)入庫(kù)。這里的import numpy as np,直譯的話(huà)就是“將numpy作為np導(dǎo)入”的意思。通過(guò)寫(xiě)成這樣的形式,之后NumPy相關(guān)的方法均可通過(guò)np來(lái)調(diào)用。要生成NumPy數(shù)組,需要使用np.array()方法。np.array()接收Python列表作為參數(shù),生成NumPy數(shù) 組(numpy.ndarray)。>>> x = np.array([1.0, 2.0, 3.0])>>> print(x)[ 1. 2. 3.]>>> type(x)<class 'numpy.ndarray'>下面是NumPy數(shù)組的算術(shù)運(yùn)算的例子。>>> x = np.array([1.0, 2.0, 3.0])>>> y = np.array([2.0, 4.0, 6.0])>>> x + y # 對(duì)應(yīng)元素的加法array([ 3., 6., 9.])>>> x - yarray([ -1., -2., -3.])>>> x * y # element-wise productarray([ 2., 8., 18.])>>> x / yarray([ 0.5, 0.5, 0.5])這里需要注意的是,數(shù)組x和數(shù)組y的元素個(gè)數(shù)是相同的(兩者均是元素個(gè)數(shù)為3的一維數(shù)組)。當(dāng)x和y的元素個(gè)數(shù)相同時(shí),可以對(duì)各個(gè)元素進(jìn)行算術(shù)運(yùn)算。如果元素個(gè)數(shù)不同,程序就會(huì)報(bào)錯(cuò),所以元素個(gè)數(shù)保持一致非常重要。另外,“對(duì)應(yīng)元素的”的英文是element-wise,比如“對(duì)應(yīng)元素的乘法”就是element-wise product。NumPy數(shù)組不僅可以進(jìn)行element-wise運(yùn)算,也可以和單一的數(shù)值(標(biāo)量)組合起來(lái)進(jìn)行運(yùn)算。此時(shí),需要在NumPy數(shù)組的各個(gè)元素和標(biāo)量之間進(jìn)行運(yùn)算。>>> x = np.array([1.0, 2.0, 3.0])>>> x / 2.0array([ 0.5, 1. , 1.5]NumPy不僅可以生成一維數(shù)組(排成一列的數(shù)組),也可以生成多維數(shù)組。>>> A = np.array([[1, 2], [3, 4]])>>> print(A)[[1 2] [3 4]]>>> A.shape(2, 2)>>> A.dtypedtype('int64')矩陣A的形狀可以通過(guò)shape查看,矩陣元素的數(shù)據(jù)類(lèi)型可以通過(guò)dtype查看。NumPy中,形狀不同的數(shù)組之間也可以進(jìn)行運(yùn)算。之前的例子中,在2×2的矩陣A和標(biāo)量10之間進(jìn)行了乘法運(yùn)算。在這個(gè)過(guò)程中,如圖1-1所示,標(biāo)量10被擴(kuò)展成了2 × 2的形狀,然后再與矩陣A進(jìn)行乘法運(yùn)算。這個(gè)巧妙的功能稱(chēng)為廣播 (broadcast)。

我們通過(guò)下面這個(gè)運(yùn)算再來(lái)看一個(gè)廣播的例子。>>> A = np.array([[1, 2], [3, 4]])>>> B = np.array([10, 20])>>> A * Barray([[ 10, 40], [ 30, 80]])

1.5? Matplotlib

在深度學(xué)習(xí)的實(shí)驗(yàn)中,圖形的繪制和數(shù)據(jù)的可視化非常重要。Matplotlib是用于繪制圖形的庫(kù),使用Matplotlib可以輕松地繪制圖形和實(shí)現(xiàn)數(shù)據(jù)的可視化。這里,我們來(lái)介紹一下圖形的繪制方法和圖像的顯示方法。可以使用matplotlib的pyplot模塊繪制圖形。話(huà)不多說(shuō),我們來(lái)看一個(gè)繪制sin函數(shù)曲線(xiàn)的例子。import numpy as npimport matplotlib.pyplot as plt# 生成數(shù)據(jù)x = np.arange(0, 6, 0.1) # 以0.1為單位,生成0到6的數(shù)據(jù)y = np.sin(x)# 繪制圖形plt.plot(x, y)plt.show()

就會(huì)得到圖1-3:

在剛才的sin函數(shù)的圖形中,我們嘗試追加cos函數(shù)的圖形,并嘗試使用pyplot的添加標(biāo)題和x軸標(biāo)簽名等其他功能。import numpy as npimport matplotlib.pyplot as plt# 生成數(shù)據(jù)x = np.arange(0, 6, 0.1) # 以0.1為單位,生成0到6的數(shù)據(jù)y1 = np.sin(x)y2 = np.cos(x)# 繪制圖形plt.plot(x, y1, label="sin")plt.plot(x, y2, linestyle = "--", label="cos") # 用虛線(xiàn)繪制plt.xlabel("x") # x軸標(biāo)簽plt.ylabel("y") # y軸標(biāo)簽plt.title('sin & cos') # 標(biāo)題plt.legend()plt.show()

就會(huì)得到圖1-4:

今天就到這里啦!

大家都要加油鴨!

春風(fēng)不度玉門(mén)關(guān),

我佛不渡鐵憨憨。

雕欄玉砌應(yīng)猶在,

點(diǎn)贊完了點(diǎn)在看。

? - end -??

圖文源魚(yú)書(shū)

公眾號(hào):一枝花滿(mǎn)樓

總結(jié)

以上是生活随笔為你收集整理的python矩阵乘法_鱼书——第一章 Python入门的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。