關於初學python的心得體會


  

一、個人學期總結

本學期在missdu的帶領下,進行了python的學習,共在博客園發布了40篇學習隨筆,學習過程可分為3個階段。前期理論教授,理解管路信息系統,基礎練習,中期開始網頁的制作,后期為網頁增加功能。

前期

用Python進行簡單算數計算。了解turtle庫(海龜庫),在此環境中練習條件、循環、函數定義的代碼敲打,並畫出了五角星、同心圓、太陽花、中國國旗等。隨后便學習了字符串的基本操作,學會輸入字符串,輸出代碼計算后的結果。還學習了凱撒密碼、GDP格式化輸出、九九乘法表等簡單操作。利用python進行英文詞匯統計,組合數據類型練習,用文件形式實現完成的英文詞頻統計、中文詞頻統計。利用datetime處理日期和時間,將字符串轉化成imestamp與timedelta,同時了解管理信息系統概念與基礎,理解數據存儲的方式如字典、列表、元祖、集合,了解到Web是圖形化的和易於導航的、與平台無關、是分布式的、是動態的、是交互的。

 

中期

來到本學期的重頭戲——web的學習,學會認識URL,會觀察網站網址,區分組成部分,練習用標簽制作簡單的頁面,用html制作web頁面,練習使用下拉列表選擇框、無序列表、有序列表、定義列表。開始制作自己的導航條(HTML頭部元素:<base>  定義了頁面鏈接標簽的默認鏈接地址。<style>  定義了HTML文檔的樣式。<link>  定義了一個文檔和外部資源之間的關系)。練習樣式表:行內樣式表、內嵌樣式表、外部樣式表。分別練習定義三類選擇器:HTML 選擇器、CLASS 類選擇器、ID 選擇器。初步運用css做圖片導航塊,使用JS定義函數進行登錄注冊驗證,完成登錄與注冊頁面的前端,夜間模式的開啟與關閉。

 

后期

開始Flask項目,加載靜態文件,父模板的繼承和擴展,連接mysql數據庫,創建用戶模型,建立mysql和app的連接。通過用戶模型,對數據庫進行增刪改查操作。完成注冊功能,將界面的數據存到數據庫,redirect重定向登錄頁。完成登錄功能,用session記住用戶名,像操作字典一樣操作‘session’:增加用戶名‘session[‘username’]’=username。登錄之后更新導航,用上下文處理器app_context_processor定義函數,獲取session中保存的值,返回字典,在父模板中更新導航,插入登錄狀態判斷代碼。完成注銷功能,清除session。發布功能的實現,制作首頁的顯示列表,首頁列表顯示全部問答,完成問答詳情頁布局,從首頁問答標題到問答詳情頁,完成評論功能,完成評論列表顯示及排序,個人中心顯示,個人中心標簽頁導航,完成個人中心—導航標簽,實現搜索功能(包括高級搜索等),最重要的是實現密碼加密功能,還有模型分離與數據遷移,使代碼更簡潔更有保存用戶的確定狀態。

 

陳楠芸個人隨筆鏈接

 

二、總結Python+Flask+MysqL的web建設技術過程

學習Python需要掌握如下基礎知識以及相關技能。

1.Python基礎知識(變量、語句、數據類型、數值類型、字符串、布爾類型、列表、字典、元組、條件語句、循環語句、函數、裝飾器、面向對象、網絡socket、爬蟲)

2.Python基礎庫(模塊、包、系統模塊、三方模塊)

3.python文件處理(讀、寫、執行、)

4.python字符統計

5.python數據排序

1.1初學者的困境

只記Python基礎語法,卻沒什么鳥用。就像幼兒園,老師在黑板上寫的‘肉’字,記住這個字咋寫,一筆一划的記住,只需要半天,但是把這個詞和你平時吃的東西綁定,以至於后面你想到這個字,就流口水,需要日常的重復訓練。

同理:無方向的看書,看視頻也沒什么用,其實可以通過直接實戰來上手,比如:文件操作、字符排序、網絡編程。

錯誤的學習方法:

很多人在學習Python的時候常常會犯下面一種情況:買一本厚厚的編程指南,逼自己看完,記住每個語法,閉門看書三個月,吃透一本書,最后一行代碼也寫不出來。

正確的學習方法:

編程就像騎自行車,買一本<<騎自行車大全>>是沒有什么用的。

正確姿勢:掌握最基礎的姿勢,就可以騎上車出發了,實際聯系幾天,摔幾跤,基本就學會了。

1.2對自我進行檢測:

(1)給你一個字符串“come baby,python rocks!” 如何統計里面字母o出現的次數!

思路:遍歷字符串,定義一個變量,每次o出現,都+1。

(2)給你一個字符串“come baby,python rocks!” 如何統計這里面所有字母出現的次數!(普通變量肯定無法完成。)

思路:需要使用字典這類復雜的數據結構處理,字母當key,出現的次數當value,每個key出現,對應的value+1。

(3)給你一個字符串“come baby,python rocks!” 如何統計這里面字母出現次數的前三名!

思路:排序,取出前三。

2.如何學習python庫、模塊

將多個代碼塊(按功能)定義到同一個文件中。別的文件中使用時則先導入模塊,在調用模塊內變量或函數。

(1)模塊學習方法:

a.先知道有沒有

b.用的時候在查

(2)模塊命名要符合python變量的命名規范:

a.建議全小寫英文字母和數字

b.避免與常用模塊或第三方模塊名稱沖突

控制模塊內代碼在使用python mod.py時執行,在導入時不執行

a.通過Global內變量__name__進行判斷

b.當以python mod.py運行腳本時__name__變量為__main__字符串

c.當以模塊導入時__name__為模塊名稱字符串

3.包:

將不同模塊文件放在不同文件夾內,包文件夾下面需要有__init__.py文件用以聲明該文件為Python包。

使用時需要從包內導入模塊后調用模塊中變量和函數。

4.正確的編程思路以及學習方法:

計算機是人發明的,目的就是完成人的手動工作,跳不出人的思維。

(1)弄清楚想要解決的問題。

(2)思考自己如何去解決問題

(3)畫流程圖(偽代碼編寫)

(4)翻譯成編程語言

(5)運行調試代碼

重要:多抄、多寫、多想、多問、多看、多聽、多說

(1)學習編程就是為了解決實際的問題,把自己在工作或學習中的重復工作程序化

(2)谷歌和度娘

(3)加入開源社區(多看、多分享、多交流)

(4)參加培訓輔導(仔細聽課、跟上課堂學習,有問題做記錄,課后查閱資料或請求他人)

(5)善於記錄筆記,不斷總結,查漏補缺。

Flask

Flask是一個面向簡單需求小型應用的“微框架(microframework)”,Flask選擇組件的額外工作給那些使用案例不適用標准ORM的開發者提供了更多的靈活性,同樣也給使用不同工作流和模版化系統的開發者們帶來了靈活性。
雖然Flask歷史相對更短,但它能夠學習之前出現的框架並且把注意力放在了微小項目上。它大多數情況被使用在一些只有一兩個功能的小型項目上。例如 httpbin,一個簡單的(但很強大的)調試和測試HTTP庫的項目。Flask的hello world應用非常的簡單,僅僅單個Python文件的7行代碼就夠了。

# from http://flask.pocoo.org/ tutorial

from flask import Flask

app = Flask(__name__)

@app.route("/") # take note of this decorator syntax, it's a common pattern

def hello():

    return "Hello World!"

if __name__ == "__main__":

app.run()

Flask沒有bootstrapping工具的原因:沒有它們的需求。從Flask主頁上的Hello World特性看,沒有構建Python web應用經驗的開發者可以立即開始hacking。

對於各部分需要更多分離的項目,Flask有blueprints。例如,你可以將所有用戶相關的函數放在users.py中,將銷售相關的函數放在ecommerce.py中,然后在site.py中添加引用它們來結構化你的Flask應用。我們不會深入這個功能,因為它超出了我們展示demo應用的需求。

Flask對於那些開發小項目、需要快速制作一個簡單的Python支撐的網站的開發者很有用。它提供小型的統一工具,或者在已有的API上構建的簡單網絡接口。可以快速開發需要簡單web接口並不怎么配置的后端項目使用Flask將會在前端獲益,如jitviewer提供了一個web接口來檢測PyPy just-in-time的編譯日志。

 

通過missdu的教學,我基本熟悉python的基礎操作,python是現如今運用的最廣的語言之一,能夠在學校學習到這門技術真的很不錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM