零. note
- jupyter nb必須有網才能用,因爲在瀏覽器裏
- jupyter菜單欄中help裏有快捷鍵幫助
- Markdown中關於換行:
- Markdown中的空格:在全角模式(shift+space)下使用空格,此時一個空格=半角的兩個空格大小
快捷鍵shortcuts
note:
H:跳出快捷鍵界面=在菜單欄的help中選擇
O: 全部摺疊或顯示cell的輸出,=雙擊隱藏
切換cell的命令行模式與編輯模式:
ctrl+enter:只運行當前cell
shift+enter:運行當前cell並選中下一個cell,若沒有就創建一個新cell(=B:在下面new a cell)
alt+enter:運行當前cell並總是新創建一個cell,且進入編輯模式
note:
crtl+/:選中整段代碼按行註釋(=R中的shift+ctrl+C)
合併cell:命令行模式中shift+M,合併最近兩次選擇過的cell
拆分cell:編輯模式中ctrl+shift+連接符(短橫線-,0旁邊的,減號)在鼠標處拆分
一.?的用途
1.顯示對象的概要信息
顯示該對象的概要信息,包括類型/字符串表示/長度/docstring, 類似於summary+help
print?
def add_numbers(a,b): # 自定義函數
''' 該函數的說明,包括實現功能,輸入參數,返回值等用於解釋說明,用於概要中的docstring
Add two numbres together
Returns
--------
the_sum:type of arguments
'''
return a+b
add_numbers? # 顯示該函數的概要信息
add_numbers?? # 兩個問號將docstring替換爲函數的源代碼Source
2.不完全匹配命名空間(與通配符結合),可以彌補tab補全(完全匹配)的缺陷
# 顯示NumPy中函數名包含load的函數名列表,*表示匹配任意個數的任意字符
np.*load*?
二. 查看Python版本
!python --version # 查看python版本,命令行很嚴謹,空格也不能多
'''
或者在sys模塊中查看
import sys
print(sys.version_info)
print(sys.version)
'''
三. IPython的魔術命令
用%作爲前綴
%%time :將會給出cell的代碼運行一次所花費的時間。
%time : 檢查單句代碼的執行時間,是隨機變量,每次都不一樣,爲了更精確,使用timeit重複測量時間,產生更準確的平均運行時間
%timeit :對於兩個執行時間都非常短的語句,多次執行更易於看出時間的差別。對於多次允許單個語句計算平均執行時間與標準差,在估算代碼最短運行時間時有用。
# np.dot(a,a) : a與b的點積:兩個向量的內積或兩個矩陣的乘積
a = np.random.randn(100,100) # 生成100*100的矩陣,每個值服從N(0,1)
%timeit np.dot(a,a) # 0ns,時間太短
# 14.8 µs ± 273 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
# 默認運行7次,每次100000個循環,每個循環執行該語句十萬次,共7*100000*10000,取最好的7次循環計算均值標準差?
# 魔術命令使用?查看概要信息
%timeit?