我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python中如何自定义函数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python中如何自定义函数

Python自定义函数

在Python编程中,可以使用已经定义好的函数,也可以自定义函数实现某些特殊的功能。

1 自定义函数的语法

在Python中,自定义函数的语法如下所示

def 函数名(参数):
 
  函数体

其中,def是关键字;之后跟的是函数名,通过函数名来调用该函数;函数名之后是一个圆括号,圆括号内部是函数的参数,通过参数可以将数据传递到函数内部;函数体是函数实现的功能。

需要注意的是(1)在圆括号之后有冒号(2)函数体要有缩进。

2 自定义函数的实现

图1的代码中代码自定义了一个名为func的函数。

图1 自定义函数func

其中,该自定义函数的函数名是func,i是func的参数。func()函数的功能是打印出从0到i-1的数字,i的值由外部传递到函数内部。

3 自定义函数的调用

通过图2中的代码调用自定义函数func()。

图2 调用func()函数

其中,func()函数的参数设置为3,此时输出的是0-2的数字;修改func()的参数值,如图3所示。

图3 修改func()函数的参数值

此时输出的是0-4的数字。

Python自定义函数基础概念

一、函数定义语法

def 函数名(形参列表):

语句块

函数定义语句(def 语句) 的完整语法:

[@装饰器1] [@装饰器2] [...]

def 函数名([位置形参], [*元组形参], [命名关键字形参], [**字典形参]):

'''文档字符串'''

语句块

注: [] 中括号代表其内部可以省略

二、函数文档字符串

函数内第一次未被赋值给任何变量的字符串是此函数的文档字符串。

说明:

1. 文档字符串通常用来说明本函数的功能和使用方法

2. 在交互模式下输入: help(函数名) 可以查看函数的'文档字符串'

3. 函数的文档字符串绑定在函数的 __doc__ 属性上

三、函数定义规则

1. 函数的名字就是语句块的名称 

2. 函数名的命名规则与变量名相同(函数名必须是标识符) 

3. 函数名是一个变量(不要轻易对其赋值)

4. 函数有自己的名字空间,在函数外部不可以访问函数内部的变量,在函数内可以访问函数外部的变量,但不能修改此变量。

5. 函数如果不需要传入参数,形参列表可以为空

6. 语句块部分,内容不能为空,如果为空需要填充pass 

四、形参定义方式

形参:函数调用时,接收调用时传递的数据

【1】位置形参

【2】关键字形参

【3】缺省参数

def 函数名(形参名=默认实参1, 形参名2=默认实参2, ...):

pass

缺省参数必须自右至左依次存在,如果一个参数是缺省参数,则其右侧的所有参数都必须是缺省参数。

【4】*args

星号元组形参,收集多余的位置传参

def 函数名(*元组形参名):

pass

【5】**kwargs

双星号字典形参,收集多余的关键字传参

def 函数名(**字典形参名):

pass

【6】不定长形参

星号元组形参,双星号字典形参

可以接受任意的位置传参和关键字传参

def fun(*args,**kwargs):

pass

位置形参,缺省参数,星号元组形参,双星号字典形参可以混合使用.

函数形参自左至右的顺序为:

位置形参

星号元组形参

命名关键字形参

双星号字典形参

五、函数调用

函数名(实参)

注:

1. 函数调用是一个表达式

2. 如果函数内部没有return语句,函数调用完毕后返回None对象

3. 如果函数需要返回其它的对象需要用到 return 语句

4.函数名是一个变量,绑定的是函数对象

六、函数调用时参数的传递形式

【1】位置传参

实参和形参的位置对应,将实参数据传递给函数形参。

实参和形参按位置一一对应。

实参个数和形参个数必须一致。

【2】序列传参

位置传参的一种。

用 * 将序列拆解后按位置进行传递的传参方式

【3】关键字传参

按形参的名称将实参数据传递给形参。

实参和形参按形参名称匹配。

【4】字典关键字传参

实参为字典,将字典用 '**' 拆解后再进行关键字传参的传参方式。

字典的键名必须和形参一致,切数量相同。

字典的键必须为字符串。

七、全局变量与局部变量

【1】全局变量

① 定义在函数外部,模块内部的变量称为全局变量

② 全局变量所有函数都可以直接访问(但函数内不能将其直接赋值)

【2】局部变量

① 定义在函数内部的变量称为局部变量(函数的形参也是局部变量)

② 局部变量只能在函数内部使用

③ 局部变量在函数调用时才能够被创建,在函数调用之后会自动销毁

八、函数的功能性

① 一个函数可以作为另一个函数调用时的实参,传递给此函数

def f1():
    print("f1被调用")

def f2():
    print("f2被调用")

def fx(fn):
    print(fn)
    fn()  # 此时这是调用什么呢?

fx(f1)
fx(f2)
#结果
<function f1 at 0x7f7a52ed6f28>
f1被调用
<function f2 at 0x7f7a51757c80>
f2被调用

#---------------------
def goodbye(L):
    for x in L:
        print("再见:", x)

def hello(L):
    for x in L:
        print("你好:", x)

def operator(fn, L):
    fn(L)

operator(hello, ['Tom', 'Jerry', 'Spike'])

#结果
你好: Tom
你好: Jerry
你好: Spike

② 一个函数可以作为另一个函数的返回值 

def fx():
    return max

fn = fx()
print(fn([1, 3, 5, 7]))

#结果
7

③ 函数可以嵌套

 九、函数式编程

用一系列函数解决问题。

优点:

【1】用每一个函数完成细小的功能,一系列函数的任意组合可以完成大问题 

【2】函数仅接受输入并产生输入,不包含任何能影响输出的内部状态

要求:

def 语句创建的函数最好不要访问局部作用域以外的变量,这样可以保证返回结果的唯一性(可重入性)

 十、函数的 可重入性(结果唯一性)

如果一个函数的输入参数一定,则返回结果必须一定的函数称为可重入函数 

【1】 可重入函数,传入参数一定.结果必然一定 

def myadd(x, y): 

return x + y 

【2】不可重入函数: 

y = 200 

def myadd2(x): 

return x + y 

print(myadd2(10)) # 210 

y = 300 

print(myadd2(10)) # 310 

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Python中如何自定义函数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python中如何自定义函数

这篇文章主要介绍了Python中如何自定义函数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-04

Python如何自定义函数

小编给大家分享一下Python如何自定义函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!自定义函数import requestsfrom bs4 import
2023-06-27

python中如何调用自定义函数

要调用自定义函数,首先需要定义该函数,然后在需要调用该函数的地方使用函数名加上括号来调用它。例如:def my_function():print("Hello, world!")my_function() # 调用自定义函数在上面的例子
python中如何调用自定义函数
2024-03-14

python如何调用自定义函数

要调用自定义函数,需要按照以下步骤进行:1. 定义一个函数。例如,我们定义一个名为`add_numbers`的函数,用于求两个数的和。```pythondef add_numbers(a, b):return a + b```2. 调用函数
2023-09-29

如何在shell中自定义函数

这篇文章给大家介绍如何在shell中自定义函数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一,调用函数必须在定义函数的后,不然会报错的funfun (){ echo "aaaaaa"}fun返回结果如下:[root@
2023-06-09

linux中shell如何自定义函数

小编给大家分享一下linux中shell如何自定义函数,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、定义shell函数(define function)语法:
2023-06-09

python中怎么自定义函数

这篇文章主要讲解了“python中怎么自定义函数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python中怎么自定义函数”吧!  python中支持自定义函数  以def开头,后接标识符名
2023-06-01

JavaScript如何自定义函数

这篇文章主要介绍“JavaScript如何自定义函数”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何自定义函数”文章能帮助大家解决问题。JavaScript中的函数分为两种:系
2023-06-29

如何自定义 PHP 函数?

自定义 php 函数包括以下步骤:使用 function 关键字声明函数。指定函数名。定义参数(可选)。使用 return 语句返回数据(可选)。调用函数。如何自定义 PHP 函数:打造灵活的代码PHP 函数是强大的工具,可重复使用代码块
如何自定义 PHP 函数?
2024-04-10

hive3.0.0如何自定义函数

这篇文章主要为大家展示了“hive3.0.0如何自定义函数”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“hive3.0.0如何自定义函数”这篇文章吧。示例代码package hello_hive
2023-06-02

python如何定义函数

这篇文章给大家分享的是有关python如何定义函数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.函数定义1.首先我们要明白一个函数的性质,我们定义一个函数,是为了在后面直接应用它。2.下面这个函数是一个很简单
2023-06-25

如何在 PHP 中自定义函数参数

php 中自定义函数参数包括:参数类型提示:指定函数参数的预期类型,防止意外数据类型和运行时错误。默认值:为参数指定默认值,在未提供实际参数时使用。可选参数:可以使用方括号括起来定义,可以传递或不传递给函数,并且可以有默认值。如何在 PHP
如何在 PHP 中自定义函数参数
2024-04-26

python中自定义函数deque规则

这篇文章将为大家详细讲解有关python中自定义函数deque规则,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt
2023-06-14

如何在MySQL中使用Python编写自定义函数

如何使用Python编写MySQL自定义函数在MySQL中使用Python编写自定义函数,可以扩展数据库功能,增强灵活性、代码可重用性和性能。本文提供了一个逐步指南,包括安装先决条件、创建函数、编写Python函数、调用函数和处理错误的步骤。遵循最佳实践,例如函数命名约定、类型提示和单元测试,以创建高效且可维护的自定义函数。
如何在MySQL中使用Python编写自定义函数
2024-04-10

如何在MySQL中使用Python编写自定义函数

在MySQL中使用Python编写自定义函数可以通过以下步骤实现:1. 首先,需要安装MySQL的Python驱动程序。可以使用以下命令进行安装:```pip install mysql-connector-python```2. 连接到M
2023-10-10

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录