自定义函数的作用
- 定制化需求
- 降低代码重复编写
匿名函数
匿名函数,可以用lambda关键字定义。通过lambda构造的函数可以没有名称,即在自定义匿名函数时,所有代码可在一行内完成。
语法
lambda parameters : function_expression
lambda为匿名函数的关键起始词
parameters是函数的形参,多个参数之间用英文状态的逗号隔开
function expression为具体的函数体.
示例
list1 = ['A','A','B','A','A','B','B','C','B','B','D','C']
# 构建空词典
res = {}
# 统计列表里各元素的个数
for i in set(list1):
res[i] = list1.count(i)
list2 = list(res.items()) # 列表化
list2.sort(key = lambda x: x[1], reverse = True) # 讲其按个数多到少降序排列
print(list2)
输出:
[(‘B’, 5), (‘A’, 4), (‘C’, 2), (‘D’, 1)]
自定义函数
语法
def function_name(parameters):
function_expression
return(result)
def是define单词的缩写,为自定义函数的关键词
function_name为自定义的函数名称
parameters为自定义函数的形参,需要放在圆括号内
function_expression为具体的函数体
return用于返回函数的计算结果
示例
# 猜数字
import random
def guess_number(Min, Max):
number = random.randint(Min, Max)
while True:
guess = int(input('请在{}和{}之间输入一个整数:'.format(Min, Max)))
if guess > number:
Max = guess
print('偏大')
elif guess < number:
Min = guess
print('偏小')
else:
print('正确')
break
guess_number(5,10)
输出:
请在5和10之间输入一个整数:8
偏大
请在5和8之间输入一个整数:6
正确
# 读取文件数据并合并
import pandas as pd # 调文件包
import os # 调路径包
def readdatas(Path):
filenames = os.listdir(Path)
# print(filenames)
res =[]
for file in filenames:
data=pd.read_csv(Path +'\\'+ file)
res.append(data)
return pd.concat(res)
Path = r'D:\pythonProject\data1'
print(readdatas(Path))
输出: