国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

教女朋友學(xué)Python(4)——算

2019-11-14 13:07:21
字體:
供稿:網(wǎng)友
我本來不會Python,一邊學(xué)一邊試圖以最簡單方式來解釋編程和Python,讓各位理工男可以拿去教自己的女朋友。

上回說到,妹子們要經(jīng)常換老公。所以用了一個(gè)叫變量的東西來存老公的名字、照片的數(shù)量等:

name="胡歌"first=1count=28

現(xiàn)在我們要把他們替換到url中相應(yīng)的地方。想想在數(shù)學(xué)上的變量,x = 1,y=2,z = 1+2,現(xiàn)在要把1和2分別換成x和y,那是很簡單的,就是z=x+y。但是問題來了,x和y都是我們上期說的整數(shù),他們之間是可以加的。但是,url是一個(gè)字符串類型,怎么辦呢,還有其他類型的變量之間的操作,又該怎么辦呢?且聽我慢慢道來。

上期說到,基本變量類型有五種:整型(int)、浮點(diǎn)型(float)、字符串(str)、布爾型(bool)、空值(None),我們分情況來說。

整型(int)

int就是整數(shù),加減乘除余不解釋。

浮點(diǎn)型(float)

float就是小數(shù),也不解釋。

嗯,其實(shí)我還是會解釋的:

有沒有發(fā)現(xiàn)奇怪的地方?為什么4.5-3.7是0.7999999999999998而不是0.8,4.5*3.7是16.650000000000002而不是16.65。這主要是有限長度的二進(jìn)制沒法精確表達(dá)浮點(diǎn)數(shù)導(dǎo)致的,解釋起來比較復(fù)雜,實(shí)際上這個(gè)情況出現(xiàn)的不多,誤差也比較小,大部分時(shí)候?qū)τ?jì)算結(jié)果影響可以忽略。有興趣了解具體原因的同學(xué)請?jiān)谖⑿殴娞柣貜?fù)關(guān)鍵字“float”獲取。

字符串(str)

字符串的操作比較多,這里暫時(shí)只講一個(gè)我們要用到的,就是字符串的拼接。字符串的拼接用加號(+)。比如:

str1 = "我是一個(gè)"str2 = "兵"str3 = str1 + str2那么str3是什么呢?

有一點(diǎn)要記住,字符串不能用減號

布爾型(bool)

布爾型只有兩個(gè)值,True和False,運(yùn)算符也只有三個(gè)not,and,or。還記得集合與或非的同學(xué)們就不用我講了,一看就明白。不記得我也不講了,因?yàn)閮蓚€(gè)值三個(gè)運(yùn)算符,排列組合下來的情況也就那么幾種,在演示里面看的比較清楚。

演示:

空值(None)

空值也可以參與運(yùn)算?是的,不信你看:

不過實(shí)際上很少直接拿None這么運(yùn)算,所以這里只是拿出來讓同學(xué)們看看,空值,他也是可以參與運(yùn)算的。

看完上面數(shù)據(jù)類型的運(yùn)算,是不是已經(jīng)不記得我們要干什么了,我來提醒一下,要把name,first,count替換到url里面的相應(yīng)的地方去。url是字符串,字符串的拼接用什么?加號!

所以:url = "http://cn.bing.com/images/search?q=" + name + "&first=" + first +"&count=" + count來驗(yàn)證一下:

可惜,出錯(cuò)了,錯(cuò)誤信息:TypeError: Can't convert 'int' object to str implicitly。數(shù)據(jù)類型錯(cuò)誤,不能將int類型的對象隱式轉(zhuǎn)換成str類型。現(xiàn)在是不是想起來了,name是str類型,這么加進(jìn)去,是沒有問題的。但是first和count都是int類型,要想和str類型拼接,得先把他們轉(zhuǎn)換成str類型,而且錯(cuò)誤提示我們了,隱式轉(zhuǎn)換(就是啥都不干讓系統(tǒng)自己去轉(zhuǎn))是不行的。毛主席教導(dǎo)我們說,喜歡就表白,不行就強(qiáng)X。軟的不行,就來硬的,上強(qiáng)制轉(zhuǎn)換。int強(qiáng)制轉(zhuǎn)換成str怎么辦?用str()

看出來num和numStr的區(qū)別了吧!

str()是一個(gè)函數(shù),那么函數(shù)是什么呢?

數(shù)學(xué)里面是f(x)=3x + 111,那如果a=f(4),那么a的值是多少呢。現(xiàn)在我們用的函數(shù)numStr = str(num),形式上是不是跟數(shù)學(xué)上的函數(shù)一模一樣!只不過,這里的str()這個(gè)函數(shù),python已經(jīng)給我們定義好了,我們只需要調(diào)用就可以了。

這樣python已經(jīng)給我們準(zhǔn)備好的函數(shù),叫內(nèi)建函數(shù)BIF(built-in functions)。要查看python里面所有的BIF,使用dir(__builtins__),注意前后各有兩個(gè)下劃線。dir()也是一個(gè)內(nèi)建函數(shù)喲。我用的python版本一共提供了152個(gè)內(nèi)建函數(shù),我怎么知道的?反正我不是一個(gè)個(gè)數(shù)的。

看到了嗎,len也是一個(gè)內(nèi)置函數(shù),用來量長度。量什么的長度呢,請用help(len)看len的幫助文檔。

請同學(xué)們自己去探索一下每個(gè)內(nèi)建函數(shù)是做什么的,怎么用吧。

看到這,是不是又一次忘了,我們是要干什么的?對了,是為了方便換老公的。知道了str()函數(shù)可以將int類型轉(zhuǎn)換成str類型,我們的url就可以改成這樣啦。

url = "http://cn.bing.com/images/search?q=" + name + "&first=" + str(first) +"&count=" + str(count)

來,測試一下:

這次對了吧。

為了抓老公,經(jīng)過兩期的努力,我們已經(jīng)寫了四行代碼了,可是要是軟件一關(guān),就什么都沒留下,怎么辦呢?我們可以新建一個(gè)擴(kuò)展名是py的文件。

然后將我們的代碼寫在新建的這個(gè)文件里面

看到了吧,在Visual Studio Code里面,不同部分的代碼有不同的顏色,比我們在終端管理器里面好看多了。而且看gif圖里面,我在粘貼完url后前面留了一個(gè)空格,我把他刪掉了,這不是強(qiáng)迫癥,是一定要刪掉的,在python里面是靠縮進(jìn)來識別邏輯層次的。

現(xiàn)在我們運(yùn)行代碼。

注意在運(yùn)行之前先用了一個(gè)內(nèi)建函數(shù)exit(),退出了python的交互式環(huán)境,所謂交互式嘛,就是我輸入一句代碼,就可以讓他顯示一句代碼,用于測試,要運(yùn)行整個(gè)py文件只需要python命令后面加py文件名就可以了,一次運(yùn)行完文件里的所有代碼,就不跟他交互了。

但是,我們發(fā)現(xiàn)運(yùn)行了代碼文件,什么效果都沒有,為什么?因?yàn)槲覀兊拇a什么都沒干,我們定義了變量name、first、count、url,就只是定義了而已。如果同學(xué)們想看url,在代碼后面加一行PRint(url),保存后再運(yùn)行一次,url的值就可以顯示出來了。print()又是一個(gè)內(nèi)建函數(shù),用于將某個(gè)對象打印在屏幕上。

這期我們說了運(yùn)算符和內(nèi)建函數(shù),還使用了str、print、len、dir、help等內(nèi)建函數(shù)。python好用,很大程度上在于他提供了特別多內(nèi)建函數(shù),但是,再多的內(nèi)建函數(shù),也不可能窮盡所有人的需求呀,所以一定有辦法自建函數(shù),下期,我們就來討論自建函數(shù)。

歡迎關(guān)注我的微信公眾號獲取最新文章:


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 肥西县| 中牟县| 横山县| 来安县| 曲水县| 宜春市| 乌兰察布市| 巴彦淖尔市| 江门市| 弥渡县| 新余市| 长葛市| 平乐县| 博白县| 临沂市| 屏南县| 贺兰县| 文昌市| 鹤岗市| 巍山| 蒲江县| 乐清市| 若尔盖县| 平顶山市| 商洛市| 兴安盟| 益阳市| 上林县| 武胜县| 大姚县| 西青区| 四子王旗| 察哈| 印江| 固始县| 密云县| 靖宇县| 云龙县| 会理县| 镇沅| 阿拉善右旗|