0

0

Python 函数编程的基础知识介绍

PHPz

PHPz

发布时间:2023-04-11 22:49:08

|

1797人浏览过

|

来源于51CTO.COM

转载

Python  函数编程的基础知识介绍

函数基础知识

掌握自定义函数的基本语法规范和调用方法及掌握函数的各种参数的使用及调用规则。

1、Python函数

  • 函数( Function )是组织好的,可重复使用的,用来实现单一, 或相关联功能的代码段。
  • 函数能提高应用的模块性 ,和代码的重复利用率。
  • 我们已经接触过Python提供的许多内建函数 ,比如print()。
  • 但你也可以自己创建函数,这被叫做用户自定义函数。

2、自定义一个函数基本规则

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  1. 函数代码块以 def关键词开头,后接函数标识符名称和圆括号( )。
  2. 任何传入参数和自变量必须放在圆括号 中间。圆括号之间可以用于定义参数。
  3. 函数的第一 -行语句可以选择性地使用文档字符串一 -用于存放函数说明。
  4. 函数内容以冒 号起始,并且缩进。
  5. returm [表达式]结束函数,选择性地返回一个值给调用方。
  6. 不带表达式的return相当于返回 None。

3、自定义一个函数语法

定义函数的语法:

def 函数标识名称(参数列表):
“函数_文档字符串,对函数进行说明"
函数体
return [表达式]

默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的。

4、函数的调用

定义一个函数只给了函数-一个名称,指定了函数里包含的参数,和代码块结构。

这个函数的基本结构完成以后,你可以通过另-个函数调用执行,也可以直接从Python提示符执行。

如下实例调用了printme ( )函数:

Python  函数编程的基础知识介绍

调用后输出的结果为:

Python  函数编程的基础知识介绍

4、return关键字

  • return语句[表达式]退出函数,选择性地向调用方返回一一个表达式。
  • 不带参数值的return语句返回None。
  • 之前的例子都没有示范如何返回数值,下例告诉你怎么做:

Python  函数编程的基础知识介绍

5、参数的传递

python中,类型属于对象,变量是没有类型的:

a=[1,2,3]
a="Runoob"

以上代码中,[1,2,3] 是List类型,"Runoob” 是 String类型,而变量a是没有类型,它仅仅是一个对象的引用(-一个指针) , 可以是List类型对象,也可以指向String类型对象。

Python函数的参数传递

  • 不可变类型 :在程序编程中的值传递,如整数、字符串、元组。如fun(a), 传递的只是a的值,没有影响a对象本身。比如在fun( a)内部修改a的值,只是修改另一个复制的对象,不会影响a本身。我们经常称之为值传递。
  • 可变类型:类似编程中的引用传递(址传递),如列表,字典。如fun(la),则是将la真正的传过去,修改后fun外部的la也会受影响。

python中-切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

6、参数

以下是调用函数时可使用的正式参数类型:

  • 必备参数。
  • 关键字参数。
  • 默认参数。
  • 不定长参数。

必备参数

必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。

示例:

ch06-demo01-args-necessary.py

调用greeting()函数,你必须传入一个参数,不然会出现语法错误:

Python  函数编程的基础知识介绍

关键字参数

关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。

使用关键字参 数允许函数调用时参数的顺序与声明时不一致,因为Python解释器能够用参数名匹配参数值。

医院网站系统
医院网站系统

HTML医院网站系统基于PHP+MYSQL开发,在文章内容网站的基础上,预设了医院概况、新闻动态、环境设备、名医荟萃、专科介绍、就医指南、专家门诊值班表、网上挂号、医疗保健知识、在线咨询等医院网站常用的栏目和测试数据,采用适合医院网站的专用模版,增强了系统的针对性和易用性。系统具有文章、图文、下载、社区、表单、用户等基本系统模块和一系列网站辅助功能,用户也可根据自身特点任意创建和修改栏目,适合创建

下载

示例:

ch06-demo02-keyword.py

以下实例在函数printinfo()调用时使用参数名:

Python  函数编程的基础知识介绍

缺省参数

调用函数时,缺省参数的值如果没有传入,则被认为是默认值。

示例:

ch06-demo03-args-default.py

打印默认的age,如果age没有被传入:

Python  函数编程的基础知识介绍

Python  函数编程的基础知识介绍

注意:缺省值必须放在最后一个参数。

不定长参数*args

可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。

适用于当参数个数不确定或根据调用情况其参数个数会动态变化的情况。

基本语法如下:

def函数名称(formal args, *args ):
“函数_文档字符串"
函数体
retum [表达式]

加了星号(* )的变量名会存放所有未命名的变量参数。选择不多传参数也可,可变长参数的类型为元组。

补充: **kw

**两个型号代表接受的是一个可变长度的 字典类型的参数。

因此,改参数必须以k-v值结构出现。

def函数名称(formal _args, **kw ):
“函数_文档字符串”
函数体
retum [表达式

加了星号(** )的变量名会存放所有未命名的变量参数。选择不多传参数也可,可变长参数的类型为字典。

总结: *argv和**kw的区别

两个参数必须为函数定义中参数列表中的排名最后的参数。

*argv代表该参数位置可以放任意个数的数据,最终都会转换成元组数据类型在函数体内处理。

**kw代表该参数位置可以放k=v格式的数据,最终都会转换成字典类型数据安函数体内处理。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

18

2026.02.03

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

337

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

224

2025.10.31

c语言 数据类型
c语言 数据类型

本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

138

2026.02.12

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1010

2023.08.02

mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

210

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

322

2024.02.23

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

76

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.9万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号