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()

14.批量修改文件名

如十二方法