首页 > 编程语言 >Python——习题练习 part3 函数进阶

Python——习题练习 part3 函数进阶

时间:2024-07-08 23:00:49浏览次数:22  
标签:info 进阶 Python gender 参数 user print 习题 def

本篇文章记录函数进阶部分的知识点及例题代码。

目录

六,函数进阶

01 函数的多返回值

02 函数的传参方式 

1,位置参数

2,关键字参数

3,缺省参数

4,不定长参数

a,位置传递

b,关键字传递

03 lambda匿名函数


六,函数进阶

01 函数的多返回值

# 函数的多返回值
def test_return():
    return 1,2,3

x,y,z = test_return()
print(x)
print(y)
print(z)

返回值类型不受限,也可以返回不同类型的返回值,如下:

def test_return():
    return 1,"hello",True
x,y,z = test_return()
print(x)
print(y)
print(z)

02 函数的传参方式 

1,位置参数

传递的参数和定义的参数的顺序及个数必须一致。

例:

def user_info(name,age,gender):
    print(f"您的名字是{name},年龄是{age},性别是{gender}")

user_info('TOM',30,'男')

2,关键字参数

函数调用时,如果有位置参数时,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序。函数调用时通过“键=值”形式传递参数。

例:

def user_info(name,age,gender):
    print(f"您的名字是{name},年龄是{age},性别是{gender}")

# 关键字传参
user_info(name="小明",age=30,gender='男')
#可以不按照固定顺序
user_info(age=30,gender='男',name="小明")
#可以和位置参数混用,但位置参数必须在前,且匹配参数顺序
user_info("小明",age=30,gender='男')

3,缺省参数

函数调用时,如果为缺省参数传值,则修改默认参数值,否则使用这个默认值。

例:

def user_info(name,age,gender='男'):
    print(f"您的名字是{name},年龄是{age},性别是{gender}")
user_info("小明",30,'男')
user_info("小美",18,'女')

4,不定长参数

a,位置传递

传进的所有参数都会被 args变量收集,它会根据传进参数的位置合并成为 一个元组,args是元组类型,这就是位置传递。

例:

def user_info(*args):
    print(args)
user_info("小明")
user_info("小美",'女')
b,关键字传递

参数是“键=值”形 式的情况下,所有 的“键=值”都会被 kwargs接受,同时会 根据“键=值”组成 字典。

例:

def user_info(**kwargs):
    print(kwargs)
user_info(name="小明",age=30,gender='男')

03 lambda匿名函数

对比def与lambda

通过def我们可以定义一个函数

def test_func(compute):
    result = compute(1,2)
    print(result)

def compute(x,y):
    return x+y

也可以通过lambda关键字,定义一个一次使用的lambda匿名函数

def test_func(compute):
    result = compute(1,2)
    print(result)

test_func(lambda x,y:x+y)

通过def和lambda定义的函数功能完全一致,只是lambda定义的函数是匿名的,无法二次使用。 

标签:info,进阶,Python,gender,参数,user,print,习题,def
From: https://blog.csdn.net/Blusher1/article/details/140249509

相关文章

  • Python进阶入门之DataFrame
    引言接上一篇《关于Python中的series详解与应用》。本篇将详细介绍DataFrame,主要包括它的定义、创建方法、常用操作、应用场景以及与其他数据结构的比较。什么是DataFrameDataFrame是Pandas库中的一种二维标签数据结构,可以看作是一种带有行和列标签的表格数据。它既有行索引......
  • 关于Python中的series详解与应用
    引言近期在学习Python的过程中学到了Pandas库,它是数据处理操作中一款非常强大且流行的工具。而Pandas的两个核心数据结构是Series和DataFrame(下一篇文章便会进行有关学习)。本篇将详细介绍Series,主要包括它的定义、创建方法、常用操作、应用场景以及与其他数据结构的比较,仅为......
  • Python数据结构详解:列表、字典、集合与元组的使用技巧
    前言哈喽,大家好!今天我要和大家分享的是关于Python中最常用的数据结构:列表、字典、集合和元组的使用技巧。你有没有遇到过在处理数据时,不知道该用哪种数据结构来存储和操作数据的情况呢?别担心,今天这篇文章就来帮你搞定这些问题,让你在数据处理上更加得心应手。最后,别忘了关......
  • 用python一个集mes和erp在企业微信协同的服务案例
    要使用Python实现一个集MES和ERP于一体的企业微信协同服务案例,我们可以利用企业微信的API和第三方库`wechatpy`。以下是一个简单的实现思路:1.首先,安装`wechatpy`库,用于实现企业微信的相关功能。```pipinstallwechatpy```2.创建一个`WeChatService`类,用于实现企业微信......
  • python 自动化神器 多平台纯代码RPA办公自动化python框架
    ​ Pyaibote是一款专注于纯代码RPA(机器人流程自动化)的强大工具,支持Android、Browser和Windows三大主流平台。无论您需要自动化安卓应用、浏览器操作还是Windows应用程序,Pyaibote都能轻松应对Pyaibote可以同时协作Windows、Web和Android平台机器人,满足您多样化的办公自动化需求......
  • GLFLS课程:线段树进阶
    线段树合并与分裂线段树合并两个权值线段树\(T_1\)和\(T_2\)的合并是一个递归的过程。我们不妨设要合并的子树为\(x\)和\(y\),其对应区间均为\([l,\r]\)那么分类讨论如下:  \((1)\)首先若\(x=0\)或\(y=0\),则\(x\),\(y\)中有空节点,直接返回\(x+y\)即可......
  • Python面试题-8
    41.请解释Python中的切片操作。在Python中,切片(Slicing)是一种获取序列(如字符串、列表、元组等)的子集或部分的操作。切片操作使用方括号[],并且可以在方括号中指定开始索引、结束索引和步长。其基本语法如下:sequence[start:end:step]start是切片开始的索引,默认为0(序列的......
  • python+flask计算机毕业设计个性化图书借阅系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在信息化高速发展的今天,图书馆作为知识传播与学术研究的重要基地,其服务模式正经历着深刻的变革。传统的图书借阅方式已难以满足读者日益增......
  • python+flask计算机毕业设计个性化电子书籍商城系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和数字阅读习惯的普及,电子书籍已成为现代人获取知识、享受阅读乐趣的重要方式。然而,当前市场上的电子书籍商城大多......
  • python+flask计算机毕业设计个人相册管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着数字技术的飞速发展,个人照片已成为记录生活点滴、珍藏美好回忆的重要载体。然而,随着照片数量的急剧增加,如何高效、有序地管理这些珍贵......