999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Python教學細節(jié)探討

2018-09-22 04:15:42顧曉東付瑩江蘇第二師范學院
數(shù)碼世界 2018年8期
關(guān)鍵詞:細節(jié)程序語言

顧曉東 付瑩 江蘇第二師范學院

1 簡介

高級腳本語言Python一直被認為是“終生受用的程序設(shè)計語言”,除了因為Python有非常完善的基礎(chǔ)代碼庫、易于理解和學習、研究人員更容易做快速原型,它還擁有大量的第三方庫。Python讓專業(yè)人員主要考慮解決問題的方法,而不用考慮實現(xiàn)方案所需的技術(shù)。很多“一小時學python”的實踐聲稱大多數(shù)沒有任何程序設(shè)計基礎(chǔ)的大一學生都可以在一小時內(nèi)理解Python設(shè)計方法并具備十幾行代碼的編寫能力[1]。然而筆者在教學過程中發(fā)現(xiàn),情況并非如此。以下筆者先羅列了python語言的優(yōu)缺點再以具體實例分析了python的優(yōu)弱點和一些教學細節(jié)。

2 Python的優(yōu)缺點

Python語言的定位是“優(yōu)雅”、“明確”、“簡單”,其顯著的優(yōu)點有:(1)對初學python的人來說,python非常適合閱讀。python雖然是用c語言寫的,但是它擯棄了c語言中復雜的指針,簡化了語法。(2)Python是FLOSS(自由/開放源碼軟件)之一。簡單地說,閱讀者可以自由地發(fā)布這個軟件的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用于新的自由軟件中。(3)Python可以被移植在許多平臺上。如果編程者小心地避免使用依賴于系統(tǒng)的特性,那么所有的Python程序無需修改就可以在下述任何平臺上運行。這些平臺包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC、Symbian以及Google基于linux開發(fā)的Android平臺!(4)Python既支持面向過程的函數(shù)編程也支持面向?qū)ο蟮某橄缶幊獭T诿嫦蜻^程的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在面向?qū)ο蟮恼Z言中,程序是由數(shù)據(jù)和功能組合而成的對象構(gòu)建起來的。與C++和Java相比,Python以一種非常強大又簡單的方式實現(xiàn)面向?qū)ο缶幊獭#?)python擁有的大量第三方庫可以用來完成各種工作,包括正則表達式、文檔生成、單元測試、線程、數(shù)據(jù)庫、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。除了標準庫以外,還有許多其他高質(zhì)量的庫,如wxPython、Twisted和Python圖像庫等等。

同時,Python的缺點有:(1)python的實現(xiàn)性能極低!大致和C相差五倍左右。如果是大規(guī)模計算,大致能差10倍以上。(2)python的底層設(shè)計相對混亂。(3)Python語言的自構(gòu)建特性混亂。一般而言,高級語言都是使用C語言實現(xiàn)一個內(nèi)核,由內(nèi)核實現(xiàn)一些基礎(chǔ)操作,再由基礎(chǔ)操作實現(xiàn)更復雜的操作,各層的邊界非常清晰。而python中庫的相互依賴層級不清晰。(4)python的沙盒(sandbox)化難以保證本地效果/跨平臺/安全性。當我們要寫很多種程序時,python環(huán)境中的依賴勢必越來越多。有時還會導致沖突的出現(xiàn),python的沙盒環(huán)境VirtualEnv可以根據(jù)需要在一臺機器上創(chuàng)建多個獨立的Python虛擬運行環(huán)境,多個Python環(huán)境相互獨立,互不影響。事實上,python的沙盒難以保證本地效果/跨平臺/安全性。

3 python教學細節(jié)

3.1 LEGB規(guī)則

由于python的底層設(shè)計相對混亂,初學者往往要花很長時間來研究以下程序:

其原因在于:python在運行時變量的作用域查找順序依次是:local(局部作用域),enclosing(函數(shù)范圍作用域),global(全局作用域),build-in(內(nèi)建對象作用域),簡稱LEGB(Local -Enclosed- Global - Built-in)規(guī)則。LEGB(Local -Enclosed - Global- Built-in)規(guī)則。程序在調(diào)用內(nèi)部函數(shù)inner_fun()時輸出3,返回主函數(shù)時,局部變量a被釋放,全局變量a依然為2。在C語言 中,變量名是內(nèi)存地址的別名,而在 Python 中,名字是一個字符串對象,它與它指向的對象構(gòu)成一個{name : object}關(guān)聯(lián),Python 中name-object的關(guān)聯(lián)存儲在不同的作用域中,而各個不同的作用域是相互獨立的。

3.2 Python的元編程

Type(name,bases,attrs) ,其中name為類名字符串,bases為父類元組,attrs為屬性字典。元類是生成類的類,比類更抽象。元類定義的是類的方法,類定義的是實例方法。(如圖1)。

圖1 python中的元類

對一般的程序員來說,這種用一個類生成另一個類的寫法相對難以理解。

3.3 Python的列表和c語言的數(shù)組:

相對于c語言的數(shù)組定義,python的列表無須預先分配大小,創(chuàng)建列表變量時不需要知道元素個數(shù),可以在使用中動態(tài)插入任何數(shù)量的元素,且列表中不同元素的類型可以相同也可以不同。列表的概念為程序編寫提供了很大的設(shè)計空間,同時也因為程序過于簡潔使學生并沒有理解程序的實質(zhì)意義,陷入能看“懂”卻不會編寫的狀態(tài)。以下是冒泡法的C程序和Python程序的比較。

可以看出,python程序異常簡潔,但理順算法的實現(xiàn)卻不容易,相比C程序缺少了數(shù)據(jù)元素的交換細節(jié)。

再以經(jīng)典的羊車門問題的python程序為例:有三扇關(guān)閉的門,一扇門后面停著汽車。其余門后是山羊,只有主持人知道每扇門后面是什么。參賽者可以選擇一扇門,在開啟它之前,主持人會開啟另外一扇門露出門后的山羊,然后允許參賽者更改自己的選擇。請問:參賽者更換選擇能否增加猜中汽車的機會?

圖2 羊車門問題的python程序

程序使用random庫生成隨機數(shù),但更改選擇相對不更改選擇的隨機數(shù)列表少了首次選擇的門和主持人打開的門。由以上程序也可以看出列表的概念使得python程序異常簡潔,常常學生覺得程序簡單,可上手編寫時卻無從下手。筆者在教學中常采用比較python程序和c程序的方式,使學生能進一步理解程序的細節(jié),取得了良好的教學效果。

4 結(jié)論

Python是一種解釋型、面向?qū)ο蟆討B(tài)數(shù)據(jù)類型的高級程序設(shè)計語言。筆者在教學中發(fā)現(xiàn)雖然其適合閱讀但難以編寫。本文以具體實例分析了python的優(yōu)弱點和教學中的一些細節(jié),對python的教學有一定的指導意義。

猜你喜歡
細節(jié)程序語言
以細節(jié)取勝 Cambridge Audio AXR100/ FOCAL ARIA 906
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
試論我國未決羈押程序的立法完善
留心細節(jié)處處美——《收集東·收集西》
讓語言描寫搖曳多姿
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
累積動態(tài)分析下的同聲傳譯語言壓縮
細節(jié)取勝
Coco薇(2016年10期)2016-11-29 19:59:58
創(chuàng)衛(wèi)暗訪程序有待改進
主站蜘蛛池模板: 区国产精品搜索视频| 内射人妻无码色AV天堂| 国产精品视频999| 国产精品自在在线午夜| 伊人久久福利中文字幕| 国产成人精品高清在线| 久久黄色影院| 亚洲欧洲日韩综合色天使| 国产精品播放| 国产精品久久久久鬼色| 国产亚洲日韩av在线| 91在线视频福利| 在线看免费无码av天堂的| 亚洲大尺码专区影院| 国产精品无码影视久久久久久久 | 亚洲日韩欧美在线观看| 国产福利免费在线观看| 中文精品久久久久国产网址 | 无码专区在线观看| 国产特一级毛片| 亚洲最大情网站在线观看| 91精品视频在线播放| 欧美亚洲日韩不卡在线在线观看| 欧美国产精品不卡在线观看| 中文字幕乱码中文乱码51精品| 婷婷在线网站| 免费视频在线2021入口| 激情综合激情| 亚洲第一香蕉视频| 免费一级α片在线观看| 免费A∨中文乱码专区| 久久国产精品电影| 亚洲视屏在线观看| 一本大道视频精品人妻 | 手机成人午夜在线视频| 老司机精品一区在线视频| 为你提供最新久久精品久久综合| 国产91丝袜在线播放动漫 | 少妇极品熟妇人妻专区视频| 国产精品福利导航| 国产91九色在线播放| 爱色欧美亚洲综合图区| 国产超薄肉色丝袜网站| 91在线国内在线播放老师| 国产福利观看| 亚洲一区波多野结衣二区三区| 亚洲精品在线观看91| 亚洲第一黄片大全| 欧美精品亚洲精品日韩专区| 美女一级毛片无遮挡内谢| 中文字幕66页| 成人福利在线视频| 亚洲国产成人麻豆精品| 日本成人精品视频| 欧美啪啪视频免码| 精品人妻无码区在线视频| h网址在线观看| 久久黄色毛片| 免费亚洲成人| 999国产精品永久免费视频精品久久 | 精品国产亚洲人成在线| 精品三级网站| 国产门事件在线| 亚洲AⅤ无码国产精品| 中文字幕2区| 国产成人免费观看在线视频| 毛片基地美国正在播放亚洲 | 国产精品久久久久久久久kt| 最新国产精品第1页| 影音先锋丝袜制服| 亚洲黄色成人| 四虎AV麻豆| 国产欧美精品专区一区二区| 日韩欧美国产中文| 精品视频免费在线| 国产全黄a一级毛片| 久操线在视频在线观看| 三区在线视频| 国产丝袜一区二区三区视频免下载| 无码专区国产精品一区| 成年人午夜免费视频| 久久精品无码专区免费|