Python 是由Guido Van Rossum在 90 年代早期設(shè)計(jì)席楚,現(xiàn)在是最常用的編程語(yǔ)言之一。特別是人工智能的火熱税稼,再加之它的語(yǔ)法簡(jiǎn)潔且優(yōu)美烦秩,實(shí)乃初學(xué)者入門(mén)AI必備的編程語(yǔ)言垮斯。
Python基本語(yǔ)法
標(biāo)識(shí)符
第一個(gè)字符必須是英文字母或下劃線 _ 。標(biāo)識(shí)符的其他的部分由字母只祠、數(shù)字和下劃線組成兜蠕。標(biāo)識(shí)符對(duì)大小寫(xiě)敏感。
保留字
保留字即關(guān)鍵字抛寝,不能用作任何標(biāo)識(shí)符名稱熊杨。keyword 模塊可以輸出當(dāng)前版本的所有關(guān)鍵字:
importkeyword
print(keyword.kwlist)
['False','None','True','and','as','assert','break','class','continue','def','del','elif','else','except','finally','for','from','global','if','import','in','is','lambda','nonlocal','not','or','pass','raise','return','try','while','with','yield']
注釋
單行注釋采用#,注釋是給人看的盗舰,可以是任意內(nèi)容晶府,解釋器會(huì)忽略掉注釋。
多行注釋采用'''或"""钻趋。
#print("我是注釋川陆,不會(huì)執(zhí)行")
print("正常執(zhí)行代碼")
'''
這是多行注釋,用三個(gè)單引號(hào)
這是多行注釋蛮位,用三個(gè)單引號(hào)
'''
print("Hello, World!")
"""
這是多行注釋较沪,用三個(gè)雙引號(hào)
這是多行注釋,用三個(gè)雙引號(hào)
"""
print("Hello, World!")
行與縮進(jìn)
Python 使用縮進(jìn)來(lái)表示代碼塊而不是大括號(hào) {}失仁∈縮進(jìn)的空格數(shù)是可變的,但是同一個(gè)代碼塊的語(yǔ)句必須是相同的縮進(jìn)空格數(shù)萄焦。建議四個(gè)空格數(shù)骡苞。
注意Tab和四格空格混用會(huì)報(bào)錯(cuò),這個(gè)錯(cuò)誤還不容易被察覺(jué)楷扬。
輸入輸出
通常是一條語(yǔ)句一行解幽,如果語(yǔ)句很長(zhǎng),我們可以使用反斜杠(\)來(lái)實(shí)現(xiàn)多行語(yǔ)句烘苹。在 , {}, 或 中的多行語(yǔ)句躲株,則不需要反斜杠。
sentence1="I love "+ \
"python"
sentence2 = ["I","love",
"python"]
基本數(shù)據(jù)類型
計(jì)算機(jī)程序要處理不同的數(shù)據(jù)镣衡,需要定義不同的數(shù)據(jù)類型霜定。Python 中的變量不需要聲明,每個(gè)變量在使用前都必須賦值廊鸥,變量賦值以后該變量才會(huì)被創(chuàng)建望浩。
Python中變量就是變量,沒(méi)有類型惰说,所說(shuō)的"類型"是變量所指的內(nèi)存中對(duì)象的類型磨德。等號(hào)(=)用來(lái)給變量賦值。等號(hào)(=)運(yùn)算符左邊是一個(gè)變量名,等號(hào)(=)運(yùn)算符右邊是存儲(chǔ)在變量中的值。
數(shù)字類型(Number)
數(shù)字類型是不可變數(shù)據(jù)典挑。Python3 支持 int(整數(shù))右蒲、float(浮點(diǎn)數(shù))搓萧、bool(布爾)、complex(復(fù)數(shù)),數(shù)值類型的賦值和計(jì)算是很直觀的劳澄。
#int(整數(shù))
a =3
# float(浮點(diǎn)數(shù))b =3.5
#bool(布爾)
c = True#complex(復(fù)數(shù))
d =4+3j
print(a, b, c, d)#內(nèi)置的type函數(shù)可以用來(lái)查詢變量所指的對(duì)象類型
print(type(a),type(b),type(c),type(d))
#還可以用 isinstance 來(lái)判斷#isinstance 和type的區(qū)別在于:type不會(huì)認(rèn)為子類是一種父類類型怒坯,isinstance會(huì)認(rèn)為子類是一種父類類型
print(isinstance(a,int))
print(isinstance(a, float))
關(guān)于數(shù)值運(yùn)算借嗽,可以同時(shí)為多個(gè)變量賦值吊档,如a, b = 1, 2。一個(gè)變量可以通過(guò)賦值指向不同類型的對(duì)象在孝。
除法包含兩個(gè)運(yùn)算符:/ 返回一個(gè)浮點(diǎn)數(shù)擎宝,// 返回一個(gè)整數(shù)』肼辏混合計(jì)算時(shí)绍申,Python會(huì)把整型轉(zhuǎn)換成為浮點(diǎn)數(shù)。
# 加
print("Add operation: 5 + 4 = ",5+4)
# 減print("Sub operation: 5 - 4 = ",5-4)
# 乘print("Mul operation: 5 * 4 = ",5*4)
# 除顾彰,得到一個(gè)浮點(diǎn)數(shù)print("Div operation: 5 / 4 = ",5/4)
# 除极阅,得到一個(gè)整數(shù)print("Div operation: 5 // 4 = ",5//4)
# 取余print("Mod operation: 5 % 4 = ",5%4)
# 乘方print("Pow operation: 5 ** 4 = ",5**4)
字符串類型(String)
Python 沒(méi)有單獨(dú)的字符類型,一個(gè)字符就是長(zhǎng)度為1的字符串涨享。字符串用單引號(hào) ' 或雙引號(hào) " 括起來(lái)筋搏。
s1 ="I love python"
s2 ='I love python'
print(s1)
print(s2)
#索引值以0為開(kāi)始值,-1為從末尾的開(kāi)始位置
print("s1首字母字符:", s1[0])
print("s1末尾字母字符:", s1[-1])
print("輸出從第三個(gè)開(kāi)始到第五個(gè)的字符:", s1[2:5])
#加號(hào) + 是字符串的連接符#星號(hào) * 表示復(fù)制當(dāng)前字符串厕隧,緊跟的數(shù)字為復(fù)制的次數(shù)str ="I love python "
print("連接字符串:", str +"!!!")
print("輸出字符串兩次:", str *2)
#反斜杠 \ 轉(zhuǎn)義特殊字符#若不想讓反斜杠發(fā)生轉(zhuǎn)義奔脐,可以在字符串前面添加一個(gè) rprint('I\nlove\npython')
print("反斜杠轉(zhuǎn)義失效:",r'I\nlove\npython')
列表類型(List)
列表類型是一種有序的集合。列表中元素的類型可以不相同吁讨,它支持?jǐn)?shù)字髓迎,字符串甚至可以包含列表(所謂嵌套)。列表是寫(xiě)在方括號(hào) 之間建丧、用逗號(hào)分隔開(kāi)的元素列表排龄。
list_a=[1,2,3,4,5,6]
list_b=[7,8,9]
print(list_a)
print(list_b)
#列表可以被索引和截取,列表被截取后返回一個(gè)包含所需元素的新列表
print("輸出完整列表:", list_a)
print ("輸出列表第一個(gè)元素:",list_a[0])
print("從第二個(gè)開(kāi)始輸出到第三個(gè)元素:",list_a[1:3])
print("輸出從第三個(gè)元素開(kāi)始的所有元素:",list_a[2:])
print("連接兩次列表:",list_a*2)
print("連接列表:",list_a+list_b)
#列表中的元素是可以改變的
list_a=[1,2,3,4,5,6]
print("變化前:",list_a)
list_a[0]=0
list_a[2:5]=[7,8,9]
print("變化后:",list_a)
#append方法:在列表末尾添加新的對(duì)象
list_a=[1,2,3,4,5,6]
print("添加前:",list_a)
list_a.append(7)
list_a.append(8)
print("添加后:",list_a)
#del語(yǔ)句:刪除列表元素
list_a=[1,2,3,4,5,6]
print("刪除前:",list_a)
dellist_a[0]
print("刪除后:",list_a)
#len方法:計(jì)算列表長(zhǎng)度
list_a=[1,2,3,4,5,6]
print("列表長(zhǎng)度:",len(list_a))
#max方法:返回列表元素最大值翎朱。min方法:返回列表元素最小值
list_a=[1,2,3,4,5,6]
print("列表最小值:",min(list_a))
print("列表最大值:",max(list_a))
#list方法:將字符串轉(zhuǎn)換為列表
str='123456'
print("轉(zhuǎn)換后:",list(str))
#count方法:統(tǒng)計(jì)某個(gè)元素在列表中出現(xiàn)的次數(shù)
list_a=[1,1,2,3,4,5,6]
print("1在list_a中出現(xiàn)的次數(shù):",list_a.count(1))
#index方法:從列表中找出某個(gè)值第一次出現(xiàn)的索引位置
list_a=[1,2,3,4,5,6]
print("3第一次出現(xiàn)的位置:",list_a.index(3))
#insert方法:將對(duì)象插入列表指定位置
list_a=[1,2,3,4,5,6]
print("插入前:",list_a)
list_a.insert(0,7)
print("插入后:",list_a)
#pop方法:移除列表中的一個(gè)元素(默認(rèn)最后一個(gè)元素)橄维,并且返回該元素的值
list_a=[1,2,3,4,5,6]
print("默認(rèn)移除最后一個(gè)元素:",list_a.pop)
print("指定移除第一個(gè)元素:",list_a.pop(0))
#reverse方法:翻轉(zhuǎn)列表中元素
list_a=[1,2,3,4,5,6]
print("翻轉(zhuǎn)前:",list_a)
list_a.reverse
print("翻轉(zhuǎn)后:",list_a)
#sort方法:該方法沒(méi)有返回值,但是對(duì)原列表進(jìn)行排序
list_a=[1,3,2,5,4,6]
print("排序前:",list_a)
list_a.sort
print("升序排序:",list_a)
list_a.sort(reverse=True)
print("降序排序:",list_a)
元組類型(Tuple)
元組類型是不可變類型拴曲,元組使用小括號(hào)争舞。
tup1 = (1,2,3,4,5)
# 元組中只包含一個(gè)元素時(shí),需要在元素后面添加逗號(hào),否則括號(hào)會(huì)被當(dāng)作運(yùn)算符使用tup2 = (50,)
tup3 = (50)
print(type(tup2))
print(type(tup3))
#訪問(wèn)元組:使用下標(biāo)索引來(lái)訪問(wèn)元組中的值tup1 = (1,2,3,4,5)
print("tup1[0]: ", tup1[0])
print("tup1[1:3]: ", tup1[1:3])
#修改元組:元組中的元素值是不允許修改的澈灼,但可以對(duì)元組進(jìn)行連接組合tup1 = (1,2)
tup2 = ('a','b')
# 創(chuàng)建一個(gè)新的元組tup3 = tup1 + tup2print(tup3)#刪除元組:元素值是不允許刪除竞川,但可以使用del語(yǔ)句來(lái)刪除整個(gè)元組tup1 = (1,2,3,4,5)
print(tup1)
del tup1print("刪除后的元組 tup1: ")
print(tup1)
#元組運(yùn)算符:如 + 號(hào)和 * 號(hào)tup1 = (1,2)
tup2 = ('a','b')
print("連接:", tup1 + tup2)
print("復(fù)制3次:", tup1 *3)
#len:計(jì)算元組元素個(gè)數(shù)
tup1 = (1,2)
print("元組長(zhǎng)度:",len(tup1))
#max方法: 返回元組中元素最大值。min方法: 返回元組中元素最小值
tup1 = (1,2)
print("元組最大值:",min(tup1))
print("元組最大值:",max(tup1))
#tuple方法:將列表轉(zhuǎn)換為元組list1= ['1','2']
print("轉(zhuǎn)換前:", list1)
tup1 = tuple(list1)print("轉(zhuǎn)換后:", tup1)
集合類型(Set)
集合類型是無(wú)序的不重復(fù)元素序列。使用大括號(hào) {} 或者 set 函數(shù)創(chuàng)建集合流译。
注意:創(chuàng)建一個(gè)空集合必須用 set 而不是 {},因?yàn)?{} 是用來(lái)創(chuàng)建一個(gè)空字典者疤。
a={'a','b','c'}
b=set('abc')
c=setd={}print(a)
print(b)
print(type(a),type(b),type(c),type(d))
#無(wú)序性a = set('python')
print(a)
#互異性a = set('good')
print(a)
#add方法:為集合添加元素
a = set('good')
a.add('p')
print(a)
#update方法:給集合添加元素a = set('good')
a.update('p')
print("添加一個(gè)元素", a)
a.update(['a','b','c'])
print("添加多個(gè)元素", a)
a.update(['H','e'], {'l','l','o'})
print('添加列表和集合', a)
#remove方法:移除指定元素
s = {'P','y','t','h','o','n'}
s.remove('t')
print("去掉t", s)
#pop方法:隨機(jī)移除元素s = {'P','y','t','h','o','n'}
print("隨機(jī)刪除元素:", s.pop)
#clear方法:移除集合中的所有元素s = {'P','y','t','h','o','n'}
s.clearprint("清空集合:", s,len(s))
#issubset方法:判斷指定集合是否為該方法參數(shù)集合的子集A = set('abcd')
B = set('cdef')
C = set('ab')
print("C是否A子集:", C.issubset(A))
#union方法:返回兩個(gè)集合的并集福澡,也可以用 |print("A和B并集:", A|B)
print("A和B并集:",A.union(B))
#intersection方法:返回集合的交集,也可以用&print("A和B交集:", A&B)
print("A和B交集:",A.intersection(B))
#difference方法:差集驹马,也可以用-print("A和B差集:", A-B)
print("A和B差集:",A.difference(B))
字典類型(Dictionary)
字典類型是可變類型革砸。在同一個(gè)字典中,鍵(key)必須是唯一的糯累。
字典的每個(gè)鍵值(key=>value)對(duì)用冒號(hào)(:)分割算利,每個(gè)對(duì)之間用逗號(hào)(,)分割,整個(gè)字典包括在花括號(hào)({})中泳姐。
# 用{}創(chuàng)建字典
dict1 = {"a":"1","b":"2"}
print(dict1)
# 用內(nèi)置函數(shù)dictdict2 = dict(a="1", b="2")
print(dict2)
#訪問(wèn)字典里的值dict1 = {"a":"1","b":"2"}
print("dict1['a']: ", dict1['a']) #如果沒(méi)有會(huì)報(bào)錯(cuò)
print("dict1.get('a'): ", dict1.get('a')) #如果沒(méi)有返回None
print("獲取所有的key值:", dict1.keys)
print("獲取所有的value值:", dict1.values)
#增加新的鍵/值對(duì)dict1 = {"a":"1","b":"2"}
print("增加前:", dict1)
dict1['c'] =3
print("增加后:", dict1)
#刪除字典指定元素dict1 = {"a":"1","b":"2"}
print("刪除前:", dict1)
del dict1['a']
print("刪除后:", dict1)
#清空字典dict1 = {"a":"1","b":"2"}
print("清空前:", dict1)
dict1.clearprint ("清空后:", dict1)
#dir方法:查看dict所有方法print(dir(dict))
條件判斷和循環(huán)
條件控制:通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定執(zhí)行的代碼塊效拭。
每個(gè)條件后面要使用冒號(hào):,表示接下來(lái)是滿足條件后要執(zhí)行的語(yǔ)句塊胖秒。使用縮進(jìn)來(lái)劃分語(yǔ)句塊缎患,相同縮進(jìn)數(shù)的語(yǔ)句在一起組成一個(gè)語(yǔ)句塊。在Python中沒(méi)有switch–case語(yǔ)句阎肝。
#if操作
x =5
if x >3:
print("yes")
#if嵌套:if...elif...else
#也可以把if...elif...else結(jié)構(gòu)放在另外一個(gè)if...elif...else結(jié)構(gòu)中
x =99
if x<60:
print("不及格")
elif x<80:
print("良好")
else:
print("優(yōu)秀")
#while循環(huán)sum =0
counter =1
while counter <=10:
sum = sum + countercounter +=1
print("1 到 10 之和為: %d"% sum)
#while 循環(huán)使用else語(yǔ)句
count =0
while count <5:
print(count," 小于 5")
count = count +1
else:
print(count," 大于或等于 5")
#for語(yǔ)句:for循環(huán)可以遍歷任何序列(列表挤渔、字符串等)
str ='python'
list1 = ['I','love','python']
print("遍歷字符串")
fori in str:
print(i)
print("遍歷列表")
fori in list1:
print(i)
#range函數(shù):遍歷數(shù)字序列,可以使用內(nèi)置range函數(shù)生成數(shù)列
fori inrange(5):
print(i)
#也可以使用range指定區(qū)間的值
fori inrange(2,6):
print(i)
#也可以使range以指定數(shù)字開(kāi)始并指定不同的增量(步長(zhǎng)),可以是負(fù)數(shù)
fori inrange(0,10,3):
print(i)
fori inrange(-10,-100,-30):
print(i)
#可以結(jié)合range和len函數(shù)以遍歷一個(gè)序列的索引
list1 = ['I','love','Python']
fori inrange(len(list1)):
print(list1[i])
#break語(yǔ)句:跳出for和 while 的循環(huán)體
list1 = ['I','love','Python']
fori in list1:
ifi =='love':
breakprint('當(dāng)前為 :', i)
#continue語(yǔ)句:跳過(guò)當(dāng)前循環(huán)塊中的剩余語(yǔ)句风题,然后繼續(xù)進(jìn)行下一輪循環(huán)
var=10
whilevar>0:
var=var-1
# 變量為5時(shí)跳過(guò)輸出
ifvar==5:
continueprint ('當(dāng)前值 :',var)
print("hello world!")
#pass 語(yǔ)句:pass是空語(yǔ)句判导,是為了保持程序結(jié)構(gòu)的完整性,pass 不做任何事情沛硅,一般用做占位語(yǔ)句while True:pass # 等待鍵盤(pán)中斷 (Ctrl+C)
函數(shù)
函數(shù)是組織好的眼刃,可重復(fù)使用的,用來(lái)實(shí)現(xiàn)單一摇肌,或相關(guān)聯(lián)功能的代碼段鸟整。函數(shù)能提高應(yīng)用的模塊性,和代碼的重復(fù)利用率朦蕴。
Python提供了許多內(nèi)建函數(shù)篮条,比如“print”,也可以自己創(chuàng)建函數(shù)吩抓,這被叫做用戶自定義函數(shù)涉茧。
#1.無(wú)參函數(shù)
# 用def定義新函數(shù)defmy_func:
print("test...")
return1
# 調(diào)用函數(shù)my_func#2.有參函數(shù)
# 關(guān)鍵字參數(shù)、默認(rèn)參數(shù)疹娶、可變參數(shù)伴栓。# 關(guān)鍵字參數(shù): 調(diào)用時(shí)指定參數(shù)的名稱,且與函數(shù)聲明時(shí)的參數(shù)名稱一致。使用關(guān)鍵字參數(shù)允許函數(shù)調(diào)用時(shí)參數(shù)的順序與聲明時(shí)不一致钳垮。defmy_func1(x, y):
print(x)
print(y)
# 標(biāo)準(zhǔn)調(diào)用my_func1(1,2)
# 關(guān)鍵字調(diào)用defmy_func1(y =1, x =2)
# 默認(rèn)參數(shù):在函數(shù)聲明時(shí)惑淳,指定形參的默認(rèn)值,調(diào)用時(shí)可不傳入?yún)?shù)(使用默認(rèn)值)饺窿。defmy_func2(x, y=1):
print(x+y)
my_func2(2)
#可變參數(shù):變參數(shù)就是傳入的參數(shù)個(gè)數(shù)是可變的歧焦,可以是1個(gè)、2個(gè)到任意個(gè)肚医。
#在參數(shù)前面加了一個(gè)*號(hào)绢馍。在函數(shù)內(nèi)部,參數(shù)numbers接收到的是一個(gè)tuple肠套。defmy_func3(*numbers):
sum =0
forn in numbers:
sum = sum + n * nreturn sum# 函數(shù)調(diào)用my_func3 #返回結(jié)果0
my_func3(1,2) #返回結(jié)果5
# 關(guān)鍵字參數(shù):可變參數(shù)允許你傳入0個(gè)或任意個(gè)參數(shù)舰涌,這些可變參數(shù)在函數(shù)調(diào)用時(shí)自動(dòng)組裝為一個(gè)tuple。而關(guān)鍵字參數(shù)允許你傳入0個(gè)或任意個(gè)含參數(shù)名的參數(shù)你稚,這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動(dòng)組裝為一個(gè)dict瓷耙。
defmy_func4(x, **kw):
print('x:', x,'other:', kw)
#除了必選參數(shù)x外,還接受關(guān)鍵字參數(shù)kw刁赖。在調(diào)用該函數(shù)時(shí)哺徊,可以只傳入必選參數(shù)。my_func4(8)
#也可以傳入任意個(gè)數(shù)的關(guān)鍵字參數(shù)my_func4(8, z="66")
類
類(Class):用來(lái)描述具有相同的屬性和方法的對(duì)象的集合乾闰。它定義了該集合中每個(gè)對(duì)象所共有的屬性和方法落追。對(duì)象是類的實(shí)例。
類變量:類變量在整個(gè)實(shí)例化的對(duì)象中是公用的涯肩。類變量定義在類中且在函數(shù)體之外轿钠。類變量通常不作為實(shí)例變量使用。
數(shù)據(jù)成員:類變量或者實(shí)例變量, 用于處理類及其實(shí)例對(duì)象的相關(guān)的數(shù)據(jù)病苗。
#創(chuàng)建類Student
class Student(object):"學(xué)生成績(jī)"
def __init__(self, name, score):
self.name = name
self.score = scoredef print_score(self):
print('%s: %s'% (self.name,self.score))
#創(chuàng)建Student類的對(duì)象bartjack = Student('Bart Simpson',59)
#創(chuàng)建Student類的對(duì)象lisabob = Student('Lisa Simpson',87)
#訪問(wèn)類的屬性jack.print_scorebob.print_score# 添加一個(gè)'age'屬性
jack.age =7
print("添加一個(gè) 'age' 屬性:",hasattr(jack,'age'))
# 修改'age'屬性
jack.age =8
print("修改 'age' 屬性:",getattr(jack,'age'))
# 刪除'age'屬性
del jack.ageprint("刪除 'age' 屬性:",hasattr(jack,'age'))
類的繼承
面向?qū)ο蟮木幊處?lái)的主要好處之一是代碼的重用疗垛,實(shí)現(xiàn)這種重用的方法之一是通過(guò)繼承機(jī)制。
通過(guò)繼承創(chuàng)建的新類稱為子類或派生類硫朦,被繼承的類稱為基類贷腕、父類或超類。
#編寫(xiě)一個(gè)名為Fruit的class咬展,執(zhí)行run方法可以直接打印
#編寫(xiě)Apple和Orange類時(shí)泽裳,就可以直接從Fruit類繼承
classFruit(object):
'父類Animal'
def run_father(self):print('調(diào)用父類方法...')
classApple(Fruit):
'子類1 Apple'
def run_son(self):print('調(diào)用子類方法...')
classOrange(Fruit):
'子類2 Orange'
def run_son(self):print('調(diào)用子類方法...')
#實(shí)例化子類apple = Appleorange = Orange#調(diào)用父類方法apple.run_fatherorange.run_father#調(diào)用子類方法apple.run_sonorange.run_son
方法重寫(xiě)
如果父類方法的功能不能滿足你的需求,你可以在子類重寫(xiě)你父類的方法
classFruit(object):
'父類Animal'
defrun(self):
print('調(diào)用父類方法...')
classApple(Fruit):
'子類1 Apple'
defrun(self):
print('子類1 Apple 重寫(xiě)父類方法...')
classOrange(Fruit):
'子類2 Orange'
defrun(self):
print('子類2 Orange 重寫(xiě)父類方法...')
#實(shí)例化子類
apple = Apple
orange = Orange
#調(diào)用父類方法
apple.run
orange.run
模塊
Python 模塊(Module)破婆,是一個(gè) Python 文件涮总,以 .py 結(jié)尾,包含了 Python 對(duì)象定義和Python語(yǔ)句祷舀。模塊讓你能夠有邏輯地組織你的 Python 代碼段瀑梗。
把相關(guān)的代碼分配到一個(gè)模塊里能讓你的代碼更好用烹笔,更易懂。模塊能定義函數(shù)抛丽,類和變量谤职,模塊里也能包含可執(zhí)行的代碼。
# 導(dǎo)入模塊
importmath
# 現(xiàn)在可以調(diào)用模塊里包含的函數(shù)了print("求e的n次冪:",math.exp(1))
# from…import 語(yǔ)句:從模塊中導(dǎo)入一個(gè)指定的部分到當(dāng)前命名空間中# 導(dǎo)入模塊中的特定函數(shù)frommathimportexp
# 現(xiàn)在可以直接使用該函數(shù)了print("求e的n次冪:",exp(1))
# from…import* 語(yǔ)句:導(dǎo)入一個(gè)模塊中的所有項(xiàng)目亿鲜。然而這種聲明不該被過(guò)多地使用frommathimport *
最后多說(shuō)一句允蜈,小編是一名python開(kāi)發(fā)工程師,這里有我自己整理了一套最新的python系統(tǒng)學(xué)習(xí)教程狡门,包括從基礎(chǔ)的python腳本到web開(kāi)發(fā)陷寝、爬蟲(chóng)锅很、數(shù)據(jù)分析其馏、數(shù)據(jù)可視化、機(jī)器學(xué)習(xí)等爆安。想要這些資料的可以加小編的python學(xué)習(xí)交流企鵝群:1075110200叛复,配套資料可以找管理小姐姐免費(fèi)領(lǐng)取。