匿名函数+高阶函数+python文件操作

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.批量修改文件名

​ 如十二方法

发布了71 篇原创文章 · 获赞 1 · 访问量 1043

猜你喜欢

转载自blog.csdn.net/weixin_42917352/article/details/103720682