当前位置: 首页 > news >正文

python20 函数的定及调用

函数的定及调用
函数是将一段实现功能的完整代码,使用函数名称进行封装,通过函数名称进行调用。以此达到一次编写,多次调用的目的
用 def 关键字来声明 函数
格式:
def 函数名(参数列表):函数体[:return 返回值是可选的,可以没有]

代码

'''
函数的定及调用
函数是将一段实现功能的完整代码,使用函数名称进行封装,通过函数名称进行调用。以此达到一次编写,多次调用的目的
用 def 关键字来声明 函数
格式:
def 函数名(参数列表):函数体[:return 返回值是可选的,可以没有]
'''
# 声明 函数
def getSum(num):sum = 0for i in range(1,num+1):sum += iprint(f'1到{num}之间的累加和为:{sum}')return sum# 调用
sum1 = getSum(10)
print(f"sum1={sum1}")
getSum(100)
getSum(1000)# 参数可以设置默认值,有默认值的参数可以不传值。
# 带默认值的参数只能出现在参数列表的最后
def sayHello(name,sex,day=20):if sex == "男":print(f'{name}先生{day}日,早上好。')else:print(f'{name}女士{day}日,早上好。')sayHello('stevneChen','男',21)
# 关键这传参,可不不关心顺序,但参数名称要一至,具体如下
sayHello(sex='女',day=18,name='李四')
# 根据个人开发经验分享,我建义大家还是按参数顺序传参。
sayHello('李四',day=18,sex='女')# 默认值参数调用
sayHello('stevneChen2','男')# 可变参数
'''
可变参数又分为【个数可参的位置参数】和【个数可变的关键字参数】
【个数可变参的位置参数】 在参数前加 一颗星 *para
【个数可变的关键字参数】在参数前加 两颗星 **para'''# 【个数可变参的位置参数】 在参数前加 一颗星 *para
def fun(*paras):print(f'type={type(paras)}')for item in paras:print(item)
# 调用
fun(10,20,30,22)
# 解包传参
fun(*[1,2,3,4,5])# 【个数可变的关键字参数】在参数前加 两颗星 **para
def fun2(**kwparas):print(f'type={type(kwparas)}')for key,value in kwparas.items():print(f'fun2=>{key}--val=>{value}')fun2(name='cjh',age=18,sex="男")dictData = {'name':'cjh11','age':30,'sex':"男"}
# 解包传参
fun2(**dictData)def get_Sum(num):sum = 0 #累加和odd_sum = 0 #奇数和even_sum = 0 #偶数和for i in range(1,num+1):if i % 2 == 0:even_sum += ielse:odd_sum += isum += ireturn sum,odd_sum,even_sum #返回三个值# tuple 元组
result = get_Sum(10)
print(f'result type={type(result)}')
print(f'result = {result}')# 解包获取参数,解包赋值
a,b,c = get_Sum(10)
print(f'解包: a={a},b={b},c={c}')

相关文章:

  • Java面试题:讨论synchronized关键字和java.util.concurrent包中的同步工具,如Lock和Semaphore
  • windows安装spark
  • Mysql特殊用法分享
  • platformio烧写STC8H1K08单片机程序失败:Serial port error: read timeout
  • 探索设计模式——单例模式详解
  • matplotlib 创建多个子图
  • TWM论文阅读笔记
  • ChatTTS 推荐及使用说明
  • Spring框架的最新进展:2023年Spring Boot和Spring Cloud功能更新
  • 数据分析的Excel基础操作
  • 节能减排如何替电子行业巨头降低成本
  • [程序员] 表达的能力
  • 在公司的一些笔记
  • 【ARM 安全系列介绍 3.7 -- SM4 对称加密算】
  • Java中的图形用户界面开发
  • Java 多线程编程之:notify 和 wait 用法
  • Javascript设计模式学习之Observer(观察者)模式
  • jdbc就是这么简单
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • 阿里研究院入选中国企业智库系统影响力榜
  • 不发不行!Netty集成文字图片聊天室外加TCP/IP软硬件通信
  • 从零搭建Koa2 Server
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 聊一聊前端的监控
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 数组大概知多少
  • 小程序01:wepy框架整合iview webapp UI
  • 学习Vue.js的五个小例子
  • 运行时添加log4j2的appender
  • RDS-Mysql 物理备份恢复到本地数据库上
  • # include “ “ 和 # include < >两者的区别
  • ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTr
  • #Datawhale AI夏令营第4期#多模态大模型复盘
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Java入门)抽象类,接口,内部类
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (笔试题)合法字符串
  • (二)原生js案例之数码时钟计时
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (一)springboot2.7.6集成activit5.23.0之集成引擎
  • (原)本想说脏话,奈何已放下
  • (转)负载均衡,回话保持,cookie
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .FileZilla的使用和主动模式被动模式介绍
  • .locked1、locked勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .net/c# memcached 获取所有缓存键(keys)