打印目录下所有文件
os 模块
os.listdir(‘/home’) 列出目录下所有文件
os.path.isdir(‘/home’) 判断一个文件是不是一个目录
os.path.isfile(‘/home’) 判断一个文件是不是一个文件
os.path.join 连接文件
代码 #/usr/bin/python import os import sys def print_files(path): lsdir = os.listdir(path) dirs = [i for i in lsdir if os.path.isdir(os.path.join(path,i))] files = [i for i in lsdir if os.path.isfile(os.path.join(path,i))] if files: for f in files: print os.path.join(path,f) if dirs: for d in dirs: print_files(os.path.join(path,d)) print_files(sys.argv[1])
匿名函数
lambda函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方。
匿名函数优点:
- 使用python写一些脚本时,使用lanmbda可以省去定义函数的过程,让代码更加精简。
- 对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
- 使用lambda在某些时候让代码更容易理解。
lambda基础
lambda语句中,冒号前是参数,可以有多个,逗号隔开,冒号右边是返回值。
lambda语句构建的其实是一个函数对象。
reduce内置函数,对序列进行前面函数操作。必须是二元计算。
python内置函数
https://docs.python.org/2/library 查看内置函数
abs(-10) 返回一个数的绝对值
max([1,23,4]) 求最大值 可以是字符串,比较可迭代对象, 也可比较单独字符串
min([1,23,4])求最小值
len('123124') 取字符串长度.
divmod(4,1) 返回一个元组,除法运算,返回商和余数.
pow(2,3) 乘方运算,返回乘方值,x的y次方,3个参数,x的y次方与z去余
round(12.8) 四舍五入运算,
print round(12.83,2) 四舍五入运算, 保留俩位小数.
float(24.45) 将数值变成浮点数.
callable() 查看对象是否可调用,函数,类可调用
type() 类型,查看对象类型
isinstance(a,int) 排断对象是否是定义的类型,如果是返回TRUE,否则返回False,排断类
cmp(x,y)x<y,返回-1,x=y返回0,x>y返回1
range()返回数字列表
xrange()返回可迭代对象
类型转换函数
int()对象返回整型
long()对象返回长整型
float()对象返回浮点型
complex()对象转换成浮数
str() 转换成字符串
list()对象返回是列表
tuple()对象返回列表
hex()对象返回十六进制字符串
oct()对象返回八进制字符串
chr()对象返回值是当前参数对象的ascii码
ord()对象返回值是ascil码的值
eval()将字符串当有效的值求值
高阶函数
高阶函数:就是把函数当成参数传递的一种函数,例如:
def add(x,y,f):
return f(x)+f(y)
print(add(-8,11,abs))
结果:
19
解释:
- 调用add函数,分别执行abs(-8) 和abs(11),分别计算出他们的值
- 最后做和运算
- Map()函数
Map函数