python20 函数的定及调用

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

代码

复制代码
'''
函数的定及调用
函数是将一段实现功能的完整代码,使用函数名称进行封装,通过函数名称进行调用。以此达到一次编写,多次调用的目的
用 def 关键字来声明 函数
格式:
def 函数名(参数列表):
    函数体
    [:return 返回值是可选的,可以没有]
'''
# 声明 函数
def getSum(num):
    sum = 0
    for i in range(1,num+1):
        sum += i
    print(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 += i
        else:
            odd_sum += i

        sum += i

    return 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}')
相关推荐
知行合一。。。1 小时前
Python--04--数据容器(总结)
开发语言·python
架构师老Y1 小时前
008、容器化部署:Docker与Python应用打包
python·容器·架构
lifewange1 小时前
pytest-类中测试方法、多文件批量执行
开发语言·python·pytest
pluvium272 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
2401_827499992 小时前
python项目实战09-AI智能伴侣(ai_partner_5-6)
开发语言·python
PD我是你的真爱粉2 小时前
MCP 协议详解:从架构、工作流到 Python 技术栈落地
开发语言·python·架构
ZhengEnCi2 小时前
P2G-Python字符串方法完全指南-split、join、strip、replace的Python编程利器
python
是小蟹呀^2 小时前
【总结】LangChain中工具的使用
python·langchain·agent·tool
宝贝儿好2 小时前
【LLM】第二章:文本表示:词袋模型、小案例:基于文本的推荐系统(酒店推荐)
人工智能·python·深度学习·神经网络·自然语言处理·机器人·语音识别
守护安静星空2 小时前
esp32开发笔记-工程搭建
笔记·单片机·嵌入式硬件·物联网·visual studio code