Python將歸入高考?

曾經,「Python將歸入高考」的消息,狠狠地刷了朋友圈。python

小程並無持續關注這個消息,好比官方有出來確認嗎?c++

但人們對於Python的火熱關注度,仍是引來衆程序員熱議。程序員

雖然小程資歷尚淺,但仍是有話要說,就聊一聊python。編程

python是小程用過的最簡易實用的一門語言,它所支持的衆多第三方庫更是讓人驚喜(固然,有時會亂),這就舉幾個例子。微信

(1)查找文件 
c語言的Cer們應該會贊成,「遍歷目錄找出文件」,實現這樣的功能都會很費勁,對吧?數據結構

那python是怎麼作到的呢?代碼以下:app

#!/usr/bin/python 
import os 
def traverse(dirpath): 
files = os.listdir(dirpath) 
for file in files: 
fullpath = os.path.join(dirpath, file) 
if os.path.isdir(fullpath): 
traverse(fullpath) 
else: 
print fullpathdom

traverse(‘xxx/targetdir’)socket

是否是很簡單?性能

並且,尚未提到glob的使用呢,用這個模塊來查找文件,真是簡單的很!

(2)讀取文件 
還記得c語言的getline嗎,python有readlines,並且更易用。

好比,刪除一個文件中的相鄰並且重複的行(產生一個新的文件;通常排序後再刪除重複行),能夠這樣寫(性能都不在考慮範圍內):

import os; 
def delduplicate(): 
fout = open(「newone.txt」, 「a+」) 
alllines = open(「original.txt」).readlines() 
for i in range(len(alllines)-1): 
one=alllines[i][0:21] 
two=alllines[i+1][0:21] 
if one!=two: 
fout.write(alllines[i]) 
fout.write(alllines[len(alllines)-1])

(3)批量爬取 
你還在用c語言的socket來組裝嗎?

python的urllib已經被普遍使用了。

好比,批量獲取某某平臺的歌曲,能夠這樣(注意紅框內的調用就好): 

(4)遊戲 
好比,寫一個猜數字的遊戲:

import random

secret=random.randint(0,100) 
temp=input(「請說出我想的數字:」); 
guess=int(temp) 
while guess!=secret: 
if guess>secret: 
print(「沒有這麼大,說個小的!」) 
else: 
if guess < secret: 
print(「過小了,說個大的!」) 
else: 
break 
temp=input(「猜錯了,再來一次吧:」) 
guess=int(temp) 
print(「厲害,猜對了!」)

(5)數據結構 
python的數據結構很實用。

好比「揹包問題」的解決:

def knapsack(w, ws): 
「」」 
w –揹包容量 
ws –物品重量列表 [1, 3, ..] 
「」」 
ret = [] 
s = [] 
i = 0 
cnt = len(ws) 
rest = w 
while s or i < cnt: # 棧爲空或者還有得裝 
while i < cnt and rest > 0: # 還有得裝且還有容量 
if rest >= ws[i]: # 裝得下就裝 
s.append(i) 
rest -= ws[i] 
i += 1 # 無論當前的是否裝得下,都要嘗試下一個 
if rest == 0: 
ret.append(s[:]) # one solution 
i = s.pop() 
rest += ws[i] 
i += 1 
return ret

(6)畫圖 
最後,用一個心圖來結束舉例: 

代碼是這樣的:

from turtle import * 
pensize(1) 
pencolor(‘red’) 
fillcolor(‘pink’) 
speed(5) 
up() 
goto(-30, 100) 
down() 
begin_fill() 
left(90) 
circle(120,180) 
circle(360,70) 
left(38) 
circle(360,70) 
circle(120,180) 
end_fill() 
up() 
goto(-100,-100) 
down()


那麼,python就萬能了嗎?

小程以爲,pyhton是解釋執行的語言,對於c/c++這些編譯執行的語言,在運行速度上仍是趕不上人家的,在某些場景並不適合用python來作開發。

可是,若是是從入門、培養編程興趣(像c語言之類有太多細節要考慮並且還各類效果上的打折扣,是很打擊人的!)、培養抽象設計、培養模塊設計這個角度來考慮,小程是同意小學生也來學習的!

更重要的是,同窗們,大家又有機會打電腦了!想一想當年小程打坦克時多麼愉快啊!


猜你喜歡

微信自動添加好友

微信升級限制的突破

給「微信羣」發送消息

給「QQ羣」發送消息


多媒體直播

聲音採集的概念


本文分享自微信公衆號 - 廣州小程(gzxc2018)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索