最近,“Python将纳入高考”的消息,狠狠地刷了朋友圈。
尽管这则消息目前还未得到官方的确认,但人们对于Python的火热关注度,还是引来众程序员热议。
虽然小编资历尚浅,但还是有话要说。
python是小编用过的最简易实用的一门语言,这就举几个例子。
(1)查找文件
Cer们,你知道,“遍历目录找出文件”,重头实现这个功能都很费劲,对吧?
那python是怎么做到的呢?代码如下:
#!/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 fullpath
traverse('xxx/targetdir')
是不是很简单?而且,还没有提到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 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语言之类太多细节要考虑而且还各种效果上的打折扣,是很打击人的!)、培养抽象设计、培养模块设计,这样的角度来考虑,小编是赞成小学生也来学习的!
更重要的是,同学们,你们又有机会打电脑了!
最后,如果对python感兴趣,也可以关注我们,加入我们的技术讨论群哦!