Python學習-20180105

1、打印出目錄下全部的文件函數

使用遞歸來實現對象

os模塊:os.listdir('.') 列出目錄下的文件遞歸

os.path.isdir()判斷是不是一個目錄io

os.path.isfile()判斷是不是一個文件import

os.path.jion('')用路徑鏈接文件匿名函數

 

代碼以下:基礎

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 dir():
        for d in dirs:
            print_files(os.path.join(path,d))
print_files(sys.argv[1])

 

2、匿名函數lambda

lambda 函數是一種快速定義單行的最小函數,能夠用在任何須要函數的地方。file

#普通函數
def fun(x,y):
    return x*y
#lambda版本:
l = lambda x,y:x*y
print (l(2,3))

匿名函數的優勢:im

  •  使用lambda能夠省去定義函數的過程,讓代碼更加精簡。
  • 對於一些抽象的,不會被別的地方再重複使用的函數,使用lambda不須要考慮命名的問題
  • 使用lambda使代碼更容易理解

基礎:

lambda中,冒號前是參數,能夠有多個,逗號隔開,冒號右邊是返回值。

lambda語句構建實際上是一個函數對象。

reduce內置函數

使用lambba和reduce計算1-100累加:

reduce (lambda x,y:x + y,range(1,101))
相關文章
相關標籤/搜索