143分鐘入門python,最簡(jiǎn)單的科普教程!

P1為什么要學(xué)編程
編程:寫代碼,讓計(jì)算機(jī)按照你的代碼做事。
機(jī)器語(yǔ)言:0和1
匯編語(yǔ)言
編程語(yǔ)言:python,c語(yǔ)言,c++,java,php等。也許需要學(xué)不止一門。
P2選擇python的原因
擅長(zhǎng)處理數(shù)據(jù)、大數(shù)據(jù)、人工智能
python有開(kāi)源社區(qū)
膠水語(yǔ)言,可以與其他語(yǔ)言搭配使用
簡(jiǎn)潔
P3安裝Jupyter(t通過(guò)安裝Anaconda)
P4Jupter的基礎(chǔ)使用
New
A
B
DD
Ctrl+Enter
Shift+Enter
代碼、標(biāo)記
選中單元格與編輯單元格
P5變量【哪些可以作為變量:字符串可以,字符串與數(shù)字的搭配可以,中文字符串可以,英文字符串可以,中英搭配字符串可以,中英數(shù)字搭配字符串也可以。純數(shù)字不可以。且字符串內(nèi)部不可以空格、字符串不能有符號(hào)?!?/p>
變量理解:①不定②可以賦值
什么可以作為變量:
變量可以用字母,大小寫都行(大寫和小寫算作兩個(gè)不同的變量),不能用數(shù)字,因?yàn)閿?shù)字是已有的數(shù)據(jù)類型,還可以用x1,x2,x3這樣的。
變量多次賦值的話,之后的賦值會(huì)覆蓋之前的賦值。
變量的賦值:
①用=。
=:意思是把右邊的值賦給左邊的變量。
變量的提取:
①輸入變量名,直接執(zhí)行即可。
②用print函數(shù)。
print(x)
執(zhí)行,即可輸出x的值。
python2和python3區(qū)別:
①python2的print函數(shù)不用括號(hào)
②python2的除號(hào)(/)是顯示整除數(shù)。
多個(gè)變量賦值與提取:
①多變量賦值
x,y,z=1,2,3
或者
x,y,z=(1,2,3)
【注意:一定是英文逗號(hào)】
②多變量提取
1輸入:
x,y,z=1,2,3
x
y
z
輸出:
3
【意思是:分次提取多個(gè)變量,這欄代碼執(zhí)行結(jié)果只顯示最后一個(gè)變量的,因?yàn)榍懊娴拇a執(zhí)行結(jié)果被覆蓋了】
一次提取多個(gè)變量:
法一:
x,y,z
法二:
print(x,y,z)
P6數(shù)據(jù)類型
整型數(shù)、浮點(diǎn)數(shù)、布爾值
整型數(shù):整數(shù),包括負(fù)整數(shù),0,正整數(shù)。
浮點(diǎn)數(shù):小數(shù)。
布爾值:True,False,記得一定要大寫。
四個(gè)函數(shù):
type():查看數(shù)據(jù)類型
int():輸出整數(shù)部分【不會(huì)對(duì)原變量造成任何影響】
bool():判斷正誤,正確或True則輸出True,錯(cuò)誤或False則輸出False。
float():給整型數(shù)添加個(gè).0
【與print()函數(shù)搭配類比print(int(x))】
P7字符串
字符串:一串字符
申明字符串:如何告訴編譯器你這行東西是字符串?加引號(hào)。雙引號(hào)單引號(hào)都可以。(當(dāng)有雙引號(hào)時(shí),雙引號(hào)優(yōu)先,雙引號(hào)內(nèi)部單引號(hào)失效。
為什么要雙引號(hào):當(dāng)'I'm your son',它會(huì)識(shí)別左邊兩個(gè)單引號(hào)把它當(dāng)作一個(gè)字符串,右邊的它不知道是什么,所以會(huì)報(bào)錯(cuò))
字符串拼接:
"①""②"(中間不管空多少個(gè)格都等效于這個(gè))
"①"+"②"
【這兩種都是直接拼接,不會(huì)自動(dòng)隔開(kāi)??梢允謩?dòng)加空格】
"①","②"
【拼接并且自動(dòng)加空格】
【都不會(huì)去除引號(hào)】
print函數(shù)之字符串:
①print函數(shù)括號(hào)內(nèi)輸入的數(shù)據(jù)類型一定要相同,否則報(bào)錯(cuò)
②不相同,則用數(shù)據(jù)轉(zhuǎn)換符。
③用數(shù)據(jù)轉(zhuǎn)換符str()轉(zhuǎn)換得來(lái)的字符串與其他字符串的拼接必須要加+號(hào)或者 ,,沒(méi)法直接碰合。
P8P9P10運(yùn)算符
1.注意
①python3的除號(hào)/是正常的。而python2的/出結(jié)果是整除數(shù)。%出結(jié)果是余數(shù)。
②=是賦值符號(hào),==號(hào)是問(wèn)左是否等于右出結(jié)果是布爾值。(==不能寫成= =)
2.概括
運(yùn)算數(shù)
運(yùn)算符:算數(shù)運(yùn)算符、關(guān)系運(yùn)算符、標(biāo)識(shí)運(yùn)算符、邏輯運(yùn)算符
3.算術(shù)運(yùn)算符
+、-、*、/、%(余數(shù))、**(冪)。
【注意:算數(shù)運(yùn)算符的結(jié)果會(huì)盡量與運(yùn)算數(shù)的數(shù)據(jù)類型保持一致,除非做不到。比如1+1=2,1.0+1.0=2.0,2/5=0.4】
4.關(guān)系運(yùn)算符(不等號(hào))
關(guān)系運(yùn)算符,有6種關(guān)系,分別為小于<、大于>、 小于等于<= 、 大于等于>= 、 等于== 、不等于!=。本質(zhì)都是問(wèn)左右倆運(yùn)算數(shù)是否滿足這個(gè)不等號(hào),輸出結(jié)果皆為布爾值。
5.標(biāo)識(shí)運(yùn)算符
標(biāo)識(shí)運(yùn)算符:
is、is not,不止適用于數(shù),適用于所有數(shù)據(jù)結(jié)構(gòu)。本質(zhì)是問(wèn):左右兩邊相同嗎?左右兩邊不相同嗎?
6.邏輯運(yùn)算符
邏輯運(yùn)算符有三種:not、and、or(非、和、或,類比數(shù)學(xué)命題運(yùn)算)。
執(zhí)行結(jié)果為布爾值。
運(yùn)算順序:先not,再and,最后or。
【not可以疊加用。not not True?!?/p>
not True is False
not False is True
True and True is True
True and False is False
False and False is False
【疑問(wèn):邏輯運(yùn)算符難道只能進(jìn)行布爾值的運(yùn)算嗎?】
P11python必知編寫格式
注釋:申明注釋用#,井號(hào)后面的都識(shí)別為注釋,注釋不會(huì)被執(zhí)行。一定要養(yǎng)成寫注釋的好習(xí)慣。
續(xù)航符:\(enter上面那個(gè)鍵,英文格式)。在要換行的地方加一個(gè)\,按一下回車,執(zhí)行不會(huì)有任何影響。
索引元素:符號(hào)為[](里面輸入要提取的元素的位數(shù),注意,python中下標(biāo)從0開(kāi)始計(jì))。意思是提取某個(gè)東西中的第x號(hào)元素。
縮進(jìn):不可以隨便在一行開(kāi)頭加空格哦??s進(jìn)是表示在某個(gè)語(yǔ)句的管控下。
P12P13函數(shù)
1.函數(shù):
用一個(gè)名字,把一段代碼封存起來(lái)。以后只要用這個(gè)名字,就相當(dāng)于執(zhí)行這段代碼。
2.函數(shù)的定義:
def 函數(shù)名():
(按回車后編譯器會(huì)自動(dòng)給縮進(jìn))
#函數(shù)名可以是字符串,可以是字符串與數(shù)字的配合。括號(hào)里面的是變量,一個(gè)函數(shù)可以有變量可以沒(méi)有,但括號(hào)一定要有。
同一個(gè)函數(shù)名,多次定義,以最后一次為準(zhǔn),即“覆蓋定義”,后一次定義會(huì)覆蓋前一次的。
函數(shù)的定義語(yǔ)句中要是出現(xiàn)與函數(shù)名相同的變量名,沒(méi)關(guān)系,不影響,函數(shù)有(),你變量能有嗎?所以python認(rèn)得清的。
3.函數(shù)的調(diào)用
def 二狗():
print("你好,我是二狗")
#先定義
二狗()
#后調(diào)用。打函數(shù)名,執(zhí)行即可。
你好,我是二狗
#此為執(zhí)行結(jié)果
【注意:函數(shù)一定要先定義,后才能調(diào)用。不能先調(diào)用后定義,否則報(bào)錯(cuò)】
4.函數(shù)的參數(shù)
①函數(shù)分為兩種,有參數(shù)和無(wú)參數(shù)。有參數(shù)的就往函數(shù)名后的小括號(hào)里輸入?yún)?shù),不同的參數(shù)用逗號(hào)隔開(kāi)。
②在函數(shù)的定義語(yǔ)句中,參數(shù)雖然沒(méi)有定義,但可以直接取用。
P15'兩個(gè)案例
#案例1,圓臺(tái)公式
?def V(h,s1,s2):
體積=(1/3)*h*(s1+s2+(s1*s2)**0.5)
return 體積
【結(jié)論:計(jì)算里不能用中括號(hào),直接用小括號(hào)代替即可?!?/p>
#案例2,三角形面積公式(誤)
def s(a,r):
?s=((1/2)*a*r**2)*2
?return s
#案例3,裝逼
win+r
cmd#命令指示行
color4#color4是紅色,colorA是綠色,不記得顏色可以打color(),執(zhí)行,它會(huì)告訴你顏色
dir/s#掃盤,按Ctrl+C停止。
#案例4,tmdAnaconda安裝失敗,只能用python內(nèi)核了。
進(jìn)入python環(huán)境:
win+r→python
win+r→cmd→python
退出:cmd和python的退出,都可以用exit()或者quit()。
P13''函數(shù)進(jìn)階
1.return
①return意思是 返出一個(gè)值,這個(gè)值可以是任何數(shù)據(jù)類型。
②return的使用:
return()等同于return(空一格)
前面是return函數(shù),后面是return語(yǔ)句。
③return只能用于函數(shù)的定義語(yǔ)句中。
④若有多個(gè)return,則只執(zhí)行第一個(gè),后面的return當(dāng)作空氣。因?yàn)橐粋€(gè)函數(shù)只能有一個(gè)返回域。
每個(gè)函數(shù)都有一個(gè)返回域,如果沒(méi)有加return語(yǔ)句,那么返回的是None;加了return但是return后面沒(méi)加內(nèi)容,同樣返回None;加了return且后面加了內(nèi)容,則返回return后加的內(nèi)容。
⑤return可以一次返回不同的數(shù)據(jù)類型,不同的數(shù)據(jù)類型間用逗號(hào)連接,返回結(jié)果會(huì)用元組表示。這一點(diǎn)不同于print函數(shù),print函數(shù)括號(hào)里的必須是同種數(shù)據(jù)類型。
例子:
def out():
return 1,"out",[1,2],(1,2)
#定義函數(shù)。注, return(1,"out",[1,2],(1,2))也一樣。
out()
#調(diào)用函數(shù)
(1,'out',[1,2],(1,2))
#此為執(zhí)行結(jié)果
2.print、變量賦值
(1)變量賦值。
變量賦值賦的值必須是一個(gè)具體值。
比如沒(méi)有變量的函數(shù),又或者是變量已經(jīng)填入數(shù)值的函數(shù)。(用函數(shù)給變量賦值到底賦了什么進(jìn)去:只賦入函數(shù)的返回域!)
舉例:
①
def out():
return 3
a=out()
a
#執(zhí)行
3
#此為執(zhí)行結(jié)果
②
def out():
3
a=out()
a
#執(zhí)行
a【或者沒(méi)有任何執(zhí)行輸出結(jié)果】
#此為執(zhí)行結(jié)果
print(a)
#強(qiáng)行要看看a到底是什么東西
None
#此為執(zhí)行結(jié)果。此函數(shù)的返回域?yàn)镹one,因此給a賦了個(gè)None,賦了,但是又沒(méi)完全賦,a確實(shí)被定義了不會(huì)報(bào)錯(cuò)了,但只是被貼了個(gè)None的標(biāo)簽,而沒(méi)有賦入任何具體的數(shù)據(jù)類型。
③
def out():
print("I love you")
return "I hate you"
a=out()
a
#執(zhí)行
I love you
'I hate you'
#此為執(zhí)行結(jié)果。理解:在給a賦值的時(shí)候,函數(shù)里的print語(yǔ)句會(huì)同時(shí)執(zhí)行輸出來(lái),也就是說(shuō),在執(zhí)行a=out()的時(shí)候,它干了兩件事:
給a賦上return的內(nèi)容;把print的內(nèi)容輸出。
輸出變量a的時(shí)候,結(jié)果只有return的內(nèi)容,因?yàn)檎f(shuō)過(guò),用函數(shù)給變量賦值,只會(huì)賦函數(shù)返回域的值。
④
def out(x,y):
return x+y
#定義函數(shù)
out():
#執(zhí)行,會(huì)報(bào)錯(cuò)。因?yàn)檫@tm變量哪去了,變量都不輸?shù)模?/p>
out(x,y)
#執(zhí)行,會(huì)報(bào)錯(cuò)。因?yàn)閤,y沒(méi)有定義,它哪知道你x,y是什么,你需要輸入具體的數(shù)據(jù)。
out(1,y)
#執(zhí)行,同樣報(bào)錯(cuò),因?yàn)閥沒(méi)定義。
out(1,2)
#執(zhí)行。結(jié)果為3。
⑤
def out(x,y):
return x+y
#定義函數(shù)
a=out(x,y)
#執(zhí)行,報(bào)錯(cuò)。給變量賦值必須賦的是一個(gè)具體的值,因此用一個(gè)變量對(duì)應(yīng)一個(gè)函數(shù)的美夢(mèng)破滅。另外,你x,y都沒(méi)定義,python認(rèn)都不認(rèn)得,當(dāng)然也會(huì)報(bào)錯(cuò)。
a=out(1,2)
a
#執(zhí)行,結(jié)果為3。再次結(jié)論,你是沒(méi)法用一個(gè)帶變量的函數(shù)給變量直接賦值的,這個(gè)函數(shù)必須輸入具體的變量值,之后才能給變量賦值。
(2)print
def out():
print("I love you")
return "I hate you"
return "I lied to you"
print(out ())
#執(zhí)行。結(jié)果為:
I love you
'I hate you'
#結(jié)論:print函數(shù)會(huì)把函數(shù)內(nèi)的print和return內(nèi)容都輸出來(lái)。一個(gè)函數(shù)內(nèi)多個(gè)return只執(zhí)行第一個(gè)return。