現(xiàn)在Python的火熱已經(jīng)不是整個(gè)編程界的事情了,Python的火熱已經(jīng)蔓延到小學(xué)、大學(xué)課程,之前看新聞報(bào)道說青島的小學(xué)生課程里都開始設(shè)置Python的課程了,大學(xué)里由原來必考的VB也改成了Python。一時(shí)大家都掀起了學(xué)習(xí)了Python的熱潮,而接踵而來的各種課程書籍的推薦,但是接踵而來的推薦也不能說看到推薦就購買,要選擇合適的自己的書籍或者課程觀看哦~
今天就來為大家推薦一本 適合孩子或者文科生所看的Python編程書籍! 《小小的Python編程故事》,下面我們就來看一下書籍的內(nèi)容是什么樣的!
《小小的Python編程故事》
作者:毛雪濤??
掃碼查看詳情
這一天,小小的爺爺來到蛋糕店,他在廚房搗鼓了一陣,做出來一款小小從來沒見過的奇怪 蛋糕。首先,這個(gè)蛋糕是三角形的,看起來表面沒有使用奶油,但是卻有五種顏色。奇怪的是, 爺爺說這個(gè)蛋糕要用吸管來吃。
?
?蛋糕模板: 類的定義?
小小問爺爺:“這個(gè)奇怪的蛋糕叫什么名字呢?”爺爺說:“還沒想好呢!反正是蛋糕的一種。” 聰明的小小覺得該這么描述這個(gè)沒有名字的蛋糕:1. ?不管怎么樣,它是一個(gè)物體。2. ?它具有一些特征(或者屬性),比如,三角形、沒奶油、五種顏色。3. ?可以對它采取一些動(dòng)作,或者執(zhí)行一些“方法”,比如,可以吃它,還可以用吸管“喝” 它,當(dāng)然還可以出售它。?
這個(gè)蛋糕雖然奇怪,但是銷售卻異常火爆,供不應(yīng)求。小小拿出“蛋糕制造機(jī)”來幫忙,但 是“蛋糕制造機(jī)”只能按照蛋糕的模板來生產(chǎn)蛋糕。于是,小小先為這款奇怪的蛋糕創(chuàng)建一個(gè)模 板。打開 Python IDLE Shell,新建一個(gè)文件,保存到 C:\Workspace\Chapter19\Xcake.py,輸入代 碼如下:
#創(chuàng)建類 class Xcake:
name="古怪蛋糕"
colorNumber=5
color=['紅','黃','藍(lán)','綠','黑']
shape='三角形'
creamContent=0
def eat(self):
return '吃我啊!吃我啊!'
def drink(self):
return '喝我啊!喝我啊!'
def sell(self):
return '買我啊!買我啊!'
這段代碼創(chuàng)建了一個(gè)生產(chǎn)這種古怪蛋糕的模板,模板名稱叫作 Xcake,在模板內(nèi)部指明了這種蛋糕的名字、顏色、形狀和奶油含量,還指明了使用這種蛋糕的三個(gè)方法: eat、drink 和sell。在 Python 中稱這種模板為“類”,并使用關(guān)鍵字 class 來創(chuàng)建類。類中包含兩部分內(nèi)容:
-
一系列的變量及其初始值,稱這些變量為這類對象的“屬性”。
-
一系列函數(shù)的定義,稱這些函數(shù)為這類對象的“方法”。?
?創(chuàng)建類以后,凡是根據(jù)這個(gè)類創(chuàng)造的東西,統(tǒng)統(tǒng)稱為類的“實(shí)例”,也稱為類的“對象”。Python 支持類和對象的所有概念和技術(shù),是一種面向?qū)ο蟮恼Z言。面向?qū)ο蟮木幊蹋挥H切地稱為 OOP, 其是英文“Object Oriented Programming”的縮寫。不僅 Python,許多程序設(shè)計(jì)語言都使用 OOP 技術(shù)。表 19.1 中列出了 OOP 的一些基本概念。?
這里暫不深入講解這些概念,后面會(huì)有詳細(xì)說明。可以在一個(gè)文件中定義多個(gè)類。在使用文 件中定義的類之前,需要使用 from…import…來引入類。?
?制造蛋糕: 創(chuàng)建對象?
創(chuàng)建好了 Xcake 類后,就可以開動(dòng)蛋糕制造機(jī)來快速生產(chǎn)這種奇怪的蛋糕了。運(yùn)行 Xcake.py 程序,打開 Python IDLE Shell。這時(shí)雖然看起來好像什么也沒有發(fā)生,但實(shí)際上已經(jīng)在內(nèi)存中加 載了 Xcake 類。接下來輸入以下代碼就可以創(chuàng)建一個(gè) Xcake 的對象:?
>>> cake1=Xcake()
?這樣一行代碼,就創(chuàng)建了一個(gè) cake1 對象,它具有 Xcake 類所定義的所有屬性和方法。在 Python 中,可以使用對象名加點(diǎn)號(.)來引用對象的屬性和方法。下面新建一個(gè)文件 19.1cakeObj.py, 以演示如何創(chuàng)建和使用對象。代碼如下:?
#對象示例?
from?Xcake?import?Xcake??#引入類?
cake1=Xcake()??#實(shí)例化
print("這個(gè)蛋糕有:",cake1.colorNumber,"種顏色")??#使用對象的屬性?
print("蛋糕的顏色有:",cake1.color)
print("吃蛋糕時(shí),它會(huì)說:",cake1.eat())???#使用對象的方法?
print("出售時(shí),它會(huì)說:",cake1.sell())?
這段程序首先創(chuàng)建一個(gè) Xcake 的實(shí) 例—cake1 對象。然后使用幾個(gè) print() 函數(shù)進(jìn)行輸出,在 print()的參數(shù)中調(diào)用了 對象的屬性和方法。
如何制造蛋糕? 構(gòu)造方法?
蛋糕制造機(jī)是如何制造出一個(gè)蛋糕的呢?這解釋起來有點(diǎn)復(fù)雜,不過小小覺得它的工作原 理有點(diǎn)像在類里面定義的一種特殊方法—構(gòu)造方法。每當(dāng)需要?jiǎng)?chuàng)建對象時(shí),就會(huì)調(diào)用類的構(gòu)造 方法,這時(shí),在構(gòu)造方法里創(chuàng)建的那些函數(shù)就會(huì)被執(zhí)行。這些函數(shù)就會(huì)創(chuàng)建對象的屬性。到底構(gòu)造函數(shù)長什么樣呢?還是通過小小的 Xcake 類來看一看吧。打開 Xcake.py 文件,在 文件末尾添加一個(gè)新的類,代碼如下:?
#創(chuàng)建類 class XcakePlus:
#定義類變量,也稱屬性 name="古怪蛋糕加強(qiáng)版"
price=1?#單價(jià)??????????
#定義構(gòu)造方法?????
def?__init__(self,size,qty):?????????
self.size=size?????????
self.qty=qty??????????
#定義其他方法????
def?eat(self):?????????
print('吃我啊!吃我啊!')?????
def?sumPrice(self):??#計(jì)算總價(jià)?????????
print("一共:",self.qty*self.price,"元")????????????
def?preview(self):?????????
print("您要的蛋糕是:",self.name,",尺寸:",self.size,"號",self.qty,"個(gè)。")?
XcakePlus 類定義了 3 個(gè)屬性和 4 個(gè)方法,其中名為__init__的方法,一看其名字就比較特殊,它的名字以兩個(gè)連續(xù)的下畫線開始和結(jié)束,而且中間必須是 init,這就是類的構(gòu)造方法。本例中的這個(gè)構(gòu)造方法有 3 個(gè)參數(shù):
-
self—用于獲取類的實(shí)例。它是必需的,且必須為第一個(gè)參數(shù),名稱隨意,但習(xí)慣上使 用 self。
-
size—用于獲取傳入的整數(shù),表示蛋糕的尺寸。
-
qty—用于獲取傳入的整數(shù),表示購買的個(gè)數(shù)。?
函數(shù)體有兩行代碼,分別將傳入的參數(shù)size和qty賦給類對象的屬性。使用self.size和self.qty 表示對象的屬性。在Python中,每個(gè)類只能有一個(gè)構(gòu)造方法。如果類中沒有自定義的構(gòu)造方法,如前面的Xcake 類,Python 會(huì)使用默認(rèn)的構(gòu)造方法。默認(rèn)構(gòu)造方法是只有一個(gè) self 參數(shù)的方法。值得注意的是,在定義類時(shí),如果要在方法中使用對象的屬性,則需要使用 self.size、self.qty、self.price 這樣的形式。定義好 XcakePlus 類以后,就可以創(chuàng)建它的對象了。新建一個(gè)文件 19.2cakeObj.py,輸入以 下代碼:?
#對象示例2 from Xcake import XcakePlus #引入類
#創(chuàng)建對象?cake1=XcakePlus(12,2)?????#實(shí)例化?
#直接使用類變量
print("品種:",XcakePlus.name)
print("單價(jià):",XcakePlus.price)
#展示對象的方法
cake1.preview()
cake1.sumPrice()
這段程序首先引入XcakePlus 類,然后依照構(gòu)造方法創(chuàng)建對象cake1,傳入兩個(gè)參數(shù)12 和2。這時(shí) cake1 對象的兩個(gè)屬性 size 和 pty 就分別獲得了值 12 和 2。接下來展示了類變量的使用,直 接使用“類名.類變量名”的形式。然后展示了對象方法的使用,使用“對象名.方法名”的形式 來調(diào)用。
面向?qū)ο缶幊痰暮锰幨强梢允褂妙悂砜焖賱?chuàng)建多個(gè)對象。例如,可以在 IDLE Shell 的提示 符后面繼續(xù)創(chuàng)建多個(gè)古怪蛋糕加強(qiáng)版的實(shí)例:?
>>> cake1=XcakePlus(8,1)
>>> cake2=XcakePlus(10,2)
>>> cake3=XcakePlus(12,1)
>>> cake1.preview()
您要的蛋糕是: 古怪蛋糕加強(qiáng)版 ,尺寸:8 號 1 個(gè)。
>>> cake2.preview()
您要的蛋糕是: 古怪蛋糕加強(qiáng)版 ,尺寸:10 號 2 個(gè)。
>>> cake3.preview()
您要的蛋糕是: 古怪蛋糕加強(qiáng)版 ,尺寸:12 號 1 個(gè)。
是不是很簡單!一眨眼,小小已經(jīng)生產(chǎn)了大量的“古怪蛋糕加強(qiáng)版” !?
以上內(nèi)容來自《小小的Python編程故事》
《小小的Python編程故事》
作者:毛雪濤??
掃碼購買
本書是寫給孩子看的Python編程書,本書共包括54個(gè)章節(jié),分為三個(gè)部分。
基礎(chǔ)篇 包含了Python編程環(huán)境的搭建、第一個(gè)Python程序的展示、程序的調(diào)試方法、異常的處理、Python的基本數(shù)據(jù)類型和運(yùn)算符,還包括了基本程序控制結(jié)構(gòu)、類的使用以及常見模塊的使用。
實(shí)戰(zhàn)篇 包含了Python循環(huán)的應(yīng)用、冒泡排序和選擇排序等基礎(chǔ)算法、文件操作、系統(tǒng)信息獲取,還包括了圖形用戶界面編程、正則表達(dá)式、多線程程序設(shè)計(jì),以及網(wǎng)絡(luò)編程、數(shù)據(jù)庫編程的基本實(shí)現(xiàn)。
提高篇 包含了蒙特卡羅算法、歐幾里得算法、遞歸算法、狄杰特斯拉算法、貪心算法、KNN算法以及并行計(jì)算的實(shí)現(xiàn),可能會(huì)有一些難度,但對于那些喜歡計(jì)算科學(xué)的讀者來說起到了啟蒙的作用。
本書適合沒有任何編程基礎(chǔ)的人學(xué)習(xí)使用,尤其適合孩子、文科生等非計(jì)算機(jī)專業(yè)的人員使用。
掃碼或者點(diǎn)擊閱讀原文購買哦

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
