2018-11-28學習筆記

1. 多類型傳值和冗餘參數 

把元組做爲參數傳給函數:python

fun(*tuple)函數

注:命名參數後面跟元組,不能把元組放在命名參數前spa

fun(x=1, y=2)遞歸

注:x 和 y 不能改爲其餘字符,必須和函數定義的形式參數一致;import

 

字典傳值:file

fun(**dict)循環

字典的keys要和函數的行參一致方法

冗餘參數:im

向函數傳元組和字典命名

處理多餘實參

def fun(x,y,*args,**kwargs)

  • x y表示普通命名參數;
  • 接收冗餘參數用*args 和 **kwargs表示;
  • *args 會把多餘的參數寫到元組裏;
  • **kwargs 冗餘參數是默認參數類型或字典時寫入Kwargs;

 

2. 函數的遞歸調用

遞歸是函數內部調用本身,一般用來計算階層

計算階層有循環和遞歸兩種方法;

 

普通方法:

    - 使用循環

1到n遞乘:

#! /usr/bin/python

def factorial(n):

sum = 1

for i in range(1, n+1):

sum *= i

return sum

print factorial(5)

1到n遞加:

#! /usr/bin/python

def factorial(n):

sum = 0

for i in range(1, n+1):

sum += i

return sum

print factorial(100)

遞歸調用:

n到1遞乘:

def factorial(n):

   if n == 0:

        return 1

   else:

        return n * factorial(n-1)

 

print factorial(5)

1到n遞加:

#! /usr/bin/python

def factorial(n):

if n == 0:

return 0

else:

return n + factorial(n-1)

print factorial(100)

遞歸的注意事項:

必須有最後的默認結果

        if n == 0

遞歸參數必須向默認結果收斂的:

        factorial(n-1)

 

os模塊的幾個方法:

os.listdir()

列出目錄下的文件和目錄,以列表形式輸出

os.path.isdir()

判斷是否是目錄,返回bool值

os.path.isfile()

判斷是否是文件,返回bool值

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 dirs:

for d in dirs:

print_files(os.path.join(path,d))

if files:

for f in files:

print os.path.join(path,f)

print_files(sys.argv[1])

相關文章
相關標籤/搜索