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

