Python全棧學習Day9 函數入門

昨日內容複習

文件處理

打開文件→操作文件→關閉文件
文件是不能修改的,但可以先創建一個新文件然後刪除原文件再重命名新文件
例:

with open('你好', encoding='utf-8') as f, open('你好.bak', 'w', encoding='utf-8') as f2:
    for line in f:
        if '同學' in line:
           line = line.replace('同學', '老師')
        f2.write(line)
import os
os.remove('你好')# 刪除文件
os.rename('你好.bak', '你好')# 重命名

1.打開文件
open(‘路徑’,‘打開方式:r w a r+ w+ a+’,‘指定編碼方式’)
2.操作文件
讀:
read 一次性讀
readlines一次性讀,並且按行切分放表裏
readline 一行行讀
視頻圖片用rb打開 bytes 按字節讀
for循環讀(最好的讀取方法
寫:
write方法
光標(文件指針):
seek:指定光標移動到某位置
tell:獲取光標當前的位置
truncate:截取文件
3.關閉文件
close

今日內容

函數

小例子

s = '你好同學'

def my_len(): #自定義函數
    i = 0
    for k in s:
        i = i+1
    print(i)

my_len()

函數特點
1.定義了函數之後,可以在任何需要他的地方調用
2.沒有返回長度,只是單純的打印
返回值return

s = '你好同學'


def my_len():
    i = 0
    for k in s:
        i = i+1
    return i


length = my_len()
print(length)

返回值的三種情況
1.沒有返回值:默認返回NONE
       沒有return
       只有return,結束一個函數。注:break只結束循環不結束函數
2.返回一個值
       如果一個函數中有多個return,則只運行第一個
3.返回多個值
       有多少個返回值就用多少個變量接收,不能多也不能少,但可以用一個變量接收,返回元祖
例:

def func():
    return 1, 2


r1, r2 = func()
print(r1, r2)

形式參數與實際參數

def my_len(s): # 形式參數
    i = 0
    for k in s:
        i = i+1
    return i


length = my_len('nih') # 實際參數
print(length)

參數

1.沒有參數
2.有一個參數
3.多個參數
例子:

def my_sum(a, b):
    res = a+b
    return res


resu = my_sum(1, 2)
print(resu)

默認參數
不寫就是默認值,可以隨時改
例子:

def classmate(name, sex = 'man'):
    print('%s:%s' % (name, sex))


classmate('張三')
classmate('李四')
classmate('小芳', '女')

位置參數

def classmate(name, sex = 'man'):
    print('%s:%s' % (name, sex))
classmate(sex='女', name='張三')
classmate('李四')
classmate('小芳', '女')

動態參數(args,默認參數,kwargs)
參數名前加*,接受的是按照位置傳參,形成元祖
例子1

   def my_sum(*args):
        count = 0
        for i in args:
            count = count + i
        return count
    
    
    a = my_sum(1, 2, 3)
    b = my_sum(1, 2, 3, 4)
    print(a, b)

**kwargs可以接收a = …類型,接收按照關鍵字傳參的值,形成字典
例子2

def func(**kwargs):
    print(kwargs)


func(a=1, b=3, c=4)
func(a=1, b=3)

動態參數的另一種傳參方式

def func(*args):
    print(args)


li = [1, 2, 4, 5]
func(*li) 

2

def func(**kwargs):
    print(kwargs)


li = {'a': 1, 'b': 2}
func(**li)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章