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.批量修改文件名
如十二方法