1.匿名函數
變量 = lambda 形參1,形參2,...: 單行表達式 或者 調用其它函數的代碼
變量(實參1,實參2,...)
2.遞歸函數(了解)
"""
遞歸函數:
在函數裡面自己調用自己.
定義遞歸函數的條件:
1.自己調用自己
2.必須設定一個終止遞歸條件
使用遞歸函數求 1-5的累加和.
"""
def sum(n):
# 條件2:設定終止遞歸的條件
if n == 1:
return 1
else:
# 條件1:自己調用自己
return + sum(n-1)
print(sum(5))
3.清單 推導式
清單名 = [x for x in range()函數 ]
4.清單推導式的練習題
"""
清單推導式的格式:
清單名 = [x for x in range()函數]
每次循環循環都得一個數字x,然後把x作為元素添加到清單中
在清單推導式中使用 if語句:
清單名 = [x for x in range()函數 if 條件]
"""
list1 = [x for x in range(1, 5)]
print(list1)
list2 = [x+2 for x in range(1, 5)]
print(list2)
list3 = [x for x in range(20) if x % 2 == 0]
print(list3)
a = [x for x in range(1,101)]
print(list(range(0,len(a),3)))
print(range(0,len(a),3))
a[0:3] # [1,2,3]
a[3:6] # [4,5,6]
5.set 集合
"""
set集合:
也是一個容器,可以存儲多個元素,可以是任何類型的.
沒有索引.
特點:
set中不能存儲重複的元素,自動去重,重複的元素隻保留一個.
定義格式:
set集合名 = {元素1,元素2,...}
# 定義空的set集合
set集合名 = set()
"""
set1 = {10, "hello", True}
print(set1) # {True, 10, 'hello'}
print(type(set1)) # <class 'set'>
# 自動去重
set2 = {10, "hello", True, 10, "hello"}
print(set2)
set3 = {30, 50}
# set2.update(set3)
set2.update("hello")
print(set2)
set4 = set("hello")
print(set4)
for s in set4:
print(s)
6.set、list、tuple之間的類型轉換
"""
資料類型轉換的格式:
目标資料類型(資料)
"""
# set->list
set1 = {10, 20, 30}
list2 = list(set1)
print(list2)
set2 = set(list2)
print(set2)
list3 = [10, 20, 10, 30, 50]
set3 = set(list3)
list4 = list(set3)
print(list4)
7.高階函數
map():
map(f, list)
functools.reduce(f, list)
filter(f, list)
'''reduce'''
import functools
my_list = [1, 2, 3, 4, 5]
def f(x1, x2):
return x1 * x2
result = functools.reduce(f, my_list)
print(result)
8.檔案的概述
010101011
9.操作檔案的步驟
"""
步驟:
1.打開檔案
2.讀/寫資料
3.關閉檔案
"""
# 1.打開檔案
f = open("a.txt", "r")
# 2.寫資料
f.write("hello")
f.write("python")
f.write("android")
# 3.關閉檔案
f.close()
10.檔案操作模式的介紹
r: read
w: write
a: append
rb:
wb:
ab:
11.讀取檔案的四種方式
1.一次讀取幾個字元
f.read(n)
2.一次讀取一行
f.readline()
3.一次讀取所有字元
f.read()
4.按行讀取所有行
f.readlines()
12.制作檔案的備份
import os
'''
制作檔案的備份
'''
filename = input("請輸入你需要備份的檔案夾:")
list1 = os.listdir(filename)
print(list1)
new_filename = filename+"備份"
os.mkdir(filename+"備份")
# os.chdir(new_filename)
for file in list1:
"""
先做好名字
"""
index = file.find(".")
new_file_start = file[:index]+"備份"
new_file_end = file[index:]
new_file = new_file_start+new_file_end
"""
讀取源資料
"""
f1 = open(filename+"/"+file,"r")
content = f1.read()
f2 = open(new_filename+"/"+new_file,"w")
f2.write(content)
'''關閉檔案 '''
f1.close()
f2.close()
13.檔案和檔案夾的操作方法
import os
os.mkdir()
os.getcwd()
os.chdir()
os.listdir()
os.rmdir()