曾经,“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 fullpathdomtraverse(‘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语言之类有太多细节要考虑并且还各类效果上的打折扣,是很打击人的!)、培养抽象设计、培养模块设计这个角度来考虑,小程是同意小学生也来学习的!
更重要的是,同窗们,大家又有机会打电脑了!想一想当年小程打坦克时多么愉快啊!
猜你喜欢
声音采集的概念 |
本文分享自微信公众号 - 广州小程(gzxc2018)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。