任务:
复习5次课(12月2日)
1.8 递归列出目录里的文件
1.9 匿名函数2.0-2.4 内建函数
笔记:
递归的注意事项
必须有最后的默认结果 if n == 0递归参数必须向默认结果收敛的: factorial(n-1)
递归列出目录里的文件
def print_files(path): isdir, isfile, join = os.path.isdir, os.path.isfile, os.path.join lsdir = os.listdir(path) dirs = [i for i in lsdir if isdir(join(path,i))] files = [i for i in lsdir if isfile(join(path,i))] if dirs: for d in dirs: print_files(join(path,d)) if files: for f in files: print join(path,f)print_files(sys.argv[1]) 匿名函数python 使用 lambda 来创建匿名函数。
lambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。 示例:#!/usr/bin/python# -*- coding: UTF-8 -*-# 可写函数说明sum = lambda arg1, arg2: arg1 + arg2;# 调用sum函数print "相加后的值为 : ", sum( 10, 20 )print "相加后的值为 : ", sum( 20, 20 )内建函数:
常用函数:
abs()max()min()len()divmod()pow()round()callable()type()isinstance()cmp()range()xrange()
类型转换函数
int()long()float()complex()str()list()tuple()hex()oct()chr()ord()eval()字符串处理函数
str.capitalize()str.replace()str.split()str.join()string模块 序列处理函数len()max()min()序列处理函数
filter()zip()map()reduce()