python—函數執行個體2

來源:互聯網
上載者:User

標籤:python

一、遞迴

 幾種常用內建函數方法:

1)os.listdir():列出第一層目錄檔案

In [14]: os.listdir("/root/python")Out[14]:['20.py','1.py','19.py','21.py']

2)os.path.isdir():判斷是不是目錄

In [13]: os.path.isdir("/root/python")Out[13]: True

3)os.path.isfile():判斷是不是檔案

In [15]: os.path.isfile("/root/python/1.py")Out[15]: True

4)os.path.join():拼接路徑

In [16]: os.path.join("/root/python","dir1","dir2")Out[16]: '/root/python/dir1/dir2'


練習:使用遞迴列出目錄下的所有檔案

#!/usr/bin/env pythonimport osimport sysdef print_file(path):lsdir = os.listdir(path)for i in lsdir:if os.path.isfile(os.path.join(path,i)):print os.path.join(path,i)if os.path.isdir(os.path.join(path,i)):print_file(os.path.join(path,i))print_file(sys.argv[1])

 或:

#!/usr/bin/env pythonimport osimport sysdef print_file(path):lsdir = os.listdir(path)files = [i for i in lsdir if os.path.isfile(os.path.join(path,i))]dirs = [i for i in lsdir if os.path.isdir(os.path.join(path,i))]if files:for fl in files:print os.path.join(path,i)if dirs:for dr in dirs:print_file(os.path.join(path,dr))print_file(sys.argv[1])



二、匿名函數:lambda,冒號前是變數參數,冒號後是傳回值

 reduce()方法:無需定義函數,直接使用匿名函數即可

 練習:累加

In [18]: reduce(lambda x,y:x+y,range(1,101))Out[18]: 5050



三、內建函數

1)abs():絕對值


2)max() min():序列的最大最小值


3)len():取長度,序列和字典都可以


4)divmod():返回商和餘數


5)pow(): 取冪

 說明:兩個數,冪;三個數,先冪,再取餘數


6)round():保留小數位

 說明:先變成浮點數,再保留小數


7)callable():判斷一個對象是不是可調用的:函數、類可以調用,變數不可以調用


8)type():查看對象的類型


9)isinstance():判斷是不是指定的類型


10)cmp():比較兩個數字、字串


11)range()、xrange():一個返回列表、一個返回對象(遍曆時才有值)


12)complex():轉變成一個負數


13)str():轉換成字串,可以是列表,也可以是字典




python—函數執行個體2

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.