朋友圈

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:北京電腦培訓(xùn)資訊 > 北京數(shù)據(jù)庫(kù)培訓(xùn)資訊 > 總算明了如何學(xué)python編程

總算明了如何學(xué)python編程

日期:2019-08-25 09:37:39     瀏覽:199    來(lái)源:天才領(lǐng)路者
核心提示:python進(jìn)行數(shù)學(xué)計(jì)算,有其獨(dú)特的地方。本文,介紹一下Python的數(shù)學(xué)運(yùn)算和數(shù)學(xué)函數(shù)方面的基礎(chǔ)知識(shí)。

python進(jìn)行數(shù)學(xué)計(jì)算,有其獨(dú)特的地方。本文,介紹一下Python的數(shù)學(xué)運(yùn)算和數(shù)學(xué)函數(shù)方面的基礎(chǔ)知識(shí)。以下是小編為你整理的如何學(xué)python編程 ?

先進(jìn)行幾個(gè)運(yùn)算: ?

5/2*3+9 ?

8*9-5/6 ?

這兩個(gè)算式,可以直接粘貼到python代碼編譯器里面,但是運(yùn)行之后,沒(méi)有輸出結(jié)果。 ?

其實(shí),python已經(jīng)運(yùn)算了這個(gè)式子了,只不過(guò)沒(méi)顯示結(jié)果。

如何學(xué)python編程

?

用print可以顯示運(yùn)算結(jié)果。 ?

print(5/2*3+9)print(8*9-5/6) ?

如果我們想要看到一個(gè)完整的算式,需要把算式以字符串的形式返回。 ?

print("5/2*3+9"+str(5/2*3+9))print("8*9-5/6"+str(8*9-5/6)) ?

注意: ?

"5/2*3+9"就是一個(gè)字符串的形式,在英文輸入法的雙引號(hào)里面; ?

str(5/2*3+9)是對(duì)算式進(jìn)行計(jì)算,并把計(jì)算結(jié)果轉(zhuǎn)化為字符串; ?

+的作用是連接字符串。 ?

基本運(yùn)算 ?

加減乘除的運(yùn)算,和平常的一樣: ?

print("5+6="+str(5+6))print("5/6="+str(5/6))print("5*6="+str(5*6))print("5-6="+str(5-6)) ?

乘方運(yùn)算2^100,在python里面,寫為2**100: ?

print("2^100 = " + str(2**100))print("5^10 = " + str(5**10)) ?

求余數(shù),用%實(shí)現(xiàn): ?

print("100除以5的余數(shù)是" + str(*5))print("100除以90的余數(shù)是" + str(*90)) ?

注釋的運(yùn)用

# 注釋:不參與程序運(yùn)行,作用是給給看代碼的人一些提示。 ?

# 我是一個(gè)大帥哥,這行是一行注釋,#號(hào)后面的表示注釋 ?

""" ?

多行注釋 ?

多行注釋 ?

多行注釋 ?

""" ?

# 一般情況下注釋都直接使用#號(hào)的形式 ?

# 在正常開(kāi)發(fā)中,三個(gè)引號(hào)對(duì)的注釋形式一般是作為對(duì)整個(gè)文件的說(shuō)明出現(xiàn)在文# 件的頂部 ?

# 針對(duì)某一行代碼的注釋,可以放在代碼語(yǔ)句的上面,也可以放在代碼的后面 ?

print(1801) # 系統(tǒng)提供的展示(打印,輸出)功能 ?

print(666) # ?

print() #默認(rèn)以換行結(jié)尾 ?

print(100-6) # 可以直接進(jìn)行數(shù)學(xué)運(yùn)算,打印結(jié)果就是運(yùn)算結(jié)果 ?

print(10086, 10+6) # 可以同時(shí)打印多個(gè)內(nèi)容,多個(gè)內(nèi)容之間用逗號(hào)隔開(kāi) ?

print(1801, 3+6, 4+7) # 打印結(jié)果里,多個(gè)內(nèi)容之間會(huì)默認(rèn)有一個(gè)空格

?

# 單引號(hào)對(duì)和雙引號(hào)對(duì)是等價(jià)的 ?

print('**************分割符******************') ?

print('good.123我愛(ài)*') # 引號(hào)引起來(lái)的叫字符串,單個(gè)字符也是字符串 ?

print('love',end=' ') # end=''設(shè)置打印結(jié)尾的內(nèi)容,默認(rèn)是換行(n) ?

print('****') ?

print('good morning', 666, '早上好', 4+6) # 字符串和數(shù)字可以混合打印 ?

print('3+6') # '3+6'這是一個(gè)字符串,包含3個(gè)字符:3+6 不是數(shù)學(xué)運(yùn)算 ?

# 有些特殊的字符需要使用轉(zhuǎn)義字符(),轉(zhuǎn)義字符本身也是特殊字符print('我n的'身高'是"18\0')print(r'我n的'身高'是"18\0') # 如果字符串以r開(kāi)頭,那么這個(gè)字符串中所# 有的轉(zhuǎn)義字符全部失效。print('good' * 3) # 字符串可以和數(shù)字相乘,得到重復(fù)的字符串print('*'*10, '分割符', '*'*10)print('good' + 'morning', 666) # 字符串可以和字符串相加,得到一個(gè)拼接的字符串print('*'*20 + '分割符' + '*'*20) ?

請(qǐng)勿將代碼復(fù)制直接使用,可能出現(xiàn)中英文格式錯(cuò)誤,請(qǐng)讀者手打練習(xí)。 ?

導(dǎo)入numpy模塊

在python IDE導(dǎo)入numpy模塊,我用的是自帶解釋器 ?

>>> import numpy as np ?

>>> np.array([1,2,3,4]) #通過(guò)array函數(shù)創(chuàng)建數(shù)組 ?

array([1, 2, 3, 4]) ?

>>> c=np.array([[1,2,3,4],[4,5,6,7],[7,8,9,10]])#二維數(shù)組,第0軸長(zhǎng)度為3,第1軸長(zhǎng)度為4,也就分別相當(dāng)于矩陣的行數(shù)和列數(shù) ?

>>> c ?

array([[ 1, 2, 3, 4], ?

[ 4, 5, 6, 7], ?

[ 7, 8, 9, 10]]) ?

>>> c.shape#數(shù)組的形狀可以通過(guò)其shape 屬性獲得,它是一個(gè)描述數(shù)組各個(gè)軸長(zhǎng)度的元組(tuple) ?

(3L, 4L) ?

3 ?

>>> np.arange(0,1,0.1)#arange()函數(shù)指定了開(kāi)始值、終值和步長(zhǎng)創(chuàng)建等差數(shù)列的一維數(shù)組,注意不包含終值。 ?

array([ 0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9]) ?

4 ?

>>> np.linspace(0,1,10)#指定開(kāi)始值、終值和元素個(gè)數(shù)創(chuàng)建等差數(shù)列的一維數(shù)組,通過(guò)endpoint參數(shù)指定是否包含終值,默認(rèn)為Ture,即包含終值 ?

array([ 0. , 0.11111111, 0.22222222, 0.33333333, 0.44444444, ?

0.55555556, 0.66666667, 0.77777778, 0.88888889, 1. ])

>>> np.logspace(0,2,5)#logspace和linspace類似,區(qū)別在于它創(chuàng)建的是等比數(shù)列,起始值為10^0,而終值為10^2 ?

array([ 1. , 3.16227766, 10. , 31.6227766 , 100. ]) ?

多重繼承 除了從一個(gè)父類繼承外,Python允許從多個(gè)父類繼承,稱為多重繼承。

D 同時(shí)繼承自 B 和 C,也就是 D 擁有了 A、B、C 的全部功能。多重繼承通過(guò) super()調(diào)用__init__()方法時(shí),A 雖然被繼承了兩次,但__init__()只調(diào)用一次。

多重繼承的目的是從兩種繼承樹(shù)中分別選擇并繼承出子類,以便組合功能使用。

舉個(gè)例子,Python的網(wǎng)絡(luò)服務(wù)器有TCPServer、UDPServer、UnixStreamServer、UnixDatagramServer,而服務(wù)器運(yùn)行模式有 多進(jìn)程ForkingMixin 和 多線程ThreadingMixin兩種。

要?jiǎng)?chuàng)建多進(jìn)程模式的 TCPServer:

class MyTCPServer(TCPServer, ForkingMixin) pass

要?jiǎng)?chuàng)建多線程模式的 UDPServer:

class MyUDPServer(UDPServer, ThreadingMixin): pass

獲取對(duì)象信息:type()獲取變量類型,dir()獲取變量所有屬性,dir()返回的屬性是字符串列表,如果已知一個(gè)屬性名稱,要獲取或者設(shè)置對(duì)象的屬性,就需要用 getattr() 和 setattr( )函數(shù)了。

getattr(s, 'name') # 獲取name屬性'Bob'

>>> setattr(s, 'name', 'Adam') 設(shè)置新的name屬性

>>> s.name 'Adam'

注意:getattr(s, 'age') # 獲取age屬性,但是屬性不存在,報(bào)錯(cuò)。

>>> getattr(s, 'age', 20) # 獲取age屬性,如果屬性不存在,就返回默認(rèn)值20:20

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: