首页 > 编程语言 >Python 向函数传递参数(小结)

Python 向函数传递参数(小结)

时间:2024-03-14 13:00:00浏览次数:24  
标签:info sandwich 函数 ingredients Python -- 实参 小结 name

目录

1、位置实参

2、关键字实参

3、形参默认值

4、将队列的副本传入函数

5、传递任意数量的实参

6、传递任意数量的关键字实参


1、位置实参

调用函数时,传递参数的顺序与函数定义中的参数顺序一致。

def person(name, age):
    pass

person('Marry',34)

2、关键字实参

调用函数时,指明形参名称,传递参数的顺序可以与函数定义中的参数顺序不一致。

def person(name, age):
    pass

person(age='34',name='Marry')

3、形参默认值

给形参指定一个默认值,如果函数调用时,没有为该形参传递实参,则使用默认值。

在使用‘位置实参’传递参数时,给定默认值的形参,放在所有形参之后。

person(name,age,city=None):
    pass

person('Marry','34','Melbourne')
person('Grace','43')

4、将队列的副本传入函数

以‘切片’的方式,将队列副本传入函数,函数将对副本进行修改,不影响原队列。

def show_info(messages):
    for msg in messages:
        msg = '++'+msg+'++'
        print(msg)

messages = ['a','b','c']
show_info(messages[:])
print(messages)

运行结果是:

++a++
++b++
++c++
['a', 'b', 'c']

5、传递任意数量的实参

函数show_ingredients中,使用*sandwich_ingredients定义了一个名为sandwich_ingredients的‘空元组’。调用函数时传递的所有实参,都保存在这个元组中。

def show_ingredients(* sandwich_ingredients):
    print('sandwich ingredients include:\n')
    for ingredient in sandwich_ingredients:
        print(f'-- {ingredient}')

show_ingredients('white bread','ham','cheddar')
show_ingredients('whole wheat bread','turkey','tomato slices','swiss')
show_ingredients('baguette','bacon')

运行结果:

sandwich ingredients include:

-- white bread
-- ham
-- cheddar
sandwich ingredients include:

-- whole wheat bread
-- turkey
-- tomato slices
-- swiss
sandwich ingredients include:

-- baguette
-- bacon

6、传递任意数量的关键字实参

函数user_profile中,使用**info定义了一个名为info的‘空字典’,函数调用时传递的所有键值对,都保存在该字典中。

def user_profile(first,last,**info):
    info['first_name']=first
    info['last_name']=last
    return info

user = user_profile('Grace','Wang',age='43',city='Melbourne',career='Engineer')
for key,value in user.items():
    print(f'{key}:{value}')

运行结果:

age:43
city:Melbourne
career:Engineer
first_name:Grace
last_name:Wang

标签:info,sandwich,函数,ingredients,Python,--,实参,小结,name
From: https://blog.csdn.net/wanghuizheng/article/details/136642354

相关文章

  • Python 文件操作(小结)
    目录1打开文件1.1文件路径1.2打开‘中文’文件1.3 with打开1.3打开模式1.4打开异常2读取文件2.1一次性读取全部,read()2.2遍历文件,每次读取一行2.3with外使用文件内容3写文件1打开文件1.1文件路径程序文件所在路径为“当前路径”。(1)如果文件位于“......
  • python教程(中更新中)
    递归函数在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。举个例子,我们来计算阶乘n!=1x2x3x...xn,用函数fact(n)表示,可以看出:����(�)=�!=1×2×3×⋅⋅⋅×(�−1)×�=(�−1)!×�=����(�−1)×�fact(n)=n!=1×2×3×⋅⋅⋅×(n−1)×n=(n−1)!×n......
  • Python爬虫实战系列2:虎嗅网24小时热门新闻采集
    一、分析页面打开虎嗅网,点击【24小时】本次采集,我们以这24小时的热门新闻为案例。1.1、分析请求F12打开开发者模式,然后点击Network后点击任意一个请求,Ctrl+F开启搜索,输入标题雷军回应,开始搜索可以看到请求地址为https://www.huxiu.com/moment/但是返回的内容不是json格式......
  • Lua 如何在Lua中调用C/C++函数
    Lua调用C函数有两种方式程序主体在C中运行,C函数注册到Lua中。C调用Lua,Lua调用C注册的函数,C或者Lua得到函数的执行结果。程序主体在Lua中运行,C函数作为库函数供Lua使用。C++的代码如下如何在Lua脚本中调用这个C语言函数(add_function)?#include<QCoreApplication>#inclu......
  • python--类与面向对象-2
    类与面向对象中一些重要函数讲解一、对象在文本中的输出classPerson:    def__init__(self,name,agg,live_value,money):        self.name=name        self.agg=agg        self.live_value=live_value ......
  • python装饰器
    一:什么是装饰器器:指的是工具,可以定义为函数装饰:指的是为其他事物添加额外的东西点缀装饰器:指的是定义一个函数,该函数是用来给其他函数添加额外的功能二、为什么要用装饰器开放封闭原则:开放:指的是对拓展功能是开放的封闭:指的......
  • shell脚本中main函数中$#获取不到脚本传入参数个数浅析
    Linux的shell脚本,有时候我们在运行shell脚本时会给脚本传入参数,出于逻辑上的严谨,在脚本中可能会做一些逻辑判断或处理,例如判断脚本传入参数的个数。一般我们会用$#获取传入参数的个数,假如,我们在shell脚本的main函数中去判断脚本传入参数的个数,类似如下所示:.........function mai......
  • Python的垃圾回收机制
    什么是垃圾回收机制垃圾回收(GarbageCollection)是一种自动内存管理机制,用于检测和释放不再被程序使用的内存资源,以避免内存泄漏和资源浪费。 在编程中,当对象被创建时,系统为其分配一块内存空间。但是,当对象不再被程序使用时,如果没有及时释放相关的内存空间,就会导致内存泄漏。垃......
  • Python特征选择技术总结
    本文还可以帮助你解答以下的面试问题:什么是特征选择?说出特性选择的一些好处你知道哪些特征选择技巧?区分单变量、双变量和多变量分析。我们能用PCA来进行特征选择吗?前向特征选择和后向特征选择的区别是什么?什么是特征选择,为什么它很重要?特性选择是选择与ML模型......
  • 使用Python检测贝叶斯网络的因果关系检测
    在机器学任务中,确定变量间的因果关系(causality)可能是一个具有挑战性的步骤,但它对于建模工作非常重要。本文将总结有关贝叶斯概率(Bayesianprobabilistic)因果模型(causalmodels)的概念,然后提供一个Python实践教程,演示如何使用贝叶斯结构学习来检测因果关系。背景在许多领域,......