非計算機專業《Python程序設計基礎》教學參考大綱

2021-02-19 Python小屋

 

Python程序設計基礎

教  學  大  綱

   

目   錄

一、 課程簡介

二、 教學目的和要求

三、 教學中應注意的問題

四、 教學內容

五、 教學課時分配

六、 教材與參考書目

 

一、 課程簡介

課程名稱:Python程序設計基礎

課程編號:**********

課程性質:必修

適用專業:非計算機專業

前導課程:無

考核方式:考試

建議學時:48+16(可根據實際需要進行調整)

建議學期:2、4、5

二、 教學目的和要求

通過本課程的學習,使得學生能夠理解Python的編程模式(命令式編程、函數式編程),熟練運用Python運算符、內置函數以及列表、元組、字典、集合等基本數據類型和相關列表推導式、切片等特性來解決實際問題,熟練掌握Python分支結構、循環結構、函數設計以及類的設計與使用,熟練使用字符串方法,適當了解正則表達式,熟練使用Python讀寫文本文件,適當了解二進位文件操作,了解Python程序的調試方法,了解Python面向對象程序設計模式,掌握使用Python操作SQLite資料庫的方法,掌握Python+pandas進行數據處理的基本用法,掌握使用Python+matplotlib進行數據可視化的用法,同時還應培養學生的代碼優化與安全編程意識。

在教學和學習過程中,應充分發揮Python語言的優勢,從最簡單、最直觀的思路出發,儘快解決問題。不建議在內存地址或類似的底層細節上花費太多時間。

三、 教學中應注意的問題

Python編程模式中非常重要的一條是代碼簡單化、問題簡單化,同時應保證代碼具有較強的可讀性。在教學過程中,儘量避免在Python程序中帶有其他程式語言的痕跡,要儘量從最簡單的角度去思考和解決問題、實現自己的想法和思路,儘量多使用Python內置函數、標準庫對象和合適的擴展庫對象,保證代碼的優雅、簡潔,讓代碼更加Pythonic。

使用Python編程解決問題應充分借鑑和使用成熟的標準庫和擴展庫,儘量避免自主編寫完整的業務邏輯,部分具體操作完全可以使用擴展庫來實現,大幅度提高開發效率。例如:如果需要進行排序則直接使用內置函數sorted()或列表的sort()方法進行排序,切不可再使用選擇法排序、插入法排序、冒泡法排序、快速排序或堆排序等排序算法來編寫代碼實現;計算最大公約數應習慣於使用math標準庫的gcd()函數,而不應該自己編寫代碼實現輾轉相除法的計算;對數據進行隨機亂序應使用random標準庫中的shuffle()函數;從給定數據集中隨機選擇元素應使用random標準庫中的choice()函數;等等。

四、 教學內容

第1章  Python概述

1.1  Python是這樣一種語言

教學重點:Python的命令式編程和函數式編程。

1.2  Python版本之爭

教學重點:系統環境變量的設置。

1.3  Python編程規範與代碼優化建議

教學重點:縮進,空格與空行,不同數據類型的選擇對程序運行效率的影響。

1.4  Anaconda3開發環境的安裝與使用

1.5 安裝擴展庫的幾種方法

教學重點:熟練使用pip安裝和管理Python擴展庫。

1.6  標準庫與擴展庫中對象的導入與使用

教學重點:三種導入方法之間的區別。

1.7  __name__屬性的作用

教學重點:不同方式使用Python程序時__name__屬性的值。

第2章  運算符、表達式與內置對象

2.1  Python常用內置對象

教學重點:不需要事先聲明變量名及其類型,變量命名規範,數字、字符串、列表、元組、字典、集合的簡單使用,數字大小無限制。

2.2  Python運算符與表達式

教學重點:同一個運算有不同含義,關係運算符和邏輯運算符的惰性求值特點。

2.3  Python關鍵字簡要說明

2.4  Python常用內置函數用法精要

教學重點:很多函數有基本用法和高級用法,注意這些函數的可選參數;理解函數式編程的模式。

教學難點:函數式編程。

2.5  精彩案例賞析

第3章  詳解Python序列結構

3.1  列表

教學重點:列表對象的創建與刪除,其他類型到列表的轉換,內置range(),使用+運算符、append()方法、extend()方法、insert()方法為列表增加元素,使用del命令、pop()方法、remove()方法刪除列表元素,使用下標訪問列表元素,使用index()方法獲取列表元素下標,使用count()方法獲取列表元素出現次數,有序序列的雙向索引,使用成員資格判斷運算符in判斷列表中是否存在指定元素,使用切片訪問、修改、刪除、增加列表元素,列表排序方法sort()與內置排序函數sorted()以及列表逆序方法reverse()與內置逆序函數reversed(),len()、max()、min()、sum()、zip()、enumerate()等內置函數對列表對象的操作,使用列表推導式快速生成列表。

教學難點:自動內存管理,切片操作,列表推導式,排序方法的key參數。

3.2  元組

教學重點:元組對象的創建與刪除,其他類型到元組的轉換,元組與列表的區別,生成器推導式。

教學難點:元組與列表的區別,元組的不可變特點,生成器表達式與列表推導式的效率比較。

3.3  字典

教學重點:字典對象的創建與刪除,字典元素、鍵、值的訪問方法,字典元素的添加與修改,使用字典對象的get()方法獲取指定鍵對應的值,有序字典對象的使用,使用字典來計數,有序字典。

教學難點:字典對象的get()方法,訪問字典對象時可以使用鍵作為下標,字典對象的鍵必須為不可變對象。

3.4  集合

教學重點:集合對象的創建與刪除,其他類型數據到集合的轉換,使用add()方法為集合增加元素,使用pop()和remove()方法刪除元素,使用clear()方法清空集合,集合的並、交、差以及對稱差等運算,使用集合來提取序列中的唯一元素。

教學難點:Python運算符的多重含義,集合運算。

3.5  序列解包的多種形式和用法

教學重點:序列解包的本質——對多個變量同時賦值;序列解包的要求——等號右側值的數量與等號左側變量的數量一致。

教學難點:多個變量同時賦值。

第4章  程序控制結構

4.1  條件表達式

教學重點:Python關係運算符可以連用,枚舉序列元素時多使用成員測試運算符in,算數運算符/和//的區別,任何合法的Python表達式都可以作為條件表達式,False、0(或0.0、0j等)、空值None、空列表、空元組、空集合、空字典、空字符串、空迭代對象作為條件表達式與False等價。

教學難點:關係運算符可以連用,Python中的False等價值,幾乎所有Python表達式都可以作為條件表達式來使用。

4.2  選擇結構

教學重點:單分支選擇結構、雙分支選擇結構、多分支選擇結構、選擇結構的嵌套,條件表達式後必須有冒號且換行縮進後開始寫代碼塊,elif關鍵字表達else if的意思。

教學難點:縮進體現代碼的業務邏輯。

4.3  循環結構

教學重點:for循環、while循環,range對象在循環中的使用,成員測試符in與序列解包在循環語句中的使用,帶有else子句的循環結構,循環代碼的優化,break與continue語句的作用。

教學難點:帶有else子句的循環結構,循環代碼的優化。

4.4  精彩案例賞析

教學重點:體會Pythonic的含義,感受Python程序的美。

第5章  函數

5.1  函數定義與使用

教學重點:Python函數的定義形式,def關鍵字,不需要聲明函數的參數類型和返回值類型,括號不可以省略,冒號必須有。函數嵌套定義。函數遞歸調用。

5.2  函數參數

教學重點:形參與實參的概念,在函數內部直接修改形參不會影響實參。位置參數、默認值參數、關鍵參數和長度可變參數的用法。傳遞參數時的序列解包。

5.3  變量作用域

教學重點:在函數內如果只引用某個變量的值而沒有為其賦新值,該變量為(隱式的)全局變量;如果在函數內任意位置有為變量賦新值的操作,該變量即被認為是(隱式的)局部變量,除非在函數內顯式地用關鍵字global進行聲明。

教學難點:局部作用域與全局作用域的區別,在函數內部定義全局變量的方法。

5.4  lambda表達式

教學重點:使用lambda表達式聲明匿名函數和命名函數,在lambda表達式中調用函數,把lambda表達式作為函數參數。

教學難點:lambda表達式作為其他函數的參數。

5.5  生成器函數設計要點

教學重點:yield語句和return語句的區別,生成器對象的惰性求值特點。

教學難點:生成器對象的惰性求值。

5.6  精彩案例賞析

第6章  面向對象程序設計

6.1  類的定義與使用

教學重點:Python類的定義,class關鍵字,創建對象的方法,通過對象訪問成員的方法。

6.2  數據成員與成員方法

教學重點:私有成員與公有成員,數據成員與成員方法,類方法與靜態方法,屬性的定義與使用,混入機制。

6.3  繼承與多態

教學重點:繼承的作用與Python實現,多態的概念。

6.4  特殊方法與運算符重載

教學重點:構造函數__init__(),析構函數__del__(),__add__()、__mul__()、__pow__()及其他Python類特殊方法與運算符的對應關係。

教學難點:特殊方法與運算符及內置函數的對應關係。

6.5  精彩案例賞析

第7章  字符串

7.1  字符串編碼格式簡介

教學重點:ASCII、UTF8、GBK的區別。

7.2  轉義字符與原始字符串

教學重點:轉義字符的用法,字符串前面加字母r的含義。

7.3  字符串格式化

教學重點:format()方法,格式化的字符串常量。

7.4  字符串常用操作

教學重點:使用find()、index()、count()等方法以及關鍵字in確定字符串中是否包含另一個字符串,使用split()、partition()方法對字符串進行切分,使用join()方法連接字符串,使用replace()、translate()對字符串進行「修改」,使用strip()方法刪除字符串開始、結束或兩側的指定字符,使用lower()、upper()、capitalize()、title()、swapcase()等方法進行大小寫轉換,使用startswith()、endswith()方法測試字符串是否以另一個字符串開始或結束,使用center()、ljust()、rjust()等方法對字符串進行排版。

7.5  字符串常量

7.6  中英文分詞

教學重點:Python擴展庫jieba和snownlp的用法。

7.7  漢字到拼音的轉換

教學重點:Python擴展庫pypinyin的用法。

7.8  精彩案例賞析

第8章  正則表達式(選講)

8.1  正則表達式語法

教學重點:正則表達式基本語法與擴展語法,常用正則表達式的寫法。

8.2  直接使用正則表達式模塊re處理字符串

教學重點:compile()、match()、search()、findall()、split()、sub()、escape()等re模塊常用方法。

8.3  使用正則表達式對象處理字符串

教學重點:正則表達式對象方法的用法。

8.4  match對象

教學重點:match對象方法的用法。

8.5  精彩案例賞析

第9章  文件內容操作

9.1  文件操作基本知識

教學重點:文本文件與二進位文件的概念與訪問方法的區別,文件對象,open()方法以及flush()、close()、read()、readline()、readlines()、tell()、write()、writelines()等常用方法,上下文管理語句with的優點與用法。

教學難點:文件操作三步驟:打開文件、操作文件、關閉文件。

9.2  文本文件基本操作案例精選

教學重點:文本文件讀寫方法,read()、write()、seek()等文件對象常用方法的運用。

9.3  二進位文件操作案例精選

教學重點:二進位文件讀寫方式,對象序列化,pickle、struct、shelve等模塊的用法,Excel、Word等常見類型文件的操作。

第10章  文件與文件夾操作

10.1  os模塊

教學重點:文件夾遍歷。

10.2  os.path模塊

教學重點:路徑類型判斷,路徑連接,獲取文件屬性。

10.3  shutil模塊

教學重點:複製文件,壓縮與解壓縮,刪除目錄樹。

10.4  精彩案例賞析

第11章  異常處理結構與單元測試選講

11.1  異常處理結構

教學重點:異常的概念與表現形式,Python內置異常類層次結構,常見異常處理結構,斷言與上下文管理語句。

11.2  單元測試

教學重點:單元測試的意義和目的,標準庫unittest的用法。

第12章  資料庫應用開發選講

12.1  使用Python操作SQLite資料庫

教學重點:sqlite3模塊基本用法,Connection對象,Cursor對象,常用SQL語句。

12.2  使用Python操作其他關係型資料庫

教學重點:Access、SQL Server、MySQL等資料庫的接口。

12.3  操作MongoDB資料庫

教學重點:NoSQL的含義,MongoDB資料庫的配置和使用。

第13章  數據分析與科學計算可視化選講

13.1  擴展庫numpy簡介

教學重點:數組運算,矩陣運算。

13.2  科學計算擴展庫scipy

教學重點:constants模塊,special模塊,signal模塊,ndimage模塊。

13.3  擴展庫pandas簡介

教學重點:DataFrame基本操作,缺失值、重複值、異常值處理,數據差分,讀寫文件。

13.4  統計分析標準庫statistics用法簡介

13.5  matplotlib

教學重點:繪製折線圖、散點圖、餅狀圖、柱狀圖,設置圖例,繪製三維圖形。

13.6  創建詞雲

教學重點:擴展庫wordcloud的用法。

       

五、 教學課時分配

教學課時分配表(參考)

    章 節 名 稱

課堂學時

實驗學時

第1章 Python概述

2


第2章  運算符、表達式與內置對象

4

2

第3章  Python數據結構

6

2

第4章  程序控制結構

4

2

第5章  函數

4

2

第6章  面向對象程序設計

4


第7章  字符串

6

2

第8章  正則表達式(選講)

2


第9章  文件內容操作

4

2

第10章  文件與文件夾操作

2


第11章  異常處理結構與單元測試(選講)

1


第12章  資料庫應用開發(選講)

3

2

第13章  數據分析與科學計算可視化(選講)

6

2

合計

48

16

   

六、 教材與參考書目

1. 教材:董付國.《Python程序設計基礎(第2版)》,清華大學出版社,2018

2. 參考書目:

l 董付國.《Python程序設計(第2版)》,清華大學出版社,2016

l 董付國.《Python可以這樣學》,清華大學出版社,2017

l 董付國.《Python程序設計開發寶典》,清華大學出版社,2017

l 董付國.《玩轉Python輕鬆過二級》,清華大學出版社,2018

l 張穎,賴勇浩著.《編寫高質量代碼——改善Python程序的91個建議》.機械工業出版社,2014

l 楊佩璐,宋強等編著.《Python寶典》.電子工業出版社,2014

l 張若愚著.《Python科學計算(第2版)》.清華大學出版社,2017

相關焦點

  • 《Python程序設計基礎與應用》配套教學大綱
    好消息:「Python小屋」編程比賽正式開始推薦教材:《Python程序設計基礎與應用》(ISBN:9787111606178),董付國,機械工業出版社圖書詳情:用書教師可以聯繫董老師獲取教學大綱、課件、源碼、電子教案、考試系統等配套教學資源。
  • 《Python程序設計基礎(第2版)》習題答案
    」可以查看Python教學資源。董付國老師Python系列圖書---1)《Python程序設計(第2版)》清華大學出版社(2018年8月第9次印刷)https://item.jd.com/11949168.html2)《Python可以這樣學》清華大學出版社(2018年7月第6次印刷)(本書已在臺灣發行繁體版)https://item.jd.com/12040511.html3)《Python程序設計基礎
  • 【在線教學示範課案例】程序設計基礎(Python)(姜學鋒)
    一、教師簡介姜學鋒,計算機學院,計算機基礎教學與實驗中心。主講程序設計系列、大學生信息素養、國際大學生程序設計競賽系列(創新實踐)等公共基礎課。二、課程信息(1)課程名稱及代碼:程序設計基礎(Python),U10G13023,1-12 周;程序設計基礎(Python)實驗,U10G23024,3-12 周。(2)教學重點:以「能編程、編好程」為根本標準,構建「多練、實練」實踐環境,知識傳授結合能力培養,以信息素養展開價值塑造。
  • 北京理工大學《Python語言程序設計》公開課(國家精品)
    Python簡潔卻強大、簡單卻專業,它是當今世界最受歡迎的程式語言,學好它終身受用。請跟隨我們,學習並掌握Python語言,一起動起來,輕鬆編程、享受創新! 課程概述快訊:本課程第6次開課,將啟動全新視頻!!!和經過10餘次教學實踐後的修訂課程大綱,更有趣、更有料、更高質量!
  • 算法競賽(程序設計競賽)教與學(教學大綱+視頻)
    《算法競賽(程序設計競賽)》課程教學大綱課程編號:課程性質
  • Python基礎 | 大學小白如何入門Python程序設計
    一、 問題闡述對於剛剛進入大學小白的我們對許許多多課程感到陌生,例如高數、大學計算機網絡、Python語言程序設計等一些課程對於我們剛剛進入大學小白的我們很多時間就聽不懂老師在講什麼,大學和高中完全是不一樣的,大學更多的時間是需要自己去自學,僅僅靠老師上課講的那一點時間是完全不夠的,更多的需要自己課後的練習
  • 計算機二級《Python語言程序設計 最新版》電子教案PDF,請收下
    今天給大家整理了電子版的全國計算機等級考試二級教程,Python 語言程序設計 ,後面有電子版截圖和下載。
  • 慢步學習,來一次二級Python語言備考,二級考試的環境基礎
    2020年考試大綱(2018年版)現在考試都有一個大綱,有的放矢,按大綱走準沒錯。登入中國教育考試網,找到全國計算機等級考試考試大綱。赫然發現,2020年二級Python語言程序設計,考試大綱還是沿用2018年版。
  • 非計算機專業在大一期間該選修計算機基礎還是Python編程
    首先,對於非計算機專業的同學來說,在大一期間可以重點考慮選修一下Python程序設計,原因有三方面,其一是學習Python的過程能夠同時學習到很多計算機基礎知識,包括作業系統、資料庫、計算機網絡等,所以也把程式語言稱為打開計算機知識大門的鑰匙。
  • Python程序設計課程教學大綱
    《面向對象程序設計》課程教學大綱(執筆人:歐陽會丹   審核人:   教學院長:   )一、課程簡介(一)課程代碼 B1811050730(二)課程名稱(含英文名稱)面向對象程序設計(Object Oriented Programming)(三)修讀對象軟體工程、物聯網工程方向(三)總學時與學分 40
  • Python通識課教與學(教學大綱和教案)
    《Python程序設計(通識課)》教學大綱
  • 2019年武漢紡織大學專升本《C語言程序設計》詳細考試大綱
    [導讀]湖北湖北普通專升本網權威發布《2019年武漢紡織大學專升本《C語言程序設計》詳細考試大綱》,由胡老師整理髮布,更多2019年武漢紡織大學專升本《C語言程序設計》詳細考試大綱
  • 【好課推薦】嵩天:Python語言程序設計
    第7周結束將熟練編寫50行左右Python程序,正式成為程式設計師(業餘)一族第9周結束將能夠編寫100行以上Python程序,拿個證書同時開始像專業程式設計師一樣思考課程主要講解「Python基礎語法」全體系,包括3個教學部分,共9周內容,教學安排如下: 第一部分,共2周:Python快速入門,初識Python語言,講解基本的程序設計方法
  • Java程序設計及課程設計教與學(64、56和48學時教學大綱)
    ,教學大綱,教案,試卷,習題答案,配套習題和實驗指導一、課程的性質和教學目的課程性質:Java不依賴平臺的特點使得它受到廣泛的關注,已成為網絡時代最重要的程式語言之一。目前,Java語言不僅是一門正在被廣泛使用的程式語言,而且已成為軟體開發人員應當掌握的一門基礎語言,因為很多新的技術領域都涉及到了Java。國內外許多大學已將Java語言列入了本科教學計劃,掌握Java已經成為共識。《Java程序設計》是軟體工程專業、計算機科學與技術等相關專業的一門重要的程序設計語言類的必修課程。
  • 2020計算機二級Visual Basic語言程序設計網課視頻輔導班
    (2)00:20:3310第2章 程序設計基礎(3)00:48:3611第3章 軟體工程基礎(1)00:34:4612第3章 軟體工程基礎(2)00:31:3613第3章 軟體工程基礎(3)00:40:3214第3章 軟體工程基礎(4)00:59:3415第3章 軟體工程基礎(5)00:06:2716第4章 資料庫設計基礎(1)00:30:5317第4章 資料庫設計基礎(2)00:39:3118第4
  • 十六本python入門學習書籍推薦,python入門新手必看
    隨著人工智慧時代的到來,python程式語言一步登天衝到編程排行榜第一名,因此更多朋友想轉行學習python程式語言的朋友,可以一起看一下:python入門新手必看的十六本python入門學習書籍1、python基礎教程司維所著圖書:本書包括Python程序設計的方方面面,首先從Python
  • 2020年井岡山大學專升本招生專業及考試大綱
    本考試大綱依據教育部頒發的英語教學大綱制訂,對英語專業專升本的學生進行考試,考核學生的詞彙,語法知識和閱讀,翻譯、寫作能力,重點測試學生的語言運用能力。5.參考書目:《現代大學英語精讀1》(第二版),楊立民主編,外語教學與研究出版社出版。《初級英語聽力》課程考試大綱一、考試科目概述《初級英語聽力》課程屬於學科基礎課程,教學對象為大學英語專業學生。
  • C#程序設計教程 | 教與學(教學大綱)
    >執筆人:xxx,xxx,xxx 編寫日期:年 月1.課程名稱:C#程序設計教程2.課程編號:3.課程體系/類別:4.課程性質:5.學分:36.先修課程:數據結構、離散數學、程序設計基礎、Java程序設計7.適用專業:計算機科學與技術專業、網絡空間安全專業或其他相近專業本課程是為計算機科學與技術
  • 使用Python編寫屬於自己的錄音軟體
    參考代碼:運行界面:」可以查看Python教學資源。董付國老師Python系列圖書---1)《Python程序設計(第2版)》清華大學出版社(2018年8月第9次印刷)https://item.jd.com/11949168.html2)《Python可以這樣學》清華大學出版社(2018年7月第6次印刷)(本書已在臺灣發行繁體版)https://item.jd.com/12040511.html3)《Python程序設計基礎
  • 《電腦程式設計基礎》課程思政教學案例分享
    以下課程思政教學案例內容來源於中南大學教師教學發展中心。「電腦程式設計基礎」是一門重要的公共基礎課,涉及的專業面廣,學生人數多。課程以C++或Python語言作為程序實現工具,重點講授程序設計的基礎知識與基本方法,在使學生掌握利用計算機解決實際問題的基本過程和思維規律的同時,課程團隊強調將聯合國教科文組織倡導的「學會做事、學會做人、學會學習和學會與人相處」的教育貫穿於課程教學過程,承擔起全員育人的責任。