Python語法基礎(四)匿名函式 檔案操作

2021-08-18 06:07:44 字數 4618 閱讀 2486

nums = [111,,5,2,5,,6,33,55,33,5226,526,5]

nums.sort() # 對列表nums的值從小到大排序

nums.sort(reverse=true) # 先對列表nums的值從小到大排序,然後反轉,相當於從大到小排序

nums.reverse() # 對列表nums反轉

# 如果列表的的元素值是字典不數字,則應該通過以下方式進行排序

infors = [,,]

infors.sort(key=lambda x:x['name']) # x代表列表中的元素

def

test

(a,b,func):

result = func(a,b)

return result

num = test(11,22,x,y:x+y)

print(num)

以下演示python2
def

test

(a,b,func):

'''python2中input輸入的內容會直接執行'''

result = func(a,b)

return result

func_new = input("請輸入乙個函式:") # 執行指令碼,可輸入 x,y:x*y x,y:x-y 檢驗結果

num = test(a,b,func_new)

print(num)

以下演示python3
def

test

(a,b,func):

'''python3中input輸入的內容為帶雙引號的字串'''

result = func(a,b)

return result

func_new = input("請輸入乙個函式:") # 執行指令碼,可輸入lambda x,y:x*y 或 lambda x,y:x-y 檢驗結果

func_new = eval(func_new) # eval() 會把其中的雙引號的字串的雙引號去掉

num = test(a,b,func_new)

print(num)

a = 4

b = 5

# 第一種

# a = a+b

# b = a-b

# a = a-b

# 第二種

# a,b = b,a

a = 100

# 不可變的資料型別

deftest

(num):

num += num

print(num)

test(a) # 200

print(a) # 100

a = [100]  #可變的資料型別

deftest

(num):

# num += num

num = num + num

print(num)

#test(a) # [100,100]

#print(a) # [100,100]

test(a) # [100,100] # num = num + num 相當於等號右邊的元組賦值給等號左邊的臨時變數num

print(a) # 100

檔案的開啟、關閉
f = open('test.txt','w')   # 開啟檔案

f.write("hello")

f.write("\nworld") # \n表示換行

f.close() # 關閉檔案

f = open('test.txt','r')   # 開啟檔案

f.read(1) # 留空則全讀出來,1表示每次都乙個位元組

f.close() # 關閉檔案

test.py –> test[副本].py
# 1、獲取使用者要複製的檔名

old_file_name = input("請輸入要複製的檔名:") # "test.py"

# 2、開啟要複製的檔案

old_file = open(old_file_name,'r')

# 3、新建乙個檔案

postion = old_file_name.rfind('.') # 4

new_file_name = old_file_name[:postion] + [副本] + old_file_name[postion:]

new_file = open(new_file_name,'w')

# 4、從舊檔案中獲取資料並寫入新檔案

content = old_file.read()

new_file.write(content)

# 5、關閉2個檔案

old_file.close()

new_file.close()

f = open("test.1.py")

f.read() # 讀檔案中的一行 返回字串

# 處理大檔案應該多次讀

while true:

content = f.read(1024) # 讀檔案中1024位元組 返回字串

iflen(content) == 0:

break

f.readlines() # 讀檔案中的所有行 返回列表,每一行為列表的乙個元素

f = open("test.py")

f.seek(2,0)

# 第乙個引數代表從跳幾個位元組開始讀

# 第二個引數:0檔案開頭、1當前指標位置、2檔案末尾

f.readline() # 返回檔案開頭一行跳過兩個位元組的內容

f.read() # 返回下一行以後所有內容

f.tell() # 獲取檔案指標當前位置

import os

open('file_name',"w") # 當前目錄建立檔案

open('../file_name',"w") # 上級目錄建立檔案

os.rename('old_file_name','new_file_name') # 檔案重新命名

os.remove('file_name') # 刪除檔案

os.mkdir('fd') # 建立資料夾

os.rmdir("fd") # 刪除資料夾

os.getcwd() # 返回當前長在操作的絕對路徑

os.listdir("./") # 返回當前路徑下的所有檔名字串組成的列表

os.chdir("../") # 改變預設目錄

open('file_name',"w") # 此時在上級目錄建立檔案

# 第一種

# 1、獲取要重新命名的資料夾的名字

folder_name = input("請輸入要重新命名的資料夾:")

# 2、獲取指定的資料夾中的所有的檔案名字

# 先從當前目錄下找要重新命名的檔名,獲取其中的檔案,然後跳入相應的資料夾修改檔名

file_names = os.listdir(folder_name) # 直接餵給函式乙個檔名則從相對目錄開始找

os.chdir(folder_name) # 跳入相應的資料夾

# 3、重新命名

forname

in file_names:

print(name)

os.rename(name,"[new]-" + name)

# 第二種

# 1、獲取要重新命名的資料夾的名字

folder_name = input("請輸入要重新命名的資料夾:")

# 2、獲取指定的資料夾中的所有的檔案名字

# 先從當前目錄下找要重新命名的檔名,獲取其中的檔案,然後跳入相應的資料夾修改檔名

file_names = os.listdir(folder_name) # 直接餵給函式乙個檔名則從相對目錄開始找

#os.chdir(folder_name) # 跳入相應的資料夾

# 3、重新命名

forname

in file_names:

print(name)

old_file_name = folder_name + "/" + name

new_file_name = folder_name + "/" + "[new]" + name

os.rename(old_file_name,new_file_name)

python基礎 匿名函式

lambda匿名函式可以實現簡單的功能 sum lambda x,y x y print sum 4,2 結果為6def values a,b,fun print fun a,b values 11,22,lambda x,y x y 結果為33大資料要用到的三個重要函式 filter函式 filt...

Python基礎 匿名函式

當我們在傳入函式時,有些時候,不需要顯式地定義函式,直接傳入匿名函式更方便。在python中,對匿名函式提供了有限支援。還是以map 函式為例,計算f x 的函式外,還可以直接傳入匿名函式 print list map lambda x x x,1,2,3,4,5,6,7,8,9 輸出 1,4,9,...

python基礎 匿名函式

匿名函式的關鍵字為 lambda 冒號前面是形參 冒號後面是返回值 def fun args,kwargs return args,kwargs print fun 1,2,3,4,5 上面三行可以用下面以行代替 print lambda args,kwargs args,kwargs def ad...