Datawhale | Python基礎第7期 Task4

1. 函數關鍵字

函數代碼塊以 def 關鍵詞開頭。

2. 函數的定義

語法:

def 函數名(參數列表):
    函數體

Example:

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x

空函數

pass佔位符,可以讓代碼執行,但什麼都不做。主要用於,todo 場景。

def nop():
    pass

3. 函數參數與作用域

函數的參數

  • 必選參數
  • 默認參數
  • 可變參數
  • 關鍵字參數
  • 命名關鍵字參數

必選參數

必需參數須以正確的順序傳入函數。調用時的數量必須和聲明時的一樣。

def my_print(str):
    print(str)
    return

my_print() # 將會 throw TypeError,因爲必選參數,必須傳,若不傳將會拋異常。

默認參數

調用函數時,如果沒有傳遞參數,則會使用默認參數。需要注意,默認參數必須指向不可變對象。若指向爲可變對象,將會導致問題。

def my_print(str, age = 18):
    print('name: ', str)
    print('age: ', age)
    return

可變參數

一個函數能處理比當初聲明時更多的參數。這些參數叫做不定長參數。

def my_print(arg1, *args):
    print("輸出:")
    print(arg1)
    print(args)
    return

my_print(1, 2, 3, 4) 

輸出:
1
(2, 3, 4)

加了星號 * 的參數會以元組(tuple)的形式導入,存放所有未命名的變量參數。

關鍵字參數

關鍵字參數允許函數調用時參數的順序與聲明時不一致,Python 解釋器能夠用參數名匹配參數值。

def my_print(name, age):
    print('姓名:', name)
    print('年齡:', age)

my_print(age=18, name='小明')
def person(name, age, **kw):
    print('name:', name, 'age:', age, 'other:', kw) # kw會自動將多個參數,組裝成 dict

person('小明', 18, sex='female', school='南山小學') 

命名關鍵字參數

如果要限制關鍵字參數的名字,就可以用命名關鍵字參數。和關鍵字參數kw不同,命名關鍵字參數需要一個特殊分隔符後面的參數被視爲命名關鍵字參數。

def person(name, age, *, city, job):
    print(name, age, city, job)

person('小明', 18, city='深圳', job='程序員')

多參數組合

def f1(a, b, c=0, *args, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'args =', args, 'kw =', kw)

def f2(a, b, c=0, *, d, **kw):
    print('a =', a, 'b =', b, 'c =', c, 'd =', d, 'kw =', kw)

定義的順序必須是:必選參數、默認參數、可變參數、命名關鍵字參數和關鍵字參數。

4. 函數返回值

當 return 無返回值時

返回結果爲, None 值。

返回多值

def move(x, y):
    return x, y

返回值是一個tuple

5. file

打開文件方式(讀寫兩種方式)

f = open('./task4_3.py', 'r')
print(f.read())
f.close()

with open('./task4_4.py', 'a') as f:
    f.write('tiancity')

文件對象的操作方法

  • file.open 關閉文件。關閉後文件不能再進行讀寫操作。
  • file.read([size] 從文件讀取指定的字節數,如果未給定或爲負則讀取所有。
  • file.readline 讀取整行,包括 "\n" 字符。
  • ...

更多操作方法參見文檔

學習對excel及csv文件進行操作

6. os模塊

7. datetime模塊

相關資料

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章