python的函数定义、调用与默认参数

简介: python函数定义、调用与默认参数

主要写对于python函数的学习和理解。

python函数定义

在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。

!!!注意冒号需要强调,这与C的编程思想有区别

Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。

函数调用

与其他语言类似,python遵循函数先定义后调用的原则。

在调用之前必须先进行定义,然后才可以使用。

函数参数

位置参数

我们先写一个计算x2的函数:

def cal(x):
    return x * x

对于cal(x)函数,参数x就是一个位置参数。

当我们调用cal函数时,必须传入有且仅有的一个参数x:

>>> cal(2)
4

现在,如果我们要计算高于2次方的函数怎么办?我们可以引入另一个参数,来指示为次方,如cal(x,n),其中,n代表几次方。如cal(x,4)代表计算x的4次方。

可如下定义

def cal(x, n):
    s = 1
    while n:
        n = n - 1
        s = s * x
    return s

对于这个cal(x, n)函数,可以计算任意n次方:

>>> cal(2, 2)
4
>>> cal(3, 3)
27

修改后的cal(x, n)函数有两个参数:x和n,这两个参数都是位置参数,调用函数时,传入的两个值按照位置顺序依次赋给参数x和n。

默认参数

新的cal(x, n)函数定义没有问题,但是,我们会发现之前的函数cal(x)不能用了,因为如果代码中已经调用了cal(x),此时我们把函数修改为cal(x,n),原来的调用会报出错误,因为有一个参数在原来的函数中是不存在的。

这个时候,python提供了一个默认参数,我们可以把第二个参数n的默认值设定为2:

def cal(x, n=2):
    s = 1
    while n:
        n = n - 1
        s = s * x
    return s

这样,当我们用原来的代码调用cal(2)时,相当于调用cal(2, 2):

>>> cal(2)
4
>>> cal(2, 2)
4

而对于n != 2的次方计算,我们必须传入正确的次方数,也就是n的值才能计算出来。

>>> cal(4,3)
64

这说明,python提供的默认参数可以简化我们队代码的维护及调用。

但是有几点需要注意:

一是必选参数在前,默认参数在后,否则Python的解释器会报错;
二是如何设置默认参数。
三是当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。
相关文章
|
6天前
|
数据采集 存储 XML
Python爬虫定义入门知识
Python爬虫是用于自动化抓取互联网数据的程序。其基本概念包括爬虫、请求、响应和解析。常用库有Requests、BeautifulSoup、Scrapy和Selenium。工作流程包括发送请求、接收响应、解析数据和存储数据。注意事项包括遵守Robots协议、避免过度请求、处理异常和确保数据合法性。Python爬虫强大而灵活,但使用时需遵守法律法规。
|
10天前
|
传感器 物联网 机器人
定义微Python
MicroPython 是一种精简高效的 Python 解释器,专为微控制器和嵌入式系统设计,支持通过 Python 代码进行快速开发和调试。它具有低资源消耗的特点,适用于物联网设备。
91 62
|
28天前
|
Python
Python之函数详解
【10月更文挑战第12天】
Python之函数详解
|
29天前
|
存储 数据安全/隐私保护 索引
|
18天前
|
测试技术 数据安全/隐私保护 Python
探索Python中的装饰器:简化和增强你的函数
【10月更文挑战第24天】在Python编程的海洋中,装饰器是那把可以令你的代码更简洁、更强大的魔法棒。它们不仅能够扩展函数的功能,还能保持代码的整洁性。本文将带你深入了解装饰器的概念、实现方式以及如何通过它们来提升你的代码质量。让我们一起揭开装饰器的神秘面纱,学习如何用它们来打造更加优雅和高效的代码。
|
20天前
|
弹性计算 安全 数据处理
Python高手秘籍:列表推导式与Lambda函数的高效应用
列表推导式和Lambda函数是Python中强大的工具。列表推导式允许在一行代码中生成新列表,而Lambda函数则是用于简单操作的匿名函数。通过示例展示了如何使用这些工具进行数据处理和功能实现,包括生成偶数平方、展平二维列表、按长度排序单词等。这些工具在Python编程中具有高度的灵活性和实用性。
|
23天前
|
Python
python的时间操作time-函数介绍
【10月更文挑战第19天】 python模块time的函数使用介绍和使用。
27 4
|
24天前
|
存储 Python
[oeasy]python038_ range函数_大小写字母的起止范围_start_stop
本文介绍了Python中`range`函数的使用方法及其在生成大小写字母序号范围时的应用。通过示例展示了如何利用`range`和`for`循环输出指定范围内的数字,重点讲解了小写和大写字母对应的ASCII码值范围,并解释了`range`函数的参数(start, stop)以及为何不包括stop值的原因。最后,文章留下了关于为何`range`不包含stop值的问题,留待下一次讨论。
18 1
|
30天前
|
索引 Python
Python中的其他内置函数有哪些
【10月更文挑战第12天】Python中的其他内置函数有哪些
15 1
|
24天前
|
安全 数据处理 数据安全/隐私保护
python中mod函数怎么用
通过这些实例,我们不仅掌握了Python中 `%`运算符的基础用法,还领略了它在解决实际问题中的灵活性和实用性。在诸如云计算服务提供商的技术栈中,类似的数学运算逻辑常被应用于数据处理、安全加密等关键领域,凸显了基础运算符在复杂系统中的不可或缺性。
18 0