Python学习笔记---高级主题
2010-04-10 21:58
232 查看
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程序,该程序可利用操作系统和环境来生成事件。
事件捕获和处理的独立性是事件驱动编程的关键特性。
>>> 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程序,该程序可利用操作系统和环境来生成事件。
事件捕获和处理的独立性是事件驱动编程的关键特性。
相关文章推荐
- Python 学习笔记(三):文件,高级特性,枚举,正则表达式,模块
- Python学习笔记--高级特性
- 【Python】学习笔记——-8.3、面向对象高级编程:3.多重继承
- python 学习笔记day07-python函数高级应用
- 【Python学习笔记】python高级特性:迭代
- Python学习笔记(十)—— 高级特性
- python学习笔记4.1-python高级之生成器
- python2.7学习笔记(6) ——高级特性:切片、迭代、列表生成式、生成器
- python学习笔记(三)高级特性
- 【Python】学习笔记——-8.6、面向对象高级编程:6.使用元类
- Python3 学习笔记17_高级特性(生成器)_20180307
- python学习笔记-高级特性-切片(Slice)
- Python学习笔记7-高级迭代器
- C#学习笔记之线程 - 高级主题:非阻塞同步
- Python学习笔记——高级特性
- Python高级特性(切片 迭代 列表生成式 生成器 迭代器)学习笔记
- python学习笔记(5)-高级特性(一)-切片
- 廖雪峰Python教程 学习笔记11 面向对象高级编程
- 【Python】学习笔记——-8.1、面向对象高级编程:1.使用__slots__
- python学习笔记4.2-python高级之迭代器