01月05日 三周四次Python基础进阶

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01月05日 三周四次Python基础进阶相关的知识,希望对你有一定的参考价值。

1.8 递归列出目录里的文件
1.9 匿名函数



1.8 递归列出目录里的文件

#### 遍历目录里的文件(不支持子目录文件)
import os
for i in os.listdir(‘C:/Users/Administrator/Desktop/技术文档‘):
    print (i)
###########################################
#### 目录是否存在
import os
d = os.path.isdir(‘C:/Users/Administrator/Desktop/技术文档/.‘)
print(d)
> True
#### 文件是否存在
import os
d = os.path.isfile(‘C:/Users/Administrator/Desktop/技术文档‘)
print(d)
> False
#### 路径连接
import os
d = os.path.join(‘C:/Users/Administrator/Desktop‘,‘aa‘,‘bb‘)
print(d)
> C:/Users/Administrator/Desktop\aa\bb
######################################################
#### 遍历目录里的文件和子目录里的文件 
import os
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(‘C:/Users/Administrator/Desktop/技术文档‘)

1.9 匿名函数

匿名函数

  • lambda函数是一种快速定义单行的最小函数, 可以用在任何需要函数的地方

    lambda

    defun(x, y):
    return x*y
    #
    r = lambda x,y:x*y
    print(r(2,3))     # 调用
    > 6
  • 匿名函数优点:
    • 1.使用python写一些脚本时, 使用lambda可以省去定义函数的过程, 让代码更加精简
    • 2.对于一些抽象的, 不会被别的地方再重复使用的函数, 有时候函数起个名字也是个难题, 使用lambda不需要考虑命名的问题
    • 3.使用lambda在某些时候让代码更容易理解

      lambda基础

  • lambda语句中, 冒号前是参数, 可以有多个,逗号隔开, 冒号右边是返回值
  • lambda语句构建的其实是一个函数对象

    lamdba使用

    from functools import reduce
    def add(x, y):
    return x + y
    sum = reduce(add, range(1,101))
    print(sum)
    > 5050
    #
    from functools import reduce
    print(reduce(lambda x,y:x+y, range(1,101)))
    > 5050

习题

  1. 从终端接收若干个数字,要求使用filter()函数,将输入的不是数字的值剔除掉(用户输入的内容有随机性,当我们要接收一个数字的时候,他可能会输入一个字符串过来,要求当用户输入的不是数字,就剔除掉)


  1. 从终端接收若干个以空格隔开的字符串,然后去除所有的26个字符之外的字符后,打印到屏幕上
    要求:使用map()函数,map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。


  1. 从终端接收若干个以空格隔开的字符串
    (1).以空格隔开的字符串为用户想要输入的一个值
    (2).用户在输入时不小心按出来了字母键


以上是关于01月05日 三周四次Python基础进阶的主要内容,如果未能解决你的问题,请参考以下文章

十三周四次课(3月22日

三周第四次课(2月8日)

三周第四次课(12月28日)

三周第四次课(2月8日)

01月12日 四周五次Python基础进阶

01月10日 四周三次Python基础进阶