Python基础知识—函数(五)

🎬 秋野酱:《个人主页》
🔥 个人专栏:《Java专栏》《Python专栏》
⛺️心若有所向往,何惧道阻且长

文章目录

    • 一:函数基础
      • 1.1函数的定义和调用
      • 1.2函数的定义格式
      • 1.3函数的调用格式
      • 1.4第一个函数
    • 二:函数的文档注释
    • 三:函数的参数
      • 3.1参数的定义和调用
      • 3.2参数的使用
    • 四: 函数的返回值
    • 五:函数多返回值
    • 六:函数的四种类型
      • 6.1无参无返回值
      • 6.2无参有返回值
      • 6.3有参无返回值
      • 6.4 有参有返回值
    • 七:函数的形参和实参
      • 7.1形参
      • 7.2实参
      • 7.3形参作用域
      • 八:局部变量和全局变量
      • 8.1局部变量
      • 8.2全局变量
      • 8.3函数内修改全局变量

一:函数基础

函数(function)是程序非常重要的组成部分,是计算机执行命令的单元;
所谓函数,就是把 具有独立功能的代码块 组织为一个整体,在需要的时候 调用;
使用函数可以提高编写的效率以及代码的重用

1.1函数的定义和调用

函数的使用包含两个步骤:
定义函数 —— 在函数中编写代码,实现功能
调用函数 —— 执行编写的代码

1.2函数的定义格式

def 函数名():函数封装的代码

def是英文define的缩写;
函数名的命名规则和变量的命名规则要保持一致

1.3函数的调用格式

函数名()

1.4第一个函数

需求

1. 编写一个打招呼 say_hello 的函数,封装三行打招呼的代码
2. 在函数下方调用打招呼的代码
# 定义函数
def say_hello():print('hello world')print('hello world')print('hello world')# 调用函数
say_hello()

二:函数的文档注释

函数名并不能完全表示出函数的含义,定义函数的时候就需要给函数加上注释。
函数的注释就是文档注释,以后可以根据此内容查看函数使用说明,或用于生成API文档。

注释的规则和格式如下:
● 注释应该定义在函数的下方
● 使用三对引号注释
● 调用函数时, 鼠标悬浮在函数名上可以查看函数的说明信息

def say_hello2():"""这是给林青霞打招呼的方法:return:"""print('hello 林青霞')

三:函数的参数

函数的参数,可以传递数据给函数内部
参数的作用是增加函数的 通用性

3.1参数的定义和调用

# 定义函数
def 函数名(参数1, 参数2):函数代码# 调用函数
函数名(参数1, 参数2)

3.2参数的使用

需求

定义函数,传递a和b,求a和b的和
def sum(a,b):"""这个函数是求两个数据的和:param a: 第一个数据:param b: 第二个数据:return: a和b的和"""result = a + bprint(result)# 调用
sum(10,20)

四: 函数的返回值

● 开发中,有时会希望一个函数执行结束后,告诉调用者一个结果,以便调用者对结果做后续处理
● 返回值是函数给调用方提供的结果
● 函数中使用return关键字返回结果
● 调用函数一方,可以通过变量来接收函数的返回结果

函数返回值
需求

定义函数返回两个数最大值

实现

# 定义函数
def my_max(a,b):if a > b:return aelse:return b# 调用函数
max_value = my_max(10,20)

五:函数多返回值

函数可以返回多个结果

def calc(a, b):'''求a+b以及a-b的结果:param a::param b::return: 结果的元组'''sum = a + bsub = a-breturn sum, sub

上面函数同时返回了两个数的和以及两个数的差
返回的结果会自动组包成为一个元组数据,接收的时候可以分别接收sum、sub

# 分别接收和以及差
sum, sub = calc(10, 20)

六:函数的四种类型

函数按照是否有参数以及返回值可以将函数分成四种类型

6.1无参无返回值

def say_hello():print('hello')

6.2无参有返回值

**import random
def get_temp():return random.randint(0,100)**

6.3有参无返回值

def say_hello(name):print('hello %s'%name)

6.4 有参有返回值

def sum(a, b):return a + b

七:函数的形参和实参

7.1形参

全称为形式参数。是在定义函数的时候使用的参数,用来接收调用该函数时传入的参数

def sum(a, b):return a + b

a和b属于形参,形参在函数调用的时候才赋值

7.2实参

全称为实际参数,是在调用时传递给函数的参数
sum(10, 20)

7.3形参作用域

作用域指的是变量的可用范围
● 形参的作用域只在函数内,超出函数就不能再使用了
● 作用域可以减少不同函数的命名冲突

八:局部变量和全局变量

8.1局部变量

● 局部变量,指的是在函数内部定义的变量
● 局部变量的目的是存储需要临时保存的数据

def func1():# 局部变量b = 20print('hello%d' % b)

注意:
● 不同的函数,可以定义相同名字的局部变量
● 局部变量的作用域只在函数内部

8.2全局变量

全局变量是在整个py文件中声明,全局范围内都可以访问
# 全局变量
m = 10
n = 20def func():# 函数内访问全局变量print(m)

8.3函数内修改全局变量

如果要在函数内部修改全局变量 需要首先使用global关键字将声明全局变量

# 定义全局变量
m = 10def func():# 使用global声明全局变量global m# 将m修改成20m = 30print("函数内部 m=", m)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/830171.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pixelmator Pro for Mac:简洁而强大的图像编辑软件

Pixelmator Pro for Mac是一款专为Mac用户设计的图像编辑软件,它集简洁的操作界面与强大的功能于一身,为用户提供了卓越的图像编辑体验。 Pixelmator Pro for Mac v3.5.9中文激活版下载 该软件支持多种文件格式,包括常见的JPEG、PNG、TIFF等&…

系统触发器

目录 数据库触发器 常见触发器,记录登录和退出数据库事件 模式触发器 创建一个模式触发器,记录各种 DDL 操作的日志 Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 前面已经介绍过,…

WEB攻防-PHP特性-函数缺陷对比

目录 和 MD5函数 intval ​strpos in_array preg_match str_replace 和 使用 时,如果两个比较的操作数类型不同,PHP 会尝试将它们转换为相同的类型,然后再进行比较。 使用 进行比较时,不仅比较值,还比较变量…

MATLAB非均匀网格梯度计算

在matlab中,gradient函数可以很方便的对均匀网格进行梯度计算,但是对于非均匀网格,但是gradient却无法求解非均匀网格的梯度,这一点我之前犯过错误。我之前以为在gradient函数中指定x,y等坐标,其求解的就是…

秋招后端开发面试题 - Java集合

目录 Java集合前言面试题Java 集合?说说 List、Set、Queue、Map 四者的区别?集合框架底层数据结构总结?ArrayList 和 Vector 的区别?ArrayList 与 LinkedList 区别?ArrayList 核心扩容机制?ArrayList 怎么序列化的知道吗&#x…

Metasploit 溢出 samba 提权漏洞

一、信息收集 1.1 右键单击桌面,选择 Open Terminal Here ,打开终端。 1.2 输入命令 nmap -sS -p 139,445 -A 192.168.1.254 ,对目标主机进行扫描,发现 139、445 端口开放。 1.3 输入命令“msfconsole”,启动 MSF 终端。 1.4 输入命令“searc…

电脑录制视频快捷键,一键开启录屏新时代(干货)

“最近尝试录制一些电脑上的操作视频,用来制作教学教程。不过,每次录制都要通过菜单或搜索来打开录屏软件,实在是有些繁琐。有没有人知道哪些电脑录制视频的快捷键呀?或者有没有通用的快捷键设置方法?” 在当今数字时…

Elasticsearch索引状态管理实战指南

在维护Elasticsearch集群的过程中,有效地管理索引状态对于确保系统性能、节省资源以及优化数据处理流程至关重要。本文将深入介绍Elasticsearch提供的关键索引管理操作,包括清空缓存、刷新索引、冲洗索引、强制合并、关闭索引及冻结索引等,帮…

免费语音转文字:自建Whisper,贝锐花生壳3步远程访问

Whisper是OpenAI开发的自动语音识别系统(语音转文字)。 OpenAI称其英文语音辨识能力已达到人类水准,且支持其它98中语言的自动语音辨识,Whisper神经网络模型被训练来运行语音辨识与翻译任务。 此外,与其他需要联网运行…

MySQL中脏读与幻读

一般对于我们的业务系统去访问数据库而言,它往往是多个线程并发执行多个事务的,对于数据库而言,它会有多个事务同时执行,可能这多个事务还会同时更新和查询同一条数据,所以这里会有一些问题需要数据库来解决 我们来看…

centos 7使用源码编译安装Python 3.12.2(最新版本)

(一)、说明 在centos 7上,默认安装出来的python是:2.7.5版本 1.查看python版本: python --version 2.通过yum安装出来的,适合当前操作系统的,最新的python版本是:3.6.8 python3…

python代码实现KNN对鸢尾花的分类

一、KNN模型-KNeighborsClassifier() 1.1 导入sklearn第三方库 from sklearn import datasets #sklearn的数据集 from sklearn.neighbors import KNeighborsClassifier #sklearn模块的KNN类我们使用一个叫作鸢尾花数据集的数据,这个数据集里面有 150 条数据&#…

身份证实名认证接口守护账号安全、实名认证接口Java开发示例

身份证实名认证接口就是网民账号的贴身保镖,只需简单几步操作,即可实现高效、精准的身份验证,从此告别信息泄露的恐慌!无论是线上交易、社交互动还是各类服务注册,都能确保你是独一无二的你! 翔云身份证实…

IP Transit作为一种网络服务

IP Transit作为一种网络服务,通过BGP(边界网关协议)对接,将用户的IP地址段与全球互联网进行连接,实现用户自有IP地址段在全球互联网的穿透。这种服务在中国境外,特别是在AS4837/AS10099网络平台上得到了广泛…

云手机对出海企业有什么帮助?

近些年,越来越多的企业开始向海外拓展,意图发掘更广阔的市场。在这过程中,云手机作为一个新型工具为很多企业提供了助力,尤其在解决海外市场拓展过程中的诸多挑战方面发挥着作用。 首先,云手机的出现解决了企业在海外拓…

【Linux系统化学习】死锁 | 线程同步

目录 死锁 死锁的必要条件 避免死锁 线程同步 条件变量 同步概念和竞态条件 条件变量接口 创建和初始化条件变量 等待条件满足 唤醒等待 毁条件变量 为什么 pthread_cond_wait 需要互斥量? 条件变量使用规范 等待条件代码 给条件发送信号代码 死锁 死锁是指在一…

扭蛋机小程序带来了什么优势?扭蛋机收益攻略

在当下的潮流消费时代,人们对潮玩也日益个性化,扭蛋机作为一种新型的娱乐消费模式,深受大众喜爱。扭蛋机的价格低,各个年龄层的玩家都可以进行购买,潜在玩家量非常大。扭蛋机商品主打热门IP周边等,种类繁多…

SQL注入攻击:原理与防御策略

SQL注入攻击:原理与防御策略 目录 SQL注入攻击:原理与防御策略 一、SQL注入简介 二、攻击语句原型 三、技术分析与深度挖掘 四、防御策略与最佳实践 五、案例研究与实际应用 一、SQL注入简介 定义与原理 SQL注入是一种攻击技术,通过在…

作为领导,员工不听你的安排怎么办?

很多新晋的技术领导者,最头痛的问题莫过于员工不执行你安排的任务,甚至最后还得自己亲自动手上。 作为领导,面对员工不执行你安排的任务,不要抱怨、更不要责骂员工,这些都无助于解决问题,甚至会变得更糟糕…

【PostgreSQL】Postgres数据库安装、配置、使用DBLink详解

目录 一、技术背景1.1 背景1.2 什么是 DBLink 二、安装配置 DBLink2.1 安装 DBLink2.2 配置 DBLink1. 修改 postgresql.conf2. 修改 pg_hba.conf 三、DBLink 使用3.1 数据准备3.2 DBLink 使用1. 创建 DBLink 连接2. 使用 DBLink 进行查询3. 使用 DBLink 进行增删改4. 使用 DBLi…