1椅挣、排序
nums = [111,,5,2,5,,6,33,55,33,5226,526,5]
nums.sort() # 對列表nums的值從小到大排序
nums.sort(reverse=True) # 先對列表nums的值從小到大排序头岔,然后反轉(zhuǎn),相當(dāng)于從大到小排序
nums.reverse() # 對列表nums反轉(zhuǎn)
# 如果列表的的元素值是字典不數(shù)字鼠证,則應(yīng)該通過以下方式進(jìn)行排序
infors = [{'name':'laowang','age':10},{'name':'laowang','age':14},{'name':'laowang','age':20}]
infors.sort(key=lambda x:x['name']) # x代表列表中的元素
2峡竣、匿名函數(shù)
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輸入的內(nèi)容會直接運(yùn)行'''
result = func(a,b)
return result
func_new = input("請輸入一個函數(shù):") # 運(yùn)行腳本,可輸入 x,y:x*y x,y:x-y 檢驗(yàn)結(jié)果
num = test(a,b,func_new)
print(num)
以下演示python3
def test(a,b,func):
'''python3中input輸入的內(nèi)容為帶雙引號的字符串'''
result = func(a,b)
return result
func_new = input("請輸入一個函數(shù):") # 運(yùn)行腳本量九,可輸入lambda x,y:x*y 或 lambda x,y:x-y 檢驗(yàn)結(jié)果
func_new = eval(func_new) # eval() 會把其中的雙引號的字符串的雙引號去掉
num = test(a,b,func_new)
print(num)
3适掰、交換兩個變量的值
a = 4
b = 5
# 第一種
# a = a+b
# b = a-b
# a = a-b
# 第二種
# a,b = b,a
4、 +=解析
a = 100 # 不可變的數(shù)據(jù)類型
def test(num):
num += num
print(num)
test(a) # 200
print(a) # 100
a = [100] #可變的數(shù)據(jù)類型
def test(num):
# num += num
num = num + num
print(num)
#test(a) # [100,100]
#print(a) # [100,100]
test(a) # [100,100] # num = num + num 相當(dāng)于等號右邊的元組賦值給等號左邊的臨時變量num
print(a) # 100
5荠列、文件操作
文件的打開类浪、關(guān)閉
f = open('test.txt','w') # 打開文件
f.write("hello")
f.write("\nworld") # \n表示換行
f.close() # 關(guān)閉文件
f = open('test.txt','r') # 打開文件
f.read(1) # 留空則全讀出來,1表示每次都一個字節(jié)
f.close() # 關(guān)閉文件
6肌似、文件的復(fù)制
test.py --> test[副本].py
# 1费就、獲取用戶要復(fù)制的文件名
old_file_name = input("請輸入要復(fù)制的文件名:") # "test.py"
# 2、打開要復(fù)制的文件
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力细、從舊文件中獲取數(shù)據(jù)并寫入新文件
content = old_file.read()
new_file.write(content)
# 5、關(guān)閉2個文件
old_file.close()
new_file.close()
6固额、大文件的處理方式
f = open("test.1.py")
f.read() # 讀文件中的一行 返回字符串
# 處理大文件應(yīng)該多次讀
while True:
content = f.read(1024) # 讀文件中1024字節(jié) 返回字符串
if len(content) == 0:
break
f.readlines() # 讀文件中的所有行 返回列表眠蚂,每一行為列表的一個元素
7、文件的定讀寫
f = open("test.py")
f.seek(2,0)
# 第一個參數(shù)代表從跳幾個字節(jié)開始讀
# 第二個參數(shù):0文件開頭对雪、1當(dāng)前指針位置河狐、2文件末尾
f.readline() # 返回文件開頭一行跳過兩個字節(jié)的內(nèi)容
f.read() # 返回下一行以后所有內(nèi)容
f.tell() # 獲取文件指針當(dāng)前位置
7、文件瑟捣、文件夾的常見操作
import os
open('file_name',"w") # 當(dāng)前目錄創(chuàng)建文件
open('../file_name',"w") # 上級目錄創(chuàng)建文件
os.rename('old_file_name','new_file_name') # 文件重命名
os.remove('file_name') # 刪除文件
os.mkdir('fd') # 創(chuàng)建文件夾
os.rmdir("fd") # 刪除文件夾
os.getcwd() # 返回當(dāng)前長在操作的絕對路徑
os.listdir("./") # 返回當(dāng)前路徑下的所有文件名字符串組成的列表
os.chdir("../") # 改變默認(rèn)目錄
open('file_name',"w") # 此時在上級目錄創(chuàng)建文件
7馋艺、批量重命名
import os
# 第一種
# 1抬驴、獲取要重命名的文件夾的名字
folder_name = input("請輸入要重命名的文件夾:")
# 2撇簿、獲取指定的文件夾中的所有的文件名字
# 先從當(dāng)前目錄下找要重命名的文件名狰右,獲取其中的文件评矩,然后跳入相應(yīng)的文件夾修改文件名
file_names = os.listdir(folder_name) # 直接喂給函數(shù)一個文件名則從相對目錄開始找
os.chdir(folder_name) # 跳入相應(yīng)的文件夾
# 3亡笑、重命名
for name in file_names:
print(name)
os.rename(name,"[new]-" + name)
# 第二種
# 1贱迟、獲取要重命名的文件夾的名字
folder_name = input("請輸入要重命名的文件夾:")
# 2娜氏、獲取指定的文件夾中的所有的文件名字
# 先從當(dāng)前目錄下找要重命名的文件名馋辈,獲取其中的文件,然后跳入相應(yīng)的文件夾修改文件名
file_names = os.listdir(folder_name) # 直接喂給函數(shù)一個文件名則從相對目錄開始找
#os.chdir(folder_name) # 跳入相應(yīng)的文件夾
# 3率拒、重命名
for name 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)