匯智動力教你四天掌握Python編程
好幾年前了,在成都的一個QQ群里,有人問,C語言要學多久才能學會,我回答了,4天!一堆人罵我,說我是大忽悠、瞎扯的,唉,心塞……
知識點已經很多了,如果有大把的時間,大把的精力,當然可以花1年,甚至更久的時間學習了。但是,我們學習C語言的目的是啥?能解決什么問題?這才是學習的關鍵!
拿來主義,站在巨人的肩膀上成長,不要重復造輪子,這些經常聽的學習理念,同樣適用于現在的學習方式,以C語言為例,如果僅僅是為了在性能測試活動中,能夠利用LoadRunner完成測試腳本的基本開發、優化,能夠調用dll文件,那我覺得4天絕對夠了。
第一天:了解程序編譯的方式,不用去理解原理,照葫蘆畫瓢,裝上編譯器,如DevC++,抄個C語言代碼,如“hello,world”,跑起來就行。然后學習數據類型,不用考慮那么多的,只需要知道int、float、char就行了,什么長短的,你管他干啥接著常量、變量定義,寫些簡單小代碼,熟悉熟悉就可以了。
第二天:順序、選擇、循環執行方式,寫個案例小代碼,搞定,練習可以用小球自由落地,三色球組合等。
第三天:學習數組,函數,主要弄清楚基本的業務邏輯,比如函數的調用,輸入輸出,是否有返回值等,至于什么按值輸入,按引用輸入,什么指針,你管他干啥...
第四天:多記記C語言常用的函數,起碼以后用到或者想用的時候,能夠聯想起來有這么個函數,然后再去查。
四天,C語言學完了,然后再用到LoadRunner里就行了,出問題咋辦,百度啊,百度不行,就google啊,再不行,問同學,問老師,問技術大神啊……
其實,現在任何人學習,尤其是進入社會的,在學習的過程中,根本沒有那么多時間給我們,如果你的領導給你一個任務,就要求你在三天內搞定,你怎么辦?你需要多久?完全取決于你的學習方法及學習能力,人性化,只是相對的,人才,也是在這樣的環境下顯現出來的……
對于Python,從學習到應用,我花了半天時間,當然,寫出能用的代碼,解決項目中的問題,還得結合實際項目來說。
Python1-介紹
Python2-安裝
Python3-基礎
Python3.1-輸出
Python3.2-輸入與輸出
Python3.3-變量與數據類型
Python3.4-運算符與表達式
Python3.5-字符串格式化
Python3.6-程序練習(猜數字)
Python4-控制流語句
Python4.1-if選擇結構
Python4.2-while循環結構
Python4.3-for循環結構
Python4.4-for循環練習(九九乘法表)
Python4.5-break與continue
Python5-模塊及函數
Python5.1-模塊
Python5.2-函數定義
Python5.3-函數變量
Python5.4-函數參數
Python5.5-函數返回值
Python6-數據結構
Python6.1-數據結構定義
Python6.2-索引操作符與切片操作符
Python6.3-列表的操作
Python6.4-字典的操作
Python6.5-字符串與列表的轉換
Python7-異常處理
Python8-最主要的編程思想-面向對象編程
Python8.1-面向對象編程思想
Python8.2-類和對象的定義
Python8.3-類變量和對象變量
Python8.4-面向對象語言的特性
Python9-程序與系統文件進行交互
Python9.1-文件讀取
Python9.2-文件寫入
Python9.3-程序練習(成績統計)
Python10-程序與數據庫服務器進行交互
Python10.1-數據庫連接
Python10.2-數據庫操作
Python10.3-程序練習(數據庫)
以上是孫得雄老師的python學習視頻的目錄,新手學習挺好的,網易云課堂和騰訊課堂上都有上傳,大家可以按部就班的學,但我的學習方法不是這樣。
與C語言學習一樣,我還是配環境,然后寫一個常見的代碼,如“hello,world”,起碼我有個能夠保證代碼運行的環境,這也是最基本的。
接下來,學數據類型,學變量、常量定義,學語法控制結構,再然后,就直接應用到案例。
在C語言中,只有面向過程,沒有面向對象,那如果我學習Python,怎么辦呢?
我以一個案例介紹下,其實就是把我們日常的思考行為,轉化為代碼,就容易解決了。
練習:假如有一輛汽車,速度是60km/h,從A地行駛到B地(距離100km),計算耗費的時間,分別以面向過程、面向對象兩種不同的編程思想設計程序。
上面的問題,先不要去想什么面向過程,面向對象,你就想想一個簡單的算術題,你咋做?
速度60,距離100,耗時就是100km/60(km/h)=1.67h
是不是很簡單?好,現在用python來寫,基本編程前面已經學了,就直接開干。
順序性代碼:
speed = 60
distance = 100
dtime = distance / speed
print('speed=%4.2f' %dtime)
上面的代碼,沒任何擴展性,就是你們家的東西,別人想用用不了,速度,距離變了,都得直接進家門,不安全,不方便。
好,那就用面向過程的方式,封裝起來,用函數的方法弄:
用有返回的值形式,寫成了函數,最后把時間打印出來。
從順序性編程,再封裝為函數,就像我們日常生活中的做飯一樣,沒經驗的時候,讓你炒一個菜,可能需要把各種配料,各種比例都告訴你,等你會了,自己腦子中有了框架,直接告訴你菜名就行了,這就是一個轉變。
現在問題又來了,上面的交通方式,是通用的,比如速度,距離,耗時,但不同的交通工具,可能屬性不同,比如自行車和小轎車相比,有個典型的區別屬性,就是小轎車有油耗屬性,自行車沒有(百公里大米飯5碗除外:)),那么問題來了,面向過程的方法無法做到區分,如果加入油耗,對于自行車來講,又不需要,這個時候可以提取公共的屬性,利用面向對象的思想來寫,
小轎車每公里的油耗假設是0.05,這樣可以在Driver基類基礎上衍生出car子類,這種就是面向對象,簡單來說,抽取公共的屬性,做到代碼,結構盡可能簡潔,盡可能省。
上面是個學習的小案例,我在學習的時候,都是從最簡單的入手,帶著案例去學,不會的就上網查,一般都能在很短的時間內解決問題。
對于每個人而言,不可能有太多的精力學習太多的東西,也不能什么都會,都精通,我們需要的是學習的方法,解決問題的能力,在我做項目外包或人力外包以及企業服務的時候,很多問題都是新的,都需要在極短的時間內完成,如果還是一板一眼的,那基本都失敗了。

