打印目录下所有文件

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函数是一种快速定义单行的最小函数,可以用在任何需要函数的地方。

匿名函数优点:

  1. 使用python写一些脚本时,使用lanmbda可以省去定义函数的过程,让代码更加精简。
  2. 对于一些抽象的,不会被别的地方再重复使用的函数,有时候函数起个名字也是个难题,使用lambda不需要考虑命名的问题。
  3. 使用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

解释:

  1. 调用add函数,分别执行abs(-8) 和abs(11),分别计算出他们的值
  2. 最后做和运算
  3. Map()函数

Map函数

day31-python阶段性复习五的更多相关文章

  1. Python并发复习1 - 多线程

    一.基本概念 程序: 指令集,静态, 进程: 当程序运行时,会创建进程,是操作系统资源分配的基本单位 线程: 进程的基本执行单元,每个进程至少包含一个线程,是任务调度和执行的基本单位 > 进程和 ...

  2. 初学 Python(十五)——装饰器

    初学 Python(十五)--装饰器 初学 Python,主要整理一些学习到的知识点,这次是生成器. #-*- coding:utf-8 -*- import functools def curren ...

  3. Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块

    Python第十五天  datetime模块 time模块   thread模块  threading模块  Queue队列模块  multiprocessing模块  paramiko模块  fab ...

  4. python学习第五次笔记

    python学习第五次笔记 列表的缺点 1.列表可以存储大量的数据类型,但是如果数据量大的话,他的查询速度比较慢. 2.列表只能按照顺序存储,数据与数据之间关联性不强 数据类型划分 数据类型:可变数据 ...

  5. Python学习第五堂课

    Python学习第五堂课推荐电影:华尔街之狼 被拯救的姜哥 阿甘正传 辛德勒的名单 肖申克的救赎 上帝之城 焦土之城 绝美之城 #上节内容: 变量 if else 注释 # ""& ...

  6. day27-python阶段性复习-基础

    一.基础资料,安装python Python 跨平台的,(Linux,Windows,mac) 网站www.python.org 解释器交互方式 Ipython Python shell https: ...

  7. Python爬虫进阶五之多线程的用法

    前言 我们之前写的爬虫都是单个线程的?这怎么够?一旦一个地方卡到不动了,那不就永远等待下去了?为此我们可以使用多线程或者多进程来处理. 首先声明一点! 多线程和多进程是不一样的!一个是 thread ...

  8. Python爬虫实战五之模拟登录淘宝并获取所有订单

    经过多次尝试,模拟登录淘宝终于成功了,实在是不容易,淘宝的登录加密和验证太复杂了,煞费苦心,在此写出来和大家一起分享,希望大家支持. 温馨提示 更新时间,2016-02-01,现在淘宝换成了滑块验证了 ...

  9. Python爬虫入门五之URLError异常处理

    大家好,本节在这里主要说的是URLError还有HTTPError,以及对它们的一些处理. 1.URLError 首先解释下URLError可能产生的原因: 网络无连接,即本机无法上网 连接不到特定的 ...

随机推荐

  1. Codeforces 958C3 - Encryption (hard)

    C3 - Encryption (hard) 思路: 记sum[i]表示0 - i 的和对 p 取模的值. 1.如果k * p > n,那么与C2的做法一致,O(k*p*n)复杂度低于1e8. ...

  2. Python全栈开发-Day10-进程/协程/异步IO/IO多路复用

    本节内容 多进程multiprocessing 进程间的通讯 协程 论事件驱动与异步IO Select\Poll\Epoll——IO多路复用   1.多进程multiprocessing Python ...

  3. FreeRTOS

    一.内核配置 1.configUSE_PREEMPTION 设置为1,使用抢先式内核:设置为0,为合作轮转内核. 2.configCPU_CLOCK_HZ 内部处理器执行的频率.这个值需要正确配置外围 ...

  4. lombok插件:Data自动get/set方法, Slf4j实现Logger的调用

    lombok插件:Data自动get/set方法, Slf4j实现Logger的调用 lombok.Data import lombok.Data; import org.hibernate.anno ...

  5. TCHART FROM DATATABLE

    using System;using System.Collections;using System.ComponentModel;using System.Drawing;using System. ...

  6. 20165303 魏煜第四次实验 Android开发

    实验内容 1实验要求: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblog ...

  7. sgu 169 Numbers

    题意:n和n+1同时被数位乘积整除的k位数个数. 假如a是237,b是238.由于个位以前的数一样.那么对于2,如果a%2==0,b%2就!=0,如果a%3==0,b%3就!=0.因此个位以前的数只能 ...

  8. android -------- ConstraintLayout 宽高比和偏移量比(三)

    前面的文章 ConstraintLayout 介绍 (一) ConstraintLayout约束属性 (二) 此博文主要讲解: app:layout_constraintHorizontal_bias ...

  9. 机器学习ML策略

    1.为什么是ML策略 例如:识别cat分类器的识别率是90%,怎么进一步提高识别率呢? 想法: (1)收集更多数据 (2)收集更多的多样性训练样本 (3)使用梯度下降训练更长时间 (4)尝试Adam代 ...

  10. Linux简介和安装

    Andrew S. Tanenbaum参考Unix,写了Minix,并开源,Linus Torvalds以其为模板写了Linux. Linux包含内核版本和发行版本. Linux内核版本 Linux内 ...