1. import用法
使用 Python 進行編程時,有些功能不必自己實現,可以藉助 Python 現有的標準庫或者其他人提供的第三方庫。
最常用的格式包括2種
(1)直接使用import加載模塊,需要使用模塊功能時,採用(模塊名.函數名)或者(模塊別名.函數名)的格式,如下:
import 模塊名
import 模塊名 as 別名
import 模塊.子模塊 as 別名
使用方法舉例如下:
import numpy as np # 加載numpy模塊,並重命名爲np
import torch # 加載torch模塊
import torch.nn as nn # 加載torch.nn模塊
word_freqs = np.array(list(word_freqs.values())) # 使用numpy的array函數
a = torch.randn(1,2,3,4,5) # 使用torch模塊
self.conv1 = nn.Conv2d(1, 20, 5) # 使用torch.nn模塊
(2)對於某個模塊中常用的成員,可以單獨拿出,這樣在使用時可以直接使用成員的函數名,不需在前面加上模塊名,如下:
from 模塊名 import 成員名
from 模塊名 import 成員名 as 別名
使用方法舉例如下:
from torch.nn import Conv2d # 上面例子中的函數Conv2d單獨拿出
self.conv1 = Conv2d(1, 20, 5) # 使用時不用加模塊名nn
form...import 導入模塊成員時,支持一次導入多個成員:
from 模塊名 import 成員名1,成員名2
from 模塊名 import 成員名1 as 別名1,成員名2 as 別名2
注意:可以使用 ( from 模塊名 import * ) 導入模塊內的所有成員,但不建議使用,因爲它存在潛在的風險。比如同時導入module1 和 module2 內的所有成員,假如這兩個模塊內都有一個A() 函數,那麼當在程序中執行A()時,無法確認這個函數到底是 module1 模塊中的還是 module2 模塊中的。所以導入模塊內所有成員時,應直接使用 ( import 模塊名 ) 的方式。
如果需要分別調用這兩個模塊中的 A() 函數,可以這樣做:
import module1
import module2
module1.A()
module2.A()