Python小白学习教程从入门到入坑------第十四课 函数基础(语法基础)

一、函数 def

定义:将具有独立功能的代码块组织成一个整体,使其具有特殊功能的代码集

作用:使用函数可以加强代码的复用性,提高编程续写的效率

结构:

def  函数名():

          函数体

注意:函数名要符合标识符规定,最好见名知意,调用函数前,必须保证函数已经存在

eg:

# 1.定义函数
# def 函数名():
#     函数体
# 2.调用函数
def login():print("这是登录函数")
login()
login()
# 输出结果:
# 这是登录函数
# 这是登录函数
# 调用几次,函数里面的代码就会运行几次,每次调用的时候,函数都会从头开始

小练习:

编写一个打招呼的函数并调用它(参考代码在文末,可以自己先练习一下)

二、返回值 return

定义:函数执行结束后,最后给调用者的一个结果

作用:

1、return会给函数的执行者返回值

# eg1:
def buy():return '一桶水果茶'
buy()
print(buy())
# 输出结果:一桶水果茶# eg2:
def test():x = 8y = 9return x + y
print(test())
# 输出结果:17

2、函数中遇到return,表示此函数结束,不继续执行

注意:return返回多个值,以元组的形式返回给调用者,如果返回值为0,则输出为None

eg:

# def buy():
#     return "一桶水果茶"
#     return 20   # 函数中遇到return,return下面的代码不会执行
# print(buy())
# 输出结果:一桶水果茶def buy():return  "一桶水果茶",20 # return 返回多个值,以元组的形式返回给调用者,如果返回0个值,则输出None
print(buy())
# 输出结果:('一桶水果茶', 20)

返回值的三种情况总结:

1、一个返回值也没有,返回的结果是None

2、一个返回值,就把值返回给调用者

3、多个返回值,以元组的形式返回给调用者

return 和 print 的区别:

1、return 表示此函数结束,print 会一直执行

def funa():return 123print(123)print(456)
funa()
print(funa())  # 输出结果:123,遇到return说明此函数结束def funa():# return 123print(123)print(456)
funa()
# 输出结果:
# 123
# 456

2、return 是返回计算值,return是函数内部使用的,用于将计算结果或数据返回给函数的调用者,这个返回值可以被存储、用于其他计算或传递给其他函数。

print 是打印结果,print不返回任何值(实际上返回None),只是将内容输出到控制台或指定的输出流

def add():a = 1b = 2return a + b
print(add())  # 3def add():a = 1b = 2print( a + b)
add()  # 3

三、参数(形参&实参)

定义格式:

def   函数名(形参a,形参b)

        函数体

        ....(如a = 1  b = 2)

调用格式:

函数名(实参1,实参2)

形参:定义函数时,小括号里面的变量

实参:调用函数时,小括号里面的具体的值

eg:

def add(a,b):      # a,b 就是形参return a + b
print(add(1,5))    # 1,5 就是实参
# 传参 a = 1,b = 5
# 输出结果:6

这节就学到这里吧,在下一节中,我将给大家分享python中函数中的各类参数与函数嵌套~

函数 def 章节中小练习参考代码:

# 编写一个打招呼的函数并调用它
def say_hello():print("你好呀")
say_hello()

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

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

相关文章

Maven的依赖

一、依赖的基本配置 根元素project下的dependencies可以包含多个 dependence元素,以声明多个依赖。每个依赖都应 该包含以下元素: 1. groupId, artifactId, version : 依赖的基本坐标, 对于任何⼀个依赖来说,基本坐标是最…

【GIT】Visual Studio 中 Git 界面中, 重置 和 还原

在 Visual Studio 的 Git 界面中,“重置” 和 “还原” 是两个常用的 Git 操作。它们的主要区别在于应用场景和影响范围。 1. 重置(Reset) 重置用于更改当前分支的提交历史,通常用于撤销或删除某些提交。重置操作可能会更改 Git…

python网络爬虫基础:URL的组成与结构

URL(Uniform Resource Locator,统一资源定位符),常被称为网页链接、网址,用于在互联网中唯一标识资源的位置。一个典型的 URL 包含以下几部分: 1. 协议(Protocol) 协议指定了访问资…

Flink CDC系列之:调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案

Flink CDC系列之:调研应用Flink CDC将 ELT 从 MySQL 流式传输到 StarRocks方案 准备准备 Flink Standalone 集群准备 docker compose为 MySQL 准备记录使用 Flink CDC CLI 提交作业 同步架构和数据更改路由变更清理 本教程将展示如何使用 Flink CDC 快速构建从 MySQ…

[Ansible实践笔记]自动化运维工具Ansible(二):Ansible的playbook及角色

Ansible playbook(剧本) 详情请参考[Ansible实践笔记]自动化运维工具Ansible(一):初探ansible&ansible的点对点模式 文章目录 Ansible playbook(剧本)介绍核心字段环境配置案例&#xff1…

React--》掌握Valtio让状态管理变得轻松优雅

Valtio采用了代理模式,使状态管理变得更加直观和易于使用,同时能够与React等框架无缝集成,本文将深入探讨Valtio的核心概念、使用场景以及其在提升应用性能中的重要作用,帮助你掌握这一强大工具,从而提升开发效率和用户…

【Go语言】

type关键字的用法 定义结构体定义接口定义类型别名类型定义类型判断 别名实际上是为了更好地理解代码/ 这里要分点进行记录 使用传值的例子,当两个类型不一样需要进行类型转换 type Myint int // 自定义类型,基于已有的类型自定义一个类型type Myin…

用kali入侵 DarkHole_2测试

进入kali系统调出root交互式界面 netdiscover -r 000.000.000.000/24 -------局域网探测IP工具 nmap 设备端口扫描 发现两个攻击点一个是80端口的Http 一个是22端口的ssh 发现有许多GIT文件 可能会出现git源码泄露 使用githack URL 命令还原git源文件 打开面板控制命令行 输入…

2.插入排序(斗地主起牌)

一、思想 扑克牌起牌 代码: 二、时间复杂度: 最好情况(已经排序好的):T O(N) 最坏情况(完全逆序):T O(N^2) 三、优劣: 严格的大小比较之后才进行错位插入&#x…

exchange_proxy exchange 安全代理

1. 软件简介 exchange_proxy 是由小米公司开发并开源的,以 go 语言开发的 exchange 安全代理,可以将内网的 exchange 服务器的 https 服务安全地发布出去, 支持的功能如下: WEB 端增加 OTP 二次认证手机端增加设备激活绑定的功能屏蔽了 PC 端的 EWS 协议(意思就是不支持)…

gin入门教程(5):请求参数处理

在 Gin 中,处理请求参数非常简单。您可以从 URL 路由、查询字符串和请求体中提取参数。以下是几种常见的处理方式: 1. URL 路由参数 如果您想从 URL 中获取参数,可以使用路由定义中的冒号(:)符号: r.GET…

【PHP】在ThinkPHP6中Swoole与FPM的简单性能测试对比

一、前言 本文主要测试在ThinkPHP 6框架中,使用Swoole扩展库与使用PHP-FPM两者的HTTP并发性能差距,测试方法较简单,仅供参考。 二、测试环境 系统:Ubuntu 22.04 PHP版本:7.4.33 Swoole版本:4.8.13 ThinkPHP版本:6.1.5 ThinkPHP-Swoole扩展库版本:3.1.4 测试工具:A…

unity中GameObject介绍

在 Unity 中,Cube和Sphere等基本几何体是 Unity 引擎的内置预制体(Prefabs),它们属于 Unity 中的GameObject 系统,可以在 Unity 的 Hierarchy 视图或 Scene 视图中右键点击,然后在弹出的菜单中选择 3D Obje…

MySQLDBA修炼之道-开发篇(一)

三、开发基础 1. 数据模型 1.1 关系数据模型介绍 关于NULL 如果某个字段的值是未知的或未定义的&#xff0c;数据库会提供一个特殊的值NULL来表示。NULL值很特殊&#xff0c;在关系数据库中应该小心处理。例如查询语句“select*from employee where 绩效得分<85 or>绩…

ElasticSearch的向量存储和搜索

ElasticSearch的向量存储和搜索 引入依赖示例代码 引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schema…

JVM参数选项类型

我的后端学习大纲 JVM学习大纲 1、类型1&#xff1a;标准参数选项&#xff1a; 1.1.特点&#xff1a; 1.比较稳定&#xff0c;后续基本不会发生变化2.以“-”开头 1.2.各种选项&#xff1a; 运行java或者java -help可以看到所有的标准选项 1.3.补充内容&#xff1a; -se…

Halcon 多相机统一坐标系(标定)

多相机统一坐标系是指将多个不同位置的相机的图像采集到同一个坐标系下进行处理和分析的方法。 在计算机视觉和机器视觉领域中&#xff0c;多相机统一坐标系被广泛应用于三维重建、立体视觉、目标跟踪等任务中。 以gen_binocular_rectification_map&#xff08;生成描述图像映…

【NodeJS】NodeJS+mongoDB在线版开发简单RestfulAPI (七):MongoDB的设置

本项目旨在学习如何快速使用 nodejs 开发后端api&#xff0c;并为以后开展其他项目的开启提供简易的后端模版。&#xff08;非后端工程师&#xff09; 由于文档是代码写完之后&#xff0c;为了记录项目中需要注意的技术点&#xff0c;因此文档的叙述方式并非开发顺序&#xff0…

Android View的事件分发机制

前言 本文由于介绍本人关于View的事件分发机制的学习&#xff0c;如有不恰当的描述欢迎指出。 View基础 什么是View ​ View是Android中所有控件的基类&#xff0c;不管是Button、TextView、LinearLayout&#xff0c;它们的共同基类都是View。也就是说&#xff0c;View是界…

K8S配置storage-class

简介 Kubernetes支持NFS存储&#xff0c;需要安装nfs-subdir-external-provisioner&#xff0c;它是一个存储资源自动调配器&#xff0c;它可将现有的NFS服务器通过持久卷声明来支持Kubernetes持久卷的动态分配。该组件是对Kubernetes NFS-Client Provisioner的扩展&#xff0…