python学习笔记4

递归函数和匿名函数

# 递归的应
# def rec(num):
#     if num == 1:
#         return 1
#     return num + rec(num-1)
# a = rec(4)
# print(a)

# lanmda 的使用  lambda 参数列表 : 表达式
# labmda 的体验
# def fn1():
#     return 100
# a = fn1()
# print(a)
# fn2 = lambda:100
# print(fn2)
# print(fn2())
# fn1 = lambda a,b:a+b
# print(fn1(1,1))

# 无参数
# fn1 = lambda :100
# print(fn1())

# 一个参数
# fn1 = lambda a : a
# print(fn1('ab'))

# 默认参数
# fn1 = lambda a,b,c =100:a+b+c
# print(fn1(1,1)

# 可变参数 *args  -- 返回值为元组
# fn1 = lambda *args:args
# print(fn1(10,10,))

# 可变参数 **kwargs  不定长的关键字参数 -- 返回字典
# fn1 = lambda **kwargs:kwargs
# print(fn1(name='Tom'))

# 带判断的lambda
# fn1 = lambda a,b:a if a > b else b
# print(fn1(100,300))

# 列表数据按字典key的值排序
# student = [{'name':'Tom','age':20},{'name':'Rose','age':12},{'name':'Jack','age':38}]
# student.sort(key=lambda x:x['age'])
# print(student)# 递归的应
# def rec(num):
#     if num == 1:
#         return 1
#     return num + rec(num-1)
# a = rec(4)
# print(a)

# lanmda 的使用  lambda 参数列表 : 表达式
# labmda 的体验
# def fn1():
#     return 100
# a = fn1()
# print(a)
# fn2 = lambda:100
# print(fn2)
# print(fn2())
# fn1 = lambda a,b:a+b
# print(fn1(1,1))

# 无参数
# fn1 = lambda :100
# print(fn1())

# 一个参数
# fn1 = lambda a : a
# print(fn1('ab'))

# 默认参数
# fn1 = lambda a,b,c =100:a+b+c
# print(fn1(1,1)

# 可变参数 *args  -- 返回值为元组
# fn1 = lambda *args:args
# print(fn1(10,10,))

# 可变参数 **kwargs  不定长的关键字参数 -- 返回字典
# fn1 = lambda **kwargs:kwargs
# print(fn1(name='Tom'))

# 带判断的lambda
# fn1 = lambda a,b:a if a > b else b
# print(fn1(100,300))

# 列表数据按字典key的值排序
# student = [{'name':'Tom','age':20},{'name':'Rose','age':12},{'name':'Jack','age':38}]
# student.sort(key=lambda x:x['age'])
# print(student)

内置高阶函数

# abs() 求绝对值
# a = abs(-10)
# print(a)
# # round() 对数字进行四舍五入计算
# b=round(1.1)
# print(b)
# def sum_num(a,b,f):
#     return f(a)+f(b)
# result = sum_num(-1,2,abs)
# print(result)

# 内置高阶函数 -- map(func,lst) 将传入的函数变量func作用到lst变量的每个元素中 并组成新的列表迭代器
# list1 = [1,2,3,4]
# def func(x):
#     return x**2
# result = map(func,list1)
# print(list(result)) # 将返回值转化为列表并输出

# reduce ==  reduce(func,lst) 其中func必须有两个参数 每车次func计算的结果继续和序列的下一个元素做累计计算
# import functools
# list1 = [1,2,3,4,5]
# def func(a,b):
#     return a+b
# result = functools.reduce(func,list1)
# print(result)

# filter - filter(func,list)  函数用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象。如果要list,使用list()转换
# list1 = [1,2,3,4,5,6,7,8,9]
# def func(x):
#     return x % 2 == 0
# fn1 = filter(func,list1)
# print(list(fn1))

访问模式的特点

文件操作

# 文件操作
# f=open('test.txt','w')
# f.write('aaa')
# f.close
# 访问模式 主访问模式 w: 如果写入会覆盖原有内容  a: 追加 不会覆盖与哪有数据  r:表示只读

# 文件读取
# 文件对象.read(num) num 表示读取数据的长度 换行也表示一个数据
# readlines()  -- 可以按照整行的方式把整个问价中的内容进行一次性读取,并返回一个列表,其中每一行的数据为一个元素
# readline()  -- 一次读取一行内容
# f = open('test.txt')
# context = f.readline() # 第一次调用读取第一行内容 第二次调用读取第二行内容
# print(context)
# f.close()

# 访问模式的特点  -b -- 用2进制打开文件 -+ 用与读写操作 -b+ 以2进制打开用于读写

# seek -- 用来移动文件指针 语法 文件对象.seek(偏移量,起始位置) 0 - 文件开头  1- 当前位置 2 - 文件结尾

# 文件备份
# '''
# 1. 接收用户输入的文件名
# 2.规划备份的文件名
# 3.备份文件写入数据
# '''
# old_name = input('输入要输入的名字:')
# index = old_name.rfind('.')
# new_name = old_name[:index] + '[备份]' +old_name[index:]
# print(new_name)
# old_f = open(old_name,'rb')
# new_f = open(new_name,'wb')
# while True:
#     con=old_f.read(1024)
#     if len(con) == 0:
#         #表示读取完成
#         break
#     new_f.write(con)
# old_f.close()
# new_f.close()

# 文件 文件夹操作

# 1.rename() - 重命名文件
# 2.remove() - 删除文件
# 3.mkdir - 创建文件夹
# 4.rmdir - 删除文件夹
# 5.getcwd - 返回当前文件夹所在的目录
# print(os.getcwd)

# 6.chdir()-改变目录路径
# 7.listdir() -  获取某个文件夹的所有文件
# os.mkdir(文件夹名字)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值