1. 程式人生 > >python學習筆記——慕課的一些介紹(入門級)

python學習筆記——慕課的一些介紹(入門級)

    本筆記整理自MOOC上的Python課程,本課程介紹了Python的入門級經典程式設計例子、Python基礎語法以及Python的計算生態。

    課程連結為:Python語言程式設計-北京理工大學

目錄

 

Python技術的全域性化視角概覽圖

寫在前面

一、input()

二、eval()

三、print()

四、import

五、異常處理

六、turtle庫(Python標準庫)

七、資料型別

八、time庫(Python標準庫)

九、進度條設計

十、程式的控制結構

十一、random庫(Python標準庫)

十二、函式

十三、ambda函式

十四、遞迴

十五、PyInstaller庫(第三方庫)

十六、組合資料型別

十七、jieba庫(第三方庫)

十八、文字詞頻統計

十九、檔案及其使用

二十、自動軌跡繪製

二十一、map()函式

二十二、一維資料的格式化和處理

二十三、二維資料的格式化和處理

二十四、wordcloud庫(第三方庫)

二十五、程式設計方法學

二十六、Python第三方庫安裝

二十七、os庫(Python標準庫)

二十八、第三方庫自動安裝指令碼——os庫的應用示例

二十九、Python計算生態

三十、最後,在筆記結尾,賤賤地借朵玫瑰花送給螢幕前的女生~


Python技術的全域性化視角概覽圖

                                        

寫在前面

 Python程式碼有著眾所周知的強制的易讀性。

其實Python程式碼中寫分號也未嘗不可,比如你非常明確地希望你的程式只有“一行”程式碼,那麼就將原來的分行形式寫成一行就好了,在每句後面跟加上Python程式碼的稀客——分號,如果你的程式碼只有順序結構,而沒有複雜的分支或者迴圈結構,你會發現你的程式碼依然執行完好。

如果你嫌棄自己的Python程式碼又臭又長(尤其是print語句),也有方法解決,那就是分行,並在除分出的最後一行外的所有分行句尾加上符號"\",over.

一、input()

        輸出提示資訊(可選),並接收輸入的字串。示例:control_str=input("haha! write it!")

二、eval()

    去引號函式

三、print()

    print("a:",b)        此種帶逗號的寫法,會在a:和b之間自動加上空格

    print(a,end="")  輸出a,沒有輸出回車

   print("\r"+a,end="")  由於有end="",且有\r這個回車符,在迴圈中,此句的輸出將覆蓋上一句

   "{:.f}".format(xxx)  格式化輸出

   舉例:print("轉換後的溫度是{:.2f}F".format(F))     此句程式的列印效果是將F以".2f"的格式(即保留兩位小數)列印在冒號之間的"{:.2f}"處。

四、import

    1. import [庫名]

    2. form [庫名] import *

    3. import [庫名] as [自起名稱]

五、異常處理

解釋:try之後的語句塊1正常,則執行之後跳過語句塊2;否則,發生異常/發生指定異常,就執行語句塊2。

解釋:沒異常,執行1、3、4;有異常,則執行1、2、4。

六、turtle庫(Python標準庫)

    調整繪圖窗體在電腦螢幕中的佈局

        turtle.setup(寬度,高度,x(可選),y(可選));

    設定繪製視窗的標題欄資訊

       turtle.title(title)

    turtle空間座標體系(畫布上的)

        1. 絕對座標

            turtle.goto(x,y)

        2. 海龜座標

            turtle.foward(d) 或者 turtle.fd(d)   向前

            turtle.bk(d)   向後

            turtle.circle(r,angle)    以左側的某點為圓心畫弧線前進。r為半徑,angle為行進角度,圓心預設為海龜左側距離海龜r的地方。r為負數,即右轉了。

        3. 角度座標

           turtle.setheading(angle) 或者 turtle.seth(angle)           改變海龜執行方向(絕對角度)

           turtle.left(angle)                                                             向左改變海龜執行方向(相對角度)

           turtle.right(angle)                                                           向左改變海龜執行方向(相對角度)

    turtle的RGB色彩模式

       turtle.colormode(mode)    mode寫成1.0時候,使用的是RGB小數值模式;寫成255時,使用的是RGB整數值模式。

    畫筆控制函式(成對出現)

        turtle.penup()                    畫筆擡起來,或者海龜飛起來,即不留下痕跡。別名:turtle.pu()

        turtle.pendown()               畫筆落下來,或者海龜著地,即留下痕跡。別名:turtle.pd()

      turtle.pensize(width)        設定畫筆寬度,或者海龜腰圍。別名:turtle.width(width)

     turtle.pencolor(color)    設定畫筆色彩,即龜殼顏色。color有三種形式:顏色字串,如:"purple";RGB的小數值,如:0.63,0.13,0.94;RGB的元組值,如:(0.63,0.13,0.94)。

      turtle.write()                   直接繪製字元,示例:         

turtle.write('我',font=("Arial",180,"normal"))

  海龜隱藏

         turtle.hideturtle()     隱藏海龜,或者說畫筆 

  退出

          turtle.done()         程式末尾加上此句,則影象不會自動退出,而是停留在最後的狀態。

七、資料型別

整數型別的四種進製表示形式:十進位制、二進位制(0b或0B開頭)、八進位制(0o或0O開頭)、十六進位制(0x或0X開頭)

浮點數的取值範圍約為-10^308~10^308,精度10^(-16)

浮點數的計算存在不確定尾數問題,這是計算的底層設計問題(計算機內部是二進位制),不是bug。舉例:python在判斷(0.1+0.2==0.3)時候將返回false。

round(x,d)函式,可以進行四捨五入操作,其中的d表示保留的小數位數。

浮點數支援科學計數法表示。舉例:3e4=3*10^4;8E-9=8*10^(-9)。

複數型別舉例:z=1+2j    z.real獲得實部,z.imag獲得虛部

python中兩個整數相除是浮點數。這一點比較特殊。舉例:10/3=3.333333...;10//3=3,注意,"//"這個符號得到的是整數。

x**y=x^y

支援增強操作符:x+=y、x**=y等

基本數值運算函式:abs(x)  取絕對值; divmod(x,y) 做商餘操作,輸出(x//y,x%y);

                                   pow(x,y)   輸出x^y; pow(x,y,z)   輸出(x^y)%z;

                                   round(x,d) 保留d位小數; round(x)  對x取整;

                                   max(...)、min(...);

                                   int(x)  將浮點數甚至字串x變成整數; float(x) 將整數甚至字串x變成浮點數;

                                   complex(x)  將x變成複數。

字串中,'''這裡可以輸入"和'都能夠顯示出來,因為兩端是三單引號'''

字串中,可以通過str[m,n,step]對字串進行切片

轉義符為\,\b表示回退,\n表示換行(游標移到下行首),\r表示回車(游標移到本行首)

字串操作符

            x+y           連線字串x和y;         n*x       將字串x複製n次;

            x in s        如果x是s的子串,返回true,否則返回false

字串處理函式

           len(x)       返回字串x的長度;  

           str(x)       將任何型別的x轉化成字串,這與eval()函式相反;

          hex(x)、oct(x) 將整數x轉化成十六進位制或八進位制的小寫形式字串,如oct(8)相當於"0o10";

          chr(u)     u為unicode編碼,此函式將返回對應此編碼的字元

          ord(x)     x為單字元,此函式將返回此單字元對應的unicode編碼

字串處理方法

          str.lower()、str.upper()     返回字串的副本,此副本是原副本的全小寫/全大寫形式

          str.split(s)                         返回以s分割的子字串列表

          str.count(sub)                   返回str中子字串sub出現的次數

          str.replace(old,new)         返回字串的副本,此副本中的子字串old全部被字串new替換

          str.center(num,ch)            str根據寬度num居中,寬度兩側的部分以字元ch填充

          str.strip(chars)                  去掉str的左側和右側,出現在字串chars(或者說是字元陣列)中的字元,然後返回

          str.join(iter)                      舉例說明吧:",".join("12345")的返回值是"1,2,3,4,5"

字串型別的格式化

          槽,一個字串中的定義。槽預設對應於後面的format()中的順序;如果槽中有整數,則有以下意義:

        另外,槽中可以通過冒號來引導對格式化的配置方式,以下羅列六種:

其中,如果設定的寬度小於實際輸出的寬度,輸出依然會正常輸出出來,寬度預設為輸出自身的寬度。

八、time庫(Python標準庫)

python中處理時間的標準庫。

主要的三類函式:

時間獲取的函式中,

time()返回值是一個浮點數(最原生的狀態);ctime()返回一個人能看懂的字串格式;gmtime()返回一個可供計算機處理的時間格式。

時間格式化的函式中,

可以看出,前一個函式是獲取時間資訊,後一個函式是將字串形式的時間資訊轉換成計算機可認的時間格式。

補充一下常見的格式化字串:

程式計時中,

九、進度條設計

        實驗表明,在使用者體驗上,如實的進度條,不如在整體上先慢後快的進度條讓人愉悅。

       下面是一個模擬“如實”的進度條程式片段:

import time
scale=50
print("begin".center(scale,"-"))
start=time.perf_counter()
for i in range(scale+1):
    a='*'*i
    b='.'*(scale-i)
    c=(i/scale)*100
    d=time.perf_counter()
    print("\r{:3.0f}%[{}->{}]{:.2f}s".format(c,a,b,d),end="")
    time.sleep(0.1)
print("\n"+"end".center(scale,'-'))

十、程式的控制結構

二分支結構的緊湊形式:<表示式1> if <條件> else <表示式2>   如果滿足條件,執行表示式1;否則執行表示式2。

緊湊形式中只能支援表示式,而不是語句。所以複雜語句還得用"if...else..."這個二分支結構。

多分支結構:if xxx: ... elif xxx: ... else: ...

操作符:== 表示“等於”; != 表示“不等於”。

用於兩個條件進行組合的三個保留字: x and y  與運算;           x or y       或運算;             x not y  非運算。

分支結構是閱讀程式碼時候的重要部分,看清它對閱讀程式碼很重要。

遍歷迴圈:for <迴圈變數> in <遍歷結構>:<語句塊> 

        解釋:從遍歷結構中依次取東西到迴圈變數,然後執行語句塊,重複此操作直到遍歷完成。

        計數迴圈: for i in range(N):...            這裡的range()函式提供一個0到N-1的整數序列

                           for i in range(M,N):...        這裡的range()函式產生一個M到N-1的整數序列

                           for i in range(M,N,K):...     這裡的range()函式產生一個0到N-1,且步長為K的整數序列

        字串遍歷迴圈: for c in s:...            這裡的字串s依次提供它的每個字元給c

        列表遍歷迴圈:     for item in ls:...     這裡的列表ls依次提供它的每個元素給item

        檔案遍歷迴圈:     for line in fi:...       這裡的檔案識別符號fi依次提供它所對應檔案的每一行給line

        還有元組、字典等型別可以通過此種方式進行遍歷。

無限迴圈:while xxx:...

迴圈控制保留字:break、continue

迴圈的擴充套件

            迴圈+else。如果迴圈執行到了break語句,則else部分的語句將不會被執行;否則,即迴圈正常執行完成(與continue無關哦),程式在迴圈完成之後將執行else之後的語句作為獎勵。

十一、random庫(Python標準庫)

Python中用於生成(偽)隨機數的庫。

原理:隨機數種子->梅森旋轉演算法->隨機序列(其中的每一個數,即產生的“隨機數”)

主要的兩個函式

                   random.seed()        設定種子的函式

                   random.random()    根據種子返回生成的一個(偽)隨機實數,它在[0,1)範圍內

                   手動設定的相同種子產生的隨機序列是相同的,即,有可以復現的性質;

                   不手動設定種子,用random()產生的隨機數,預設是程式第一次呼叫random()時候的系統時間,因此它產生的隨機序列幾乎不可復現。

擴充套件的六個函式:

                 random.randint(a,b)                   生成一個[a,b]範圍內的隨機整數

                 random.randrange(m,n[,k])        生成一個[m,n)範圍內以k為步長的隨機整數。自然,沒有k引數時候就是預設k=1咯

                 random.getrandbits(k)                生成一個k位元長的隨機整數

                 random.uniform(a,b)                   生成一個[a,b]範圍內的隨機小數

                 random.choice(seq)                    返回從序列seq中隨機選擇的一個元素

                 random.shuffle(seq)                    將序列seq中的元素隨機打亂,並重新賦值給seq。不返回東西,或者說返回None也行。即,此函式直接操作了序列seq。           

十二、函式

python使用保留字def進行函式的定義。其來源應是"define"(定義)這個英文單詞。

函式是一段程式碼的表示:

def <函式名>(<函式引數>):

    <函式體>

   return <返回值>

兩種特殊函式的寫法如下:

(1)可選引數函式

(2)可變引數函式

兩種引數傳遞的方式(位置傳遞、名稱傳遞)如下:

return返回多個值時,預設返回一個元組。

保留字global用於在函式內部定義和使用全域性變數;

不用global,如果在函式內部沒有真實建立某個組合資料型別,僅僅對其進行操作了,那它實際操作了函式外部的同名的全域性變數(那個某個組合資料型別)。

十三、ambda函式

lambda函式是匿名函式,即沒有名字。或者說,它的函式名就是返回值。

它使用保留字lambda進行定義。

<函式名> = lambda <引數>:<表示式>

示例如下:

使用方式:

十四、遞迴

思路就是,找到鏈條和基例。鏈條一般需要分析上下過程的關係才能清楚。

示例1——字串反轉:

def rvs(s):
    if s=="":
        return s
    else:
        return rvs(s[1:])+s[0]

示例2——求解斐波那契數列

示例3——漢諾塔問題

示例4——科赫雪花

import turtle
def koch(size, n):
    if n == 0:
        turtle.fd(size)
    else:
        for angle in [0, 60, -120, 60]:
           turtle.left(angle)
           koch(size/3, n-1)
def main():
    turtle.setup(600,600)
    turtle.penup()
    turtle.goto(-200, 100)
    turtle.pendown()
    turtle.pensize(2)
    level = 3      # 3階科赫雪花,階數
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.right(120)
    koch(400,level)
    turtle.hideturtle()
    turtle.done()
main()

十五、PyInstaller庫(第三方庫)

通過這個庫,我們可以將python檔案轉換成exe等可以直接被Windows、Linux等系統直接識別的檔案格式。

安裝命令(windows):    pip install pyinstaller

Windows下的使用(cmd命令列環境,而不是python環境)

      pyinstaller -F <檔名.py>       這句命令將生成以下三個資料夾,其中前兩個可以直接刪除,最後一個裡面就有我們要的exe檔案。

     

     常見引數如下:

     

十六、組合資料型別

三種主要結構:集合型別、序列型別(元組、列表)、字典型別

(1)集合

特點:無序、唯一、不可修改;不可修改是指集合元素是非可變資料型別。

使用{}或set()進行建立;

但補充一點,當建立空集合的時候,不能用{},因為它會導致建立了一個空的字典,所以非要建立空集合的話,建議用set()。

示例:A={123,"abc",(a,b,c)}、B=set("python")、C=set(['p','y','t','h','o','n'])   這裡的B集合和C集合都相當於{'p','y','t','h','o','n'}

集合間操作符

集合的處理方法

應用場景

判斷包含關係;資料去重;

(2)序列

特點:一維元素向量、由序號引導且可通過下標進行訪問

它是一種基類型別,下面的子型別有:字串、元組、列表。

序列型別的通用操作符:

序列型別的通用函式及方法

元組型別:

              特點:是序列型別的一種,一旦建立不能被修改。

              使用()或tuple()進行建立;也可以不使用()來表示一個元組,如:return 1,2   creaturn=a,b,c

             應用:用於需要有序、不需要改動元素的場景,比如我需要保護我的資料被其它人修改,或用在返回的地方。

列表型別

              特點:是序列型別的一種,建立後可以隨意被修改。

              使用[]或list()進行建立。

              如果將一個列表直接用=賦值給另外一個名稱,此時並未真正建立一個新的列表!

              列表型別的操作符、函式及方法:

             

                   

                  應用:用在需要有序,且更靈活的場景。

(3)字典

特點:字典是鍵值對的集合,鍵值對之間無序。

使用{}或dict()建立,鍵值對中鍵與值用冒號分割;

補充一點,用{}可以直接建立了一個空的字典,這點是為了避免與集合衝突,非要建立空集合的話,建議用set()。

示例:mydic1={"a":1,"b":2,"c":3}           mydic2=dict([('spam', 1), ('egg', 2), ('bar', 3)] )

mydic3=dict(zip('abc', [1, 2, 3]))          mydic4=dict(spam = 1, egg = 2, bar =3)

mydic5={i:2*i for i in range(3)}             mydic6=dict.fromkeys(range(3), 'x')

向字典中增加元素的方法(舉例說明):

字典型別操作函式和方法:

字典的應用場景:表達對映,並操作它們。

十七、jieba庫(第三方庫)

中文文字需要通過分詞獲得單個的詞語,jieba庫就是一種提供三種分詞模式的第三方庫。

原理:該庫利用一箇中文詞庫,確定漢字之間的關聯概率;漢字之間概率大的組成片語,這就是分詞的結果。另外,使用者可以向該庫自行增加片語。

jieba分詞的三種模式:

jieba庫常用函式(第一個屬於精確模式,第二個屬於全模式,第三個屬於搜尋引擎模式,第四個是增加片語):

十八、文字詞頻統計

統計文字中的詞彙出現的頻率。

以下程式碼對用Python做中英文詞頻統計有一定參考價值:

#Hamlet詞頻統計(含Hamlet原文文字)

     def getText():
        txt = open("hamlet.txt", "r").read()
        txt = txt.lower()
        for ch in '!"#$%&()*+,-./:;<=>[email protected][\\]^_‘{|}~':
            txt = txt.replace(ch, " ")   #將文字中特殊字元替換為空格
        return txt
     
    hamletTxt = getText()
    words  = hamletTxt.split()
    counts = {}
    for word in words:           
        counts[word] = counts.get(word,0) + 1
    items = list(counts.items())
    items.sort(key=lambda x:x[1], reverse=True) 
    for i in range(10):
        word, count = items[i]
        print ("{0:<10}{1:>5}".format(word, count))


#《三國演義》人物出場統計(上)(含《三國演義》原文文字)

    import jieba
    txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
    words  = jieba.lcut(txt)
    counts = {}
    for word in words:
        if len(word) == 1:
            continue
        else:
            counts[word] = counts.get(word,0) + 1
    items = list(counts.items())
    items.sort(key=lambda x:x[1], reverse=True) 
    for i in range(15):
        word, count = items[i]
        print ("{0:<10}{1:>5}".format(word, count))

#《三國演義》人物出場統計(下)(含《三國演義》原文文字)

     import jieba
    excludes = {"將軍","卻說","荊州","二人","不可","不能","如此"}
    txt = open("threekingdoms.txt", "r", encoding='utf-8').read()
    words  = jieba.lcut(txt)
    counts = {}
    for word in words:
        if len(word) == 1:
            continue
        elif word == "諸葛亮" or word == "孔明曰":
            rword = "孔明"
        elif word == "關公" or word == "雲長":
            rword = "關羽"
        elif word == "玄德" or word == "玄德曰":
            rword = "劉備"
        elif word == "孟德" or word == "丞相":
            rword = "曹操"
        else:
            rword = word
        counts[rword] = counts.get(rword,0) + 1
    for word in excludes:
        del counts[word]
    items = list(counts.items())
    items.sort(key=lambda x:x[1], reverse=True) 
    for i in range(10):
        word, count = items[i]
        print ("{0:<10}{1:>5}".format(word, count))

十九、檔案及其使用

檔案型別

          文字檔案:由單一特定編碼組成的檔案,如.txt檔案、.py檔案;

          二進位制檔案:直接由位元0、1構成的檔案,沒有統一的字元編碼,如.png檔案,.avi檔案。

無論哪種檔案,都實際以二進位制儲存。

檔案的操作步驟一般是這樣的:開啟——>操作——>關閉。

(1)檔案的開啟

     不給開啟模式這個引數時候,預設模式是"rt"模式。

     這裡注意一點,就是路徑的寫法。由於在Python中斜槓"\"表示轉義,而windows目錄預設是以它分割的,所以實際填寫路徑時候為了讓這兩者不衝突,我們一般使用反斜槓"/"來替代原來路徑中的斜槓"\";或者在原來路徑的斜槓前加上一個斜槓,形成雙斜槓"\\"。  當然,程式一般更適合使用相對路徑。

      檔案的開啟模式:

 

(2)檔案的關閉

      

(3)檔案的讀取

  

 

利用上述函式,進行一起讀入、逐行處理:

但其實不用上述函式,就可進行逐行讀入、逐行處理:

(4)檔案的資料寫入

seek(0)非常常用;比如你剛寫入的資料,又去取資料,此時檔案指標在檔案寫入內容的末尾,你取的資料就為空,所以這個時候就要在取資料前進行seek(0)操作。

二十、自動軌跡繪製

含義:讀取一個檔案,解析其中的資料,根據解析結果進行圖形繪製。

目的:通過分離資料和功能,並設計良好清晰的介面,以實現自動化,體驗資料驅動帶來的快感。

實現步驟:

       

介面定義(這是其中一種,當然可以自定義此檔案格式):

        

對應上面定義的介面的程式碼示例:

import turtle as t
t.title('自動軌跡繪製')
t.setup(800, 600, 0, 0)
t.pencolor("red")
t.pensize(5)
#資料讀取
datals = []
f = open("data.txt")
for line in f:
    line = line.replace("\n","")
    datals.append(list(map(eval, line.split(","))))
f.close()
#自動繪製
for i in range(len(datals)):
    t.pencolor(datals[i][3],datals[i][4],datals[i][5])
    t.fd(datals[i][0])
    if datals[i][1]:
        t.rt(datals[i][2])
    else:
        t.lt(datals[i][2])

二十一、map()函式

    map()    第一個引數 function 以引數序列中的每一個元素呼叫 function 函式,返回包含每次 function 函式返回值的新列表。

二十二、一維資料的格式化和處理

(1)一維資料的表示

    一般來講,有序的一維資料就用列表表示和處理,無序的一維資料就用集合表示和處理。

(2)一維資料的儲存

    儲存方式一:使用空格分隔資料;

    儲存方式二:使用逗號分隔資料;

    儲存方式三:使用很少用到的特殊符號進行資料分割。

(3)一維資料的處理

     將資料從檔案中讀取出來並使之變成列表:

    

    將資料寫入檔案:

二十三、二維資料的格式化和處理

(1)二維資料的表示

         基礎Python部分,一般用二維列表就可以了。

(2)CSV格式

CSV:Comma-Separated Values

它是國際通用的儲存一二維資料儲存格式,一般以.csv作為副檔名;每行一個一維資料,以逗號分割;無空行;很多編輯軟體都可以編輯此檔案格式。

且,

(3)二維資料的處理

二維資料的讀取:

 

二維資料的寫入:

 

二維資料的遍歷:

二十四、wordcloud庫(第三方庫)

windows下的pip安裝:pip install wordcloud

簡介

內部處理原理

wordcloud庫的常規函式或方法

使用步驟

配置引數

 

   

   

由於中文的詞語不以空格分割,因此需要先用jieba庫進行預處理,一個簡單示例如下:

詞雲繪製示例程式碼:

#常規矩形詞雲

    import jieba
    import wordcloud
    f = open("新時代中國特色社會主義.txt", "r", encoding="utf-8")
     
    t = f.read()
    f.close()
    ls = jieba.lcut(t)
     
    txt = " ".join(ls)
    w = wordcloud.WordCloud( \
        width = 1000, height = 700,\
        background_color = "white",
        font_path = "msyh.ttc"    
        )
    w.generate(txt)
    w.to_file("grwordcloud.png")


#不規則圖形詞雲

     import jieba
    import wordcloud
    from scipy.misc import imread
    mask = imread("chinamap.jpg")
    excludes = { }
    f = open("新時代中國特色社會主義.txt", "r", encoding="utf-8")
    t = f.read()
    f.close()
    ls = jieba.lcut(t)
    txt = " ".join(ls)
    w = wordcloud.WordCloud(\
        width = 1000, height = 700,\
        background_color = "white",
        font_path = "msyh.ttc", mask = mask
        )
    w.generate(txt)
    w.to_file("grwordcloudm.png")

二十五、程式設計方法學

想法很重要,程式設計只是手段,多元化的思維方式則有利於想法的產生。

計算思維

         區別於邏輯思維和實證思維的計算思維:抽象+自動化;

         它基於計算機的思維、利用工具的思維;

         它關注設計和構造,而非因果;

         它利用程式設計手段實現自動化的過程。

         程式設計:分而治之、模組化整合、配置化設計:程式引擎+配置檔案,等思想。

計算生態與Python

        開源有大教堂模式和集市模式之分。

       

         Python語言的計算生態:

      

相關推薦

python學習筆記——一些介紹入門

    本筆記整理自MOOC上的Python課程,本課程介紹了Python的入門級經典程式設計例子、Python基礎語法以及Python的計算生態。     課程連結為:Python語言程式設計-北京理工大學 目錄 &nbs

Python學習筆記系列——高階函數map/reduce

from 類型 fun 轉換 浮點 color normal 整數 cto from functools import reduce #變量可以指向函數,函數的參數能接受變量,那麽一個函數就可以接受另一個函數作為參數,這種函數被稱之為高階函數 def add(x,y

jvm簡介及其記憶體分佈介紹入門

一.jvm執行機制 jvm啟動流程: java虛擬機器啟動的命令是通過java +xxx(類名,這個類中要有main方法)或者javaw啟動的。 執行命令後,系統第一步做的就是裝載配置,會在當前路徑中尋找jvm的config配置檔案。 找到jvm的config

python學習筆記第十一節叠代和其他

技術分享 img 余數 商品列表 步長 取數 sorted函數 學習 四舍五入 yiled 面相過程編程 造好內容,統一發給下面 上面這個是傻瓜版 內置函數 print(divmod(10,3)) 將10除以3,顯示商和余數 enumerate函數,顯示元素及它

python學習筆記列表和元組

python列表(list)是Python以及其他語言中最常用到的數據結構之一。Python使用使用中括號 [ ] 來解析列表。列表是可變的(mutable)——可以改變列表的內容。對應操作:1、查([]切片操作) name = [‘tom‘,‘張三‘,‘joker‘,‘李四‘] print(name[2])

Python學習筆記:import sys模組argv、path、platform、exit

  sys模組是Python標準庫中自帶的一個模組。   sys模組包括了一組非常實用的服務,內含很多函式方法和變數,用來處理Python執行時配置以及資源,從而可以與當前程式之外的系統環境互動,如:Python直譯器。   一、匯入sys模組 import sys #匯入sys模組 dir(sy

斯坦福大學-自然語言處理與深度學習CS224n 筆記 第二 詞向量word vector

課程概要 1、單詞含義 2、word2vec介紹 3、word2vec目標函式的梯度推導 4、目標函式優化:梯度下降法 一、單詞含義 含義(meaning)指的是由單詞表達的觀點。我們一般使用單詞含義的方法是,使用像WordNet那樣的分類詞典,給每個單詞對應的上下義關係以及同義

python學習筆記第一_Phoenix-晶

Python 概念: 是一種面向物件、直譯式計算機程式語言,具有近二十年的發展歷史,成熟且穩定。它包含了一組完善而且容易理解的標準庫,能夠輕鬆完成很多常見的任務。它的語法簡捷和清晰,儘量使用無異義的英語單詞,與其它大多數程式設計語言使用大括號不一樣,它使用縮排來定義語句塊。

Python程式設計從入門到實踐》學習筆記詳解-專案篇下載資料

上兩篇文章分別介紹了《Python程式設計從入門到實踐》的語法篇和專案篇(資料視覺化),這篇文 #專案二 下載資料 #訪問並可視化csv和json這兩種常見格式儲存的資料 #csv #提取並讀取資料 import csv filename='filename.c

Python學習筆記】四、對映Mapping

• 通過名字來引用值得資料結構稱為對映字典(Dict)•   字典是鍵值對(key-value pair)的無序可變集合。(1)字典的操作①字典的建立• 字典中的每個元素包含兩部分:鍵和值。• 鍵和值用冒號分隔,元素間用逗號分隔,所有元素放在一對大括號中。d = {key1

Python學習筆記——pycharm web伺服器搭建5:概括開發流程

開發流程: 利用pycharm建立專案 建立應用 (python manage.py startapp 應用名稱)建立後在專案settings中註冊 模型類的定義 (在應用的models.py中定義

Python學習筆記】三、序列Sequence

3.1序列簡介•   資料結構是通過某種方式組織在一起的元素的集合。•   容器(Container)是一種Python的資料結構,基本上是包含其他物件的任意物件。序列和對映(如字典)是兩類主要的容器。集合(Set)也是容器型別。•   序列是最基本的資料結構,是通過對資料元

Python學習筆記——pycharm web伺服器搭建6:Django模型知識點

這篇文章用於記錄Django模型相關知識,發現有需要補充的會隨時新增 僅用於記錄,以後方便自己查閱,至於大家能不能看懂,我覺得隨緣就行。 1、自定義模型管理器 一般情況下,我們定義的模型類如下 class BookInfo(models.Mo

Python學習筆記——pycharm web伺服器搭建9:其他知識點

一、靜態檔案 我們要在網頁中載入一張圖,如何做? settings中新增程式碼: STATIC_URL = '/static/'(已經存在) STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static

Framework7學習筆記之 搜索欄舊版

spa 結果 ... 視圖 nbsp str -i type bar 一:搜索欄 應用場景:一般用於在含有列表的頁面中進行內容檢索。 二:定義搜索欄 搜索欄應該放到“.page”內,“.page-content”前; 在page-conten

菜鳥之路——Python學習之串口通信與STC89C51源碼及打包發布試水

方式 lin enc error: pri 打開端口 端口號 兩個 關閉 想做上位機控制系統,就拿51來試試水。 Python環境:Win10+Python 3.6.4(64位)+serial,pyserial 一、上位機程序的編寫 import serial ser =

CSS學習筆記:溢位文字省略text-overflow

在CSS3中,text-overflow屬性的基本語法如下: clip:表示不顯示省略文字,簡單的裁切。 ellipsis:表示物件文字溢位時顯示省略標記,省略標記插入的位置是最後一個字元。 ellipsis-word:表示當物件文字溢位時顯示省略標記,省略標記插入的

HTML學習筆記 AND 2018-11-1523:02

一、form表單 form表單:用於提交請求。 常用屬性: name:定義表單的名稱 action:規定提交表單向何處傳送表單資料。 method:灰頂提交方式,一般有兩種提交方式(Post)和(get)。 二、input標籤 例如: <form action="" name="

HTML學習筆記 AND 2018-11-1320:34

HTML學習筆記 2018-11-13(21:17) 一、圖形標籤 1.(img) img標籤:圖片標籤,用於頁面上引入圖片。 常用屬性: src: 設定要引入的圖片url(路徑) alt: 設定影象的替代文字,如果圖片找不到,或者不存在,替代文字才會出現。 width: 設定圖片的寬度。

前端學習筆記day03 水晶球製作盒子陰影

1. 水晶球 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Document</title> <st