Python学习笔记 高级主题
1.列表的递归---用于输出列表字符串中的每个元素 >>> def printList(L):
#如果为空,则什么都不做
if not L:
return
#如果是链表,则对第一个元素调用printList函数
if type(L[0])==type([]):
printList(L[0])
else:#如果不是链表,仅输出元素即可
print L[0]
#处理L的其他部分
printList(L[1:]) >>> aList=['a',['b','c',['d','e']],'f',[],'g']
>>> printList(aList)
a
b
c
d
e
f
g
>>> 由于上例中是列表的嵌套,所以我们必须测试首项是否为一个列表,如果是,则递归调用printList()函数,如果不是,那我们就简单地打印它。处理完首项后,我们将继续处理列表的其他各项。 在大型数据结构中,递归会耗尽内存,因此,如果你的内存比较小,或者想处理很大的数据结构,那么使用更复杂的常规代码可能更安全些。 2.Python有三种名字空间: 局部---在类,模块或方法中定义的名字 模块---在文件中定义的名字 内置---python自身定义的名字 如果要访问模块名字空间,使用import 3.事件驱动编程:面向批处理的程序流程是---启动程序,处理事情,然后终止程序;而事件驱动程序流程是---只有通过事件触发,程序才启动程序,等待事件,然后由事件通知它终止 编写事件驱动程序有两种方式:一是模拟一个事件环境;二是创建一个简单的GUI程序,该程序可利用操作系统和环境来生成事件。 事件捕获和处理的独立性是事件驱动编程的关键特性。
相关文档:
多个执行线程经常要共享数据,如果仅仅读取共享数据还好,但是如果多个线程要修改共享数据的话就可能出现无法预料的结果。
假如两个线程对象t1
和t2
都要对数值num=0
进行增1运算,那么t1
和t2
都各对num
修改10
次的话,那么num
最终的结果应该为20
。但是如果当t1
取得num
的值时(假如此 ......
#快速排序
def Partition(mylist, low, high):
tmp = mylist[low]
while low < high:
while low < high and mylist[high] >= tmp:
high = high - 1
if low < high:
mylist[low] = mylist[high]
low = low + 1
while low < hi ......
情景一:
在文件夹里有六十多个RM格式的视频文件,我现在需要把它们的文件名都提取出来,并去掉文件的扩展名,以便放到需要的网页里。
应该有什么软件可以完成这个简单的要求,可是一时间到哪里去找这 样一个符合要求的软件呢?总不能手工完成把。在Linux上用强大的shell脚本应该也可以完成,可是使用Windows的朋友呢?其 ......
我的环境是:Linux version 2.4.21-4.EL
(bhcompile@daffy.perf.redhat.com) (gcc version 3.2.3 20030502 (Red Hat
Linux 3.2.3-20)) #1 Fri Oct 3 18:13:58 EDT 2003 + Python2.6.4
本文结合我安装时候的问题,总结而成
用户目录如/home/liuguanyu/ , 保证用户有root权限
1,看看有没有安装
&nbs ......