python學習筆記——慕課的一些介紹(入門級)
本筆記整理自MOOC上的Python課程,本課程介紹了Python的入門級經典程式設計例子、Python基礎語法以及Python的計算生態。
課程連結為: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-15(23:02)
一、form表單 form表單:用於提交請求。 常用屬性: name:定義表單的名稱 action:規定提交表單向何處傳送表單資料。 method:灰頂提交方式,一般有兩種提交方式(Post)和(get)。 二、input標籤 例如: <form action="" name="
HTML學習筆記 AND 2018-11-13(20: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