Python函数 之 函数基础
- print() 在控制台输出
- input() 获取控制台输⼊的内容
- type() 获取变量的数据类型
- len() 获取容器的⻓度 (元素的个数)
- range() ⽣成⼀个序列[0, n)
以上都是我们学过的函数,函数可以实现⼀个特定的功能。我们将学习⾃⼰如何定义函数, 实现特定的功能。
1.函数是什么?
- 函数:将多⾏代码(可以实现⼀个特定的功能)放在⼀块,并给它起⼀个名字。在需要使 多⾏代码的时候, 可以使⽤名字代替。
- 定义函数的好处:对具备相同逻辑的代码进行封装,实现对代码的重用,减少代码冗 余(重复的代码不需要多次书写),提⾼编程效率。
- 函数必须 先定义 后 调用
2.函数的文档注释[了解]
- 函数的⽂档注释,本质就是注释, 只不过作⽤和书写位置有特定的要求
- 作⽤: 是对函数的作用和使用方法进行说明, ⽐如 有哪些参数, 返回值是什么
- 书写位置: 在def 的下方,使⽤三对双引号来书写
函数的查看:
- 在函数名上,使⽤快捷键 Ctrl q 查看
- 在函数名上,使⽤ 快捷键 Ctrl B 跳转到函数定义的地⽅查看
- 在函数名上, 按住 Ctrl 键,点击函数名,跳转到函数定义的地⽅查看
3.函数的定义
def 函数名():函数中的代码函数中的代码
- 函数定义,就是给多行代码起名字的过程
- 函数的定义需要使⽤ 关键字 def, 单词 define
- 处在 def 缩进中的代码 都属于这个函数
- 函数名要满⾜标识符的规则, ⻅名知意
- def 这⾏代码的最后需要⼀个 冒号
- 函数定义不会执⾏函数中的代码,想要执⾏需要调⽤这个函数
4.定义带参数的函数
- 参数
- 形式参数(形参):在函数定义的时候,在括号中写⼊变量,这个变量就称为是函数的参数。
- 实际参数(实参):在函数调⽤的时候,可以给定义时候的形参传递具体的数据值,供其使⽤。
- 注: 在函数调⽤的时候,会将函数的实参值传递给形参。
- 好处: 可以让函数更加的通⽤,函数中的数据值不是固定的,是调⽤的时候,你传递的。
- 使用场景: 判断 函数中 数据值是不是固定不变的, 如果是变化的,就可以使⽤参数传递。
- 注意点: ⽬前书写的函数, 如果存在形参,必须传递相同个数的实参。
def sun_2_num(a, b): # a, b 形参c = a + bprint(c)sun_2_num(10, 20) # 10, 20 实参 10 给 a, 20 给 b
sun_2_num(1, 2)
sun_2_num(20, 39)
5.函数的调用
语法:函数名()
注意:有参数则需要传递参数
- 函数调用,就是使用 多行代码的过程
- 只定义函数, 不调用函数, 函数永远不会被执行
- 不能将 函数调用 放在 函数定义 的上方,否则将会出现错误。(先定义再调用)
# 定义带参数的函数
def sun_2_num(a, b): # a, b 形参c = a + bprint(c)# 调用带参数的函数
sun_2_num(10, 20) # 10, 20 实参 10 给 a, 20 给 b
sun_2_num(1, 2)
sun_2_num(20, 39)
定义函数的小技巧:
- 先不使⽤函数,将多⾏代码写完
- 在多行代码的上⽅使⽤ def 起名字
- 使⽤ tab 键, 将多⾏代码进行缩进
6.函数嵌套调用
- 在⼀个函数中调⽤另⼀个函数。
1, 代码从上到下执⾏的
2, 函数定义不会执⾏函数中的代码
3, 函数调用会进⼊函数中执⾏函数中的代码
4, 函数中的代码执行结束,会回到调⽤的地⽅继续向下执⾏
# 1. 定义名为test01的函数,打印当前函数的名称
def test01():print(1)print('func01')print(2)# 2. 定义名为test02的函数,打印当前函数的名称,并 调用test01函数
def test02():print(3)print('func2')test01()print(4)print(5)
test02()
print(6)
# 5 3 1 2 4 6
7.返回值
- 返回值: 函数执⾏的结果
- print() ---> None
- input() ---> 键盘输⼊的内容, 类型 字符串
- type() ---> 变量的数据类型
- len() ---> 容器⻓度
- 在⼀个函数中,想要返回⼀个数据(想要有返回值),需要使用return 关键字。
- 为什么返回值? 在函数中可能通过各种代码得到的数据结果,想要在函数外部使用就需要使⽤返回值。
- 如果函数有返回值, ⼀般在调⽤的时候 会使⽤变量来接收(保存) 返回值, 以便后续使用。
- return 关键字的作用:
- 将⼀个数据值返回到调用的地⽅
- 函数遇到 return 会结束函数的执行
- return 关键字只能⽤在函数中
- 如果⼀个函数 没有写 return,可以认为 返回值是 None。
# 设计⼀个函数⽤于获取两个数中的较⼤数,数据来⾃于函数的参数def get_max(a, b):if a > b:return aelse:return bprint('我会执⾏吗, 不会执⾏') # 注意:return 表示返回,后续的代码都不会被执行# 调用
num = get_max(10, 20)
print(num)
案例:
需求:
1. 定义名为 input_username 的函数, 获取⽤户输⼊的⽤户名
2. 定义名为 input_password 的函数, 获取⽤户输⼊的密码
3. 定义名为 login 的函数, 判断获取的⽤户名和密码信息
4. 要求当获取的⽤户名为:admin 并且密码为: 123456 时, 输出“登录成功!”,否则提示“⽤户 名或 密码错误!”
# 1. 定义名为 input_username 的函数, 获取⽤户输⼊的⽤户名def input_username():"""输⼊⽤户名"""return input('请输入用户名:')# 2. 定义名为 input_password 的函数, 获取⽤户输⼊的密码
def input_password():"""输⼊密码"""return input('请输入密码:')# 3. 定义名为 login 的函数, 判断获取的用户名和密码信息
# 4. 要求当获取的用户名为:admin 并且密码为: 123456 时,输出“登录成功!”,否则提示“用户名或密码错误!”def login():"""登录函数"""if input_username() == 'admin' and input_password() == '123456':print('登录成功')else:print('用户名或密码错误')login()
未完待续。。。
相关文章:

Python函数 之 函数基础
print() 在控制台输出 input() 获取控制台输⼊的内容 type() 获取变量的数据类型 len() 获取容器的⻓度 (元素的个数) range() ⽣成⼀个序列[0, n) 以上都是我们学过的函数,函数可以实现⼀个特定的功能。我们将学习⾃⼰如何定义函数, 实现特定的功能。 1.函数是什么…...

昇思25天学习打卡营第11天|SSD目标检测
SSD网络 目标检测问题可以分为以下两个问题:1)分类:所有类别的概率;2)定位: 4个值(中心位置x,y,宽w,高h) Single Shot MultiBox Detector,SSD:单阶段的目标检测算法,通过卷积神经网络进行特征…...

MySQL篇五:基本查询
文章目录 前言1. Create1.1 单行数据 全列插入1.2 多行数据 指定列插入1.3 插入否则更新1.4 替换 2. Retrieve2.1 SELECT 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式2.1.4 为查询结果指定别名2.1.5 结果去重 2.2 WHERE 条件2.2.1 练习 2.3 结果排序2.3.1 练习 …...

FreeBSD@ThinkPad x250因电池耗尽关机后无法启动的问题存档
好几次碰到电池耗尽FreeBSD关机,再启动,网络通了之后到了该出Xwindows窗体的时候,屏幕灭掉,网络不通,只有风扇在响,启动失败。关键是长按开关键后再次开机,还是启动失败。 偶尔有时候重启到单人…...

pdfplumber vs PyMuPDF:PDF文本、图像和表格识别的比较
pdfplumber vs PyMuPDF:PDF文本、图像和表格识别的比较 1. 文本提取pdfplumberPyMuPDF 2. 图像提取pdfplumberPyMuPDF 3. 表格提取pdfplumberPyMuPDF 总结 在处理PDF文件时,提取文本、图像和表格是常见的需求。本文将比较两个流行的Python PDF处理库:pdfplumber和PyMuPDF(fitz)…...

深入Django系列
Django简介与环境搭建 引言 在这个系列的第一天,我们将从Django的基本概念开始,逐步引导你搭建一个Django开发环境,并运行你的第一个Django项目。 Django简介 Django是一个开源的Web框架,它鼓励快速开发和干净、实用的设计。D…...

【Python】找Excel重复行
【背景】 找重复行虽然可以通过Excel实现,但是当数据量巨大时光是找结果就很费时间,所以考虑用Python实现。 【代码】 import pandas as pd# 读取Excel文件 file_path = your excel file path df = pd.read_excel(file_path)# 查找重复行 # 这里假设要检查所有列的重复项 …...

重读AI金典算法模型-GPT系列
2023年对于AI来说,可以算是一个里程碑式的年份,随着OpenAI的chatGPT的大火,遍地的生成式AI应用应运而生。在这些上层应用大放异彩的时候,我们需要了解一些底层的算法模型,并从中窥探出为什么时代选择了OpenAI的chatGPT…...

仙人掌中的SNMP检测不到服务器
登录有问题的服务器1.检测snmp localhost:~ # ps -ef|grep snmp root 55180 1 0 08:37 ? 00:00:08 /usr/sbin/snmpd -r -A -LF n /var/log/net-snmpd.log -p /var/run/snmpd.pid root 58436 53989 0 09:44 pts/0 00:00:00 grep --colorauto snmp2.检测…...
git只列出本地分支
git只列出本地分支 git branch --list git强制删除本地分支 git branch -D_error: the branch dlx-test is not fully merged. -CSDN博客文章浏览阅读648次。git branch -d 可以通过: git branch 查看所有本地分支及其名字,然后删除特定分支。git删除远程remote分支…...

算力狂飙|WAIC 2024上的服务器
7月7日,2024世界人工智能大会暨人工智能全球治理高级别会议(WAIC 2024)在上海落下帷幕。这场备受瞩目的AI盛宴与热辣夏日碰撞,吸引了全球科技、产业及学术界的广泛关注,线下参观人数突破30万人次,线上流量突…...

uniapp app端跳转第三方app(高德地图/百度地图为例)
1.先写一个picker选择器 <picker change"bindPickerChange" :value"index" :range"array"><view class"uni-input">{{array[index] || 打开第三方app }}</view></picker> 2.在data中定义好高德地图/百度地图…...

阿里云RDS云数据库库表恢复操作
最近数据库中数据被人误删了,记录一下恢复操作方便以后发生时进行恢复. 1.打开控制台,进入云数据库实例. 2.进入实例后 ,点击右侧的备份恢复,然后看一下备份时间点,中间这边都是阿里云自动备份的备份集,基本都是7天一备…...

来一场栈的大模拟(主要是单调栈)
一.栈模拟 二.单调栈求最大矩形面积 通常,直方图用于表示离散分布,例如,文本中字符的频率。 现在,请你计算在公共基线处对齐的直方图中最大矩形的面积。 图例右图显示了所描绘直方图的最大对齐矩形。 输入格式 输入包含几个测…...

13 - matlab m_map地学绘图工具基础函数 - 介绍创建管理颜色映射的函数m_colmap和轮廓图绘制颜色条的函数m_contfbar
13 - matlab m_map地学绘图工具基础函数 - 介绍创建管理颜色映射的函数m_colmap和轮廓图绘制颜色条的函数m_contfbar 0. 引言1. 关于m_colmap2. 关于m_contfbar3. 结语 0. 引言 本篇介绍下m_map中用于创建和管理颜色映射函数(m_colmap)和 为轮廓图绘制颜…...

PTA - 编写函数计算圆面积
题目描述: 1.要求编写函数getCircleArea(r)计算给定半径r的圆面积,函数返回圆的面积。 2.要求编写函数get_rList(n) 输入n个值放入列表并将列表返回 函数接口定义: getCircleArea(r); get_rList(n); 传入的参数r表示圆的半径,…...

Golang | Leetcode Golang题解之第218题天际线问题
题目: 题解: type pair struct{ right, height int } type hp []pairfunc (h hp) Len() int { return len(h) } func (h hp) Less(i, j int) bool { return h[i].height > h[j].height } func (h hp) Swap(i, j int) { h[i], h[j]…...

【Mars3d】osgb倾斜摄影模型加载慢卡顿的优化方案参考
倾斜摄影模型文件一共6个多g,一个村子十几间房, 服务器配置:8c16g 100M 答: 目前可以对 3dtiles 模型有下面 3 方法来入手: 数据处理层面,比如数据处理工具的选择、和选择的工具本身的一些优化参数的设…...

认识同源策略
同源策略是一种浏览器安全机制,用于限制一个源的文档或脚本如何与另一个源的资源进行交互。源由协议(如HTTP或HTTPS)、域名和端口号组成。如果两个URL的协议、域名和端口都相同,则它们具有相同的源。 同源策略主要影响以下几个方…...

ADOQuery 查询MSSQL存储过程一个莫名其妙的错误;
在 SSMS 中执行完成正常的的存储过程。 也能正常的返回想要的数据,,然后通过 ADO 查询时,总是提法 某 字段不存在的问题; 此问题困扰了一天。 例如(当然,实际数据结构比下面举例的复杂)&…...

变阻器的分类
变阻器作为用于调节电路中电阻值的电子元件,在电子电路中具有广泛的应用。根据不同的工作原理和结构形式,变阻器可以分为多种类型。以下是对变阻器分类的详细阐述: 一、按工作原理分类 电位器是一种通过滑动端位置调节电阻值的变阻器&#x…...

微服务节流阀:Eureka中服务限流策略的精妙实现
微服务节流阀:Eureka中服务限流策略的精妙实现 引言 在微服务架构中,服务的稳定性和可靠性至关重要。限流策略作为保障服务稳定性的一种手段,通过控制服务的访问速率,可以有效避免服务过载和故障扩散。Eureka作为Netflix开源的服…...

Keras实战之图像分类识别
文章目录 整体流程数据加载与预处理搭建网络模型优化网络模型学习率Drop-out操作权重初始化方法对比正则化加载模型进行测试 实战:利用Keras框架搭建神经网络模型实现基本图像分类识别,使用自己的数据集进行训练测试。 问:为什么选择Keras&am…...

Celery,一个实时处理的 Python 分布式系统
大家好!我是爱摸鱼的小鸿,关注我,收看每期的编程干货。 一个简单的库,也许能够开启我们的智慧之门, 一个普通的方法,也许能在危急时刻挽救我们于水深火热, 一个新颖的思维方式,也许能…...

源码编译安装 LAMP
源码编译安装 LAMP Apache 网站服务基础Apache 简介安装 httpd 服务器 httpd 服务器的基本配置Web 站点的部署过程httpd.conf 配置文件 构建虚拟 Web 主机基于域名的虚拟主机基于IP 地址、基于端口的虚拟主机 MySQL 的编译安装构建 PHP 运行环境安装PHP软件包设置 LAMP 组件环境…...

PostgreSQL的pg_filedump工具
PostgreSQL的pg_filedump工具 基础信息 OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本:16.2 pg软件目录:/home/pg16/soft pg数据目录:/home/pg16/data 端口:5777pg_filedump 是一个工具&#x…...

Java语言+后端+前端Vue,ElementUI 数字化产科管理平台 产科电子病历系统源码
Java语言后端前端Vue,ElementUI 数字化产科管理平台 产科电子病历系统源码 Java开发的数字化产科管理系统,已在多家医院实施,支持直接部署。系统涵盖孕产全程,包括门诊、住院、统计和移动服务,整合高危管理、智能提醒、档案追踪等…...

Linux 服务器环境搭建
一、安装 JDK 官网下载地址:https://www.oracle.com/java/technologies/downloads # 创建目录 mkdir /usr/local/java/# 解压 tar -zxvf jdk-8u333-linux-x64.tar.gz -C /usr/local/java/# 配置环境变量 vim /etc/profileexport export JAVA_HOME/usr/local/java/…...

RabbitMQ 更改服务端口号
需求 windows环境下,将RabbitMQ默认的端口号 5672 改为 11001 实现 本机RabbitMQ版本为3.8.16,找到配置文件位置,路径为:C:\Users\%USERNAME%\AppData\Roaming\RabbitMQ\advanced.config 配置文件默认内容为空 填写修改端口号…...

16:9横屏短视频素材库有哪些?横屏短视频素材网站分享
在这个视觉内容至关重要的时代,16:9横屏视频因其宽广的画面和优越的观赏体验,已经成为无数创作者和营销专家的首选格式。但要创造出吸引人的横屏视频,高质量的视频素材库是不可或缺的。不管你是资深视频制作人还是刚入行的新手,下…...