首页 > 编程语言 >Python 从入门到实战19(函数参数)

Python 从入门到实战19(函数参数)

时间:2024-09-16 09:55:51浏览次数:3  
标签:函数 19 Python 函数参数 参数 result print def numbers

        我们的目标是:通过这一套资料学习下来,通过熟练掌握python基础,然后结合经典实例、实践相结合,使我们完全掌握python,并做到独立完成项目开发的能力。

上篇文章我们讨论了函数的基本介绍。今天我们继续学习一下函数参数。

1、形参和实参

我们上篇已讨论过,为了对比今天学习的直接举例:

形式参数:在定义函数时,函数名后面括号中参数为“形式参数”

实际参数:在调用一个函数时,函数后面括号中的参数为“实际参数”

还是以上面的例子来说明,如下面所示黄色阴影的属于形式参数,绿色阴影的实际参数

import re

   def replace_chars(string):
       pattern =  r'(最好)|(最优秀)|(遥遥领先)'
       new_string = re.sub(pattern,"@^^@",string)
       print(new_string)

   #给一个字符串,来替换敏感词
  advertisement_huawei= "华为华为,科技遥遥领先,是宇宙中最优秀的手机!"
  replace_chars(advertisement_huawei)

2、位置参数

在Python中,位置参数是在函数调用中按照它们在函数定义中的顺序进行传递的参数。它们不需要在函数调用中指定参数名,只需要传入对应的值即可。

例如,定义一个函数来求两个数的和

# 定义函数,x和y是形式参数

def add_numbers(x, y):

    return x + y

# 调用函数,1和2是实际参数

result = add_numbers(1, 2)

print(result)  # 输出结果是3

还是上面的例子,其中x,y就是位置参数。我们调用函数需要按照对应的顺序输入即可。

两个关键点:1)调用时输入的实际参数个数要和位置参数一致;

2) 调用时输入的实际参数顺序要和位置参数顺序一致;

3、关键字参数

在Python中,关键字参数(keyword arguments)是一种参数传递的方式,它允许函数调用时参数的顺序与定义时不一致。关键字参数在函数内部的作用是为函数提供了一种指定参数值的方式,这样无需记忆参数的顺序。

关键字参数通常用于函数定义中,在函数调用时,使用参数的名字来指定参数值。

# 定义函数,x和y是形式参数
def sub_numbers(x, y):
    return x - y


# 调用函数,1和2是实际参数
result = sub_numbers(5, 2)
print(result)  # 输出结果是3

如上面的例子使用关键字参数来写:

# 定义函数,x和y是形式参数
def sub_numbers(x, y):
    return x - y


# 调用函数,5和2是关键字参数
result = sub_numbers(y=2, x=5)
print(result)  # 输出结果是3

4、设置默认值的参数

在Python中,你可以在函数定义时为参数设置默认值。这意味着在调用函数时,如果没有为这个参数提供一个值,它将使用这个默认值。

语法:def functionname(…[parameter1 = defaultvalue1])

                  [functionbody]

注意:默认值的参数需要放到末尾

举例说明:

#定义函数,有默认值
def greet(name,greetvalue ='GOOD morning!'):
    print(name,greetvalue)
greet("mom")                   #使用默认参数
greet("mom","GOOD afternoon")   #使用自定义的参数

输出结果:

cce78da4ccbf4591a956edc304fb238c.png

5、可变参数

1)使用(*args)

在Python中,可以使用星号(*)操作符来定义可变参数。可变参数允许函数接收任意数量的位置参数。

语法:def  functionname(*args)

这里的args是可变参数的名称,它将成为一个元组(tuple)。

下面是一个使用可变参数的例子:

def print_numbers(*args):

    for number in args:

        print(number)

# 调用函数并传递不同数量的参数

print_numbers(1, 2, 3)

print_numbers(1, 2, 3, 4, 5)

672377caa5eb4ddc80e8cee33600d321.png

在Python中,可变参数允许你将一个不定数量的关键字参数作为字典的形式传递给一个函数。这些参数在函数内部会被处理成一个名为**kwargs的字典。

2)使用(**kwargs)

在Python中,可变参数允许你将一个不定数量的关键字参数作为字典的形式传递给一个函数。这些参数在函数内部会被处理成一个名为**kwargs的字典。

举例说明:

def greet_user(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")


# 调用函数时传入不定数量的关键字参数
greet_user(name="Adewi", age=20, city="China")

7bc3d0bf68af4277a6deb5e4c7cb6076.png

6、类型联合运算符

             类型联合运算符也可以应用于类型注解,在函数定义或变量声明时指定其类型

例如:

def square(a: int) -> int:
    return a**2   #返回a的平方

result = square(5)
print(result)

输出 25

可以同时接收两个类型的数据,中间使用“|”表示:

def square(a: int|float) -> int|float:
    return a**2   #返回a的平方

result = square(5)
result_f = square(5.0)
print(result)
print("平方为:{:.2f}".format(result_f))

输出结果:

a7c116e897714ca3a3b15f87f8af45bb.png

今天先写学习到这里了,每天进步一点点。今天也要加油啊!

标签:函数,19,Python,函数参数,参数,result,print,def,numbers
From: https://blog.csdn.net/weixin_45999406/article/details/142279344

相关文章

  • Python--编码解码报错
    报错问题错误信息UnicodeDecodeError:'gbk'codeccan'tdecodebyte0xacinposition2:illegalmultibytesequence通常出现在尝试使用GBK编码解码某些二进制数据时,但数据中包含了无法被GBK解码的字符。具体错误提示是解码器在处理某个字节时发现该字节无法正确映......
  • Python重温笔记
    1.Python解释器将Python代码翻译为二进制,交给计算机去运行。是Python.exe程序2.python中数字有四种类型整数、布尔型、浮点数和复数。即int型,bool(true与false),float,,a+bj的复数等变量不需要声明,但是在使用的时候需要提前赋值。print(变量名)输出变量值,也可以输出数字;prin......
  • [极客大挑战 2019]Upload 1
    打开靶机,发现php后缀被过滤且发现没有文件包含漏洞发现.phtml能绕过后缀检测,又显示没有图片//PHTML扩展名是PHP的一个模块,它允许在HTML文件中使用PHP代码,并且可以将PHP代码和HTML代码合并到一个文件中。尝试在图片中加入gif文件头GIF89a发现能成功上传尝试写入......
  • 数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
    时间序列概况在日常生活和专业研究中都很常见。简而言之,时间序列概况是一系列连续的数据点 y(0),y(1),...,y(t) ,其中时间 t 的点依赖于时间 t-1 的前一个点(或更早的时间点)。在许多应用中,研究者致力于预测时间序列概况的未来行为。存在各种建模方法。这些模型通常基......
  • 【python】python入门基础理论+实践,这一篇就够了
    简介:第一个helloworldprint("helloworld!");foriinrange(10):print('run:',i);importtime;time.sleep(10);字符串str在Python中,加了引号的字符都被认为是字符串!name="zhangsan"多引号多引号什么作⽤呢?作⽤就是多⾏字符串必须⽤多引号message='''这......
  • 使用Python实现深度学习模型:智能家庭安防系统
    随着科技的进步和人们对安全需求的增加,智能家庭安防系统成为了现代家庭的重要组成部分。通过深度学习技术,我们可以构建高效的智能安防系统,实时监测家庭环境,识别潜在威胁,并提供及时的预警。本文将详细介绍如何使用Python实现一个简单的深度学习模型,用于智能家庭安防系统。深......
  • python的os模块的常见函数及用途详解
    os模块提供了与操作系统进行交互的功能。它允许你执行许多常见的文件系统任务,如读取目录、处理文件、获取系统信息等。以下是一些os模块中常见的函数及其用途:目录操作os.getcwd():返回当前工作目录的字符串表示。os.listdir(path):返回指定目录下的文件和子目录列表。os.mkdir(......
  • SciTech-Mathmatics-Probability+Statistics-Descriptive Statistics I + II(using Py
    LearnStatsforPython:DescriptiveStatisticsILearnStatsforPython:DescriptiveStatisticsII+DataVisualizationBYIVÁNPALOMARESCARRASCOSAPOSTEDONAUGUST28,2024Intoday'sworld,pervadedbydataandAI-driventechnologiesandsolutions,......
  • 06_Python数据类型_元组
    Python的基础数据类型数值类型:整数、浮点数、复数、布尔字符串容器类型:列表、元祖、字典、集合元组元组(Tuple)是一种不可变的序列类型,与列表类似,但有一些关键的区别。本质:只读的列表(list)定义元组元组是由圆括号()包围的元素集合,元素之间用逗号分隔。元组一旦创建,其内......
  • 【Python学习笔记】 第8章 列表与字典
    列表Python的列表是:任意对象的有序集合通过偏移访问可变长度、异构以及任意嵌套属于“可变序列”的分类对象引用数组下表是常见/具有代表性的列表对象操作:操作解释L=[]一个空的列表L=[123,'abc',1.23,{}]有四个项的列表,索引从0到3L=......