当前位置: 首页 > news >正文

python之 函数相关知识解析

01 函数的注释与嵌套

        1.函数的注释

函数的注释与普通注释的区别:用来说明当前函数的参数含义

param 参数名: 参数的注释信息

return: 函数的返回值

例如:

def fun1(name):""":param name: 参数的注释信息:return: 函数的返回值"""print("fun1函数")  # 查看源码的快捷键:Ctrl + 左键 点击要查看的函数def fun2(name, age, addr, sal):""":param name: 请输入姓名:param age: 请输入年龄:param addr: 请输入地址:param sal: 请输入薪资:return: 函数执行后的返回信息"""print("fun2函数")# fun1()
# fun2()# lst1 = [1, 2]
# lst1.append()# 打印函数的注释
print(fun1.__doc__)
print(print.__doc__)

2.函数的嵌套:

一个函数的内部调用另一个函数

# def fun1():
#     print("欢迎来到七夜老师的课堂!")
#     fun2()  # 陷入死循环的情况
#
#
# def fun2():
#     print("VIP 234 班级的直播课!")
#     fun1()  # 调用fun1函数
#
#
# # 问题:想在调用fun2函数的同时,去调用fun1函数?
# fun2()  # 调用fun2函数

一个函数的内部嵌套另一个函数

def fun3():print("qsdd!")def fun4():print("秋殇大大")fun4()# 问题1:运行fun3函数,会打印几句话?
# fun3()
# 如果不调用函数,是不会去运行函数的内部代码的!!!# 问题2:能不能在最外层,调用fun4函数?
# fun4() # name 'fun4' is not defined
# 在函数的内部定义的函数,不能直接在最外层调用 -- 函数的作用域# 问题3:那么怎么去调用fun4函数呢?
# 应该在fun4函数定义的同级
fun3()

2 python中的内置函数

    1.作用域函数(重点

作用域:定义的变量和函数在哪个范围内可用

文件和文件之间定义的东西,一般不能直接用

函数内定义的东西,不能在文件中直接使用,哪怕同一个文件也不行

类中定义的东西,只在类的内部生效,不能在文件中直接使用

变量:

全局变量 -- 在当前文件内定义的变量,可以在文件任何地方使用

局部变量 -- 在有效范围内可以调用,出了范围就不能用了

类声明的变量也是一样

局部变量在定义的时候可以直接声明为全局变量

局部变量,定义成全局变量

通过global关键字,先声明变量,然后再去赋值

# def fun6():
#     b = 5  # 未声明
#     global c  # 已声明
#     c = 6
#
#
# fun6()
# # 哪怕是通过global关键字,转化成全局变量,也不可以直接使用,必须使声明的代码被执行 (注意)
# print(c)

数学函数

abs() 绝对值

print(abs(-1)) # 1

divmod() 返回商和余数

 x = int(input("请输入一个整型:"))a, b = divmod(x, 2)print(f"商:{a}")
print(f"余:{b}")

round() 四舍五入(银行家算法)

# print(round(1.5))  # 2
# print(round(3.5))  # 4
# print(round(5.5))  # 6
#
# print(round(2.5))  # 2
# print(round(4.5))  # 4
# print(round(6.5))  # 6# print(round(4.9))
# print(round(4.6))
# print(round(4.51))

看是奇数还是偶数,奇数:四舍五入  偶数:直接舍弃,只在0.5奏效

pow() 次方

print(pow(10, 2))

sum() 求和

min() 最小值

max() 最大值

3 匿名函数

        1.匿名函数的定义:

匿名函数:就是没有名字的函数

python lambda表达式实现匿名函数

语法规则:

lambda 参数: 逻辑

匿名函数里面的参数名称,是自定义

结果就是返回表达式的结果

示例:

import math  # 导入# pai = math.pi
# print(f"圆周率π: {pai}")
#
# # 圆的面积计算公式: s = π * r²
# r = 5  # 圆的半径
# s = math.pi * pow(r, 2)
# print(f"圆的面积: {s}")# 方式一:普通的函数定义
def s_area(r):""":param r: 圆的半径:return: 返回圆的面积"""s = math.pi * pow(r, 2)return sprint(f"当r的值为5的时候,圆的面积: {s_area(r=5)}")# 方式二:匿名函数的定义
res = lambda r: math.pi * pow(r, 2)
print(f"当r的值为5的时候,圆的面积: {res(r=5)}")

   04 装饰器之函数传递

                1.函数的传递

python中可以把函数当变量传递

所以这种情况下,可以直接执行被传入的函数\

# def fun1(): # print("ddddd ")

# 函数的调用 -- 函数的名称(),就会执行函数的内部代码 # fun1()

# print(fun1) # <function fun1 at 0x7fbb180c8160>, function代表是一个函数、fun1表示函数的名称、at 0x7fbb180c8160表示函数所在的内存地址

示例如下

def fun1():print("qsdd!")def fun2(fun_name):  # 参数的名称可以自定义""":param fun_name: 传入函数的引用/本体:return: 调用传入的这个函数"""print("秋殇大大!")print(f"此时fun_name获取的值:{fun_name}")  # fun1函数的引用 -- 引用与调用之间的区别:有没有小括号fun_name()  # 请问:这是在调用哪个函数? -- 调用fun1函数# 通过函数的引用,来完成,调用fun2函数的时候,去调用fun1函数
fun2(fun_name=fun1)  # 把fun1函数,当做变量进行传值

函数加小括号,表示调用,没有小括号,表示引用

相关文章:

python之 函数相关知识解析

01 函数的注释与嵌套 1.函数的注释 函数的注释与普通注释的区别&#xff1a;用来说明当前函数的参数含义 param 参数名: 参数的注释信息 return: 函数的返回值 例如&#xff1a; def fun1(name):""":param name: 参数的注释信息:return: 函数的返回值"…...

监视器和显示器的区别,普通硬盘和监控硬盘的区别

监视器与显示器的区别&#xff0c;你真的知道吗&#xff1f; 中小型视频监控系统中&#xff0c;显示系统是最能展现效果的一个重要环节&#xff0c;显示系统的优劣将直接影响视频监控系统的用户体验满意度。 中小型视频监控系统中&#xff0c;显示系统是最能展现效果的一个重要…...

Linux:升级OpenSSL和OpenSSH

原因是现有版本存在安全漏洞&#xff0c;需要升级到新版本 原有版本和升级后的版本 OpenSSL 1.0.2k-fips 26 Jan 2017 -> OpenSSL 1.1.1w 11 Sep 2023OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017 -> OpenSSH_9.5p1, OpenSSL 1.1.1w 11 Sep 2023目录 查看现有版…...

方法的入栈和出栈

一.作用域问题 1.全局作用域 在全局都能进行访问的变量 var a 10;function fn() {var b 20;return a b;}console.log(fn()); 2.局部的作用域 只能在限定的范围内进行访问 function fn() {var b 20;}console.log(b); b is not defined 打印的结果是b这个变量没用定义 3…...

PHP介绍

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;PHP❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、PHP是什么&#xff1f; 二、 PHP 文件是什么&#xff1f; 三、PHP能做什么&#xff1f; 四、P…...

接口自动化测试之-requests模块详解

一、requests背景 Requests 继承了urllib2的所有特性。Requests支持HTTP连接保持和连接池&#xff0c;支持使用cookie保持会话&#xff0c;支持文件上传&#xff0c;支持自动确定响应内容的编码&#xff0c;支持国际化的 URL 和 POST 数据自动编码。 二、requests安装 利用p…...

低代码+定制物资管理:创新解决方案探析

引言 在当今快速变化的商业环境中&#xff0c;企业面临着不断增长的挑战&#xff0c;如提高效率、降低成本、满足客户需求等。为了应对这些挑战&#xff0c;企业需要不断创新并采用先进的技术解决方案。在这样的背景下&#xff0c;低代码开发和定制化物资管理成为了引领企业变…...

13 【PS作图】人物绘画理论-脸型

三庭五眼 三庭&#xff1a;脸的长度比例 &#xff08;1&#xff09;发际线到眉毛 &#xff08;2&#xff09;眉毛到鼻底 &#xff08;3&#xff09;鼻底到下巴 三个部分大致为三等分 五眼&#xff1a;脸的宽度比例 以眼睛长度为单位&#xff0c;把脸的宽度分成五等分&#x…...

Python批量修改图片文件名中的指定名称

批量处理图像时&#xff0c;图片名有时需要统一&#xff0c;本教程仅针对图片中名如&#xff1a;0001x4.png&#xff0c;批量将图片名中的x4去除&#xff0c;只留下0001.png的情况。 如果想要按照原图片顺序批量修改图片名&#xff0c;参考其它博文&#xff1a;按照原顺序批量…...

STM32点灯大师(点了一颗LED灯,轮询法)

配置操作&#xff1a; 一、使用CubeMX配置到大致的操作 1.1 选择芯片 1.2 选择引脚&#xff08;根据电路图&#xff09; 1.3 配置gpio口 1.4 配置系统 1.5文件项目操作 最后就是点击 二、点击CubeMX生成的代码&#xff0c;并且修改代码 2.1 看看效果 2.2 写代码...

动态规划算法:路径问题

例题一 解法&#xff08;动态规划&#xff09;&#xff1a; 算法思路&#xff1a; 1. 状态表⽰&#xff1a; 对于这种「路径类」的问题&#xff0c;我们的状态表⽰⼀般有两种形式&#xff1a; i. 从 [i, j] 位置出发&#xff0c;巴拉巴拉&#xff1b; ii. 从起始位置出…...

盘一盘接口测试的那些痛点,你现在会解决了吗

前言 说到接口测试&#xff0c;想必大家一定不会陌生。接口测试就是测试系统组件间&#xff0c;接口对接是否顺畅的一种测试。包括测试数据能否交换、能否传递、能否正常控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系&#xff0c;等等。 由于接口测试主要是检测系统…...

基于alpha shapes的边缘点提取(matlab)

1、原理介绍 由Edelsbrunner H提出的alpha shapes算法是一种简单、有效的快速提取边界点算法。其克服了点云边界点形状影响的缺点&#xff0c;可快速准确提取边界点。如下图所示&#xff0c;对于任意形状的平面点云&#xff0c;若一个半径为a的圆&#xff0c;绕其进行滚动&…...

C#三人飞行棋

C#三人飞行棋 #region 1控制台设置int w 50, h 30; ConsoleInit(w, h); #endregion#region 2 场景选择实例//声明一个表示场景标识的变量 E_SceneType nowSceneType new E_SceneType(); while (true) {switch (nowSceneType){case E_SceneType.Begion://开始场景逻辑Consol…...

Notes for the missing semester. Useful and basic knowledge about Linux.

The Shell Contents The first course is to introduce some simple commands. I’ll list some commands that I’m not familiar with: # --silent means dont give log info, # --head means we only want the http head. curl --head --silent bing.com.cn# cut --deli…...

【信息系统项目管理师知识点速记】资源管理基础

项目团队 执行项目工作,实现项目目标的一组人员。成员具备不同技能,可全职或兼职,随项目进展而变化。参与项目规划和决策,贡献专业技能,增强对项目的责任感。项目管理团队 直接参与项目管理活动的成员,负责项目管理和领导。负责项目各阶段的启动、规划、执行、监督、控制…...

Android性能优化面试题汇总

Android的性能优化涉及多个方面,如启动优化、稳定性优化、内存优化、网络优化、电量优化、安全优化等方面。 一、稳定性优化 1.1 你们做了哪些稳定性方面的优化 随着项目的逐渐成熟,用户基数逐渐增多,DAU持续升高,我们遇到了很多稳定性方面的问题,对于我们技术同学遇到…...

Ansible 自动化运维工具 - 了解和模块应用

目录 一. Ansible 的相关知识 1.1 Ansible 工具的简介 1.2 Ansible的四大组件 1.3 运维自动化工具 1.4 Ansible 和其它自动化运维工具对比 1.5 Ansible 的优缺点 二. Ansible 环境安装部署 2.1 管理端安装 ansible 2.2 配置主机清单 三. ansible 命令行模块 3.1 comm…...

AI神助攻!小白也能制作自动重命名工具~

我们平时从网上下载一些文件&#xff0c;文件名很多都是一大串字母和数字&#xff0c;不打开看看&#xff0c;根本不知道里面是什么内容。 我想能不能做个工具&#xff0c;把我们一个文件夹下面的所有word、excel、ppt、pdf文件重命名为文件内容的第一行。 我们有些朋友可能不会…...

(读书笔记-大模型) LLM Powered Autonomous Agents

目录 智能体系统的概念 规划组件 记忆组件 工具组件 案例研究 智能体系统的概念 在大语言模型&#xff08;LLM&#xff09;赋能的自主智能体系统中&#xff0c;LLM 充当了智能体的大脑&#xff0c;其三个关键组件分别如下&#xff1a; 首先是规划&#xff0c;它又分为以下…...

超分辨率重建——BSRN网络训练自己数据集并推理测试(详细图文教程)

目录 一、BSRN网络总结二、源码包准备三、环境准备3.1 报错KeyError: "No object named BSRN found in arch registry!"3.2 安装basicsr源码包3.3 参考环境 四、数据集准备五、训练5.1 配置文件参数修改5.2 启动训练5.2.1 命令方式训练5.2.2 配置Configuration方式训…...

C语言实现贪吃蛇

目录 前言一 . 游戏背景1. 背景介绍2. 项目目标3. 技术要点 二 . 效果演示三 . 游戏的设计与分析1. 核心逻辑2. 设计与分析游戏开始Gamestart()函数游戏运行Gamerun()函数游戏结束Gameend()函数 四 . 参考代码五 . 总结 前言 本文旨在使用C语言和基础数据结构链表来实现贪吃蛇…...

高可用系列四:loadbalancer 负载均衡

负载均衡可以单独使用&#xff0c;也常常与注册中心结合起来使用&#xff0c;其需要解决的问题是流量分发&#xff0c;这是就需要定义分发策略&#xff0c;当然也包括了故障切换的能力。 故障切换 故障切换是负载均衡的基本能力&#xff0c;和注册中心结合时比较简单&#xf…...

Ruby递归目录文件的又一种方法

经常派得上用场&#xff0c;记录一下。 递归文件做一些操作 #encoding:utf-8require pathnamedef recursive_enum_files(from_path)from_path Pathname.new(from_path)raise ArgumentError,must start at a directory. unless from_path.directory?from_path.enum_for(:fin…...

【爬虫】爬取A股数据写入数据库(一)

1. 对东方财富官网的分析 步骤&#xff1a; 通过刷新网页&#xff0c;点击等操作&#xff0c;我们发现https://datacenter-web.eastmoney.com/api/data/v1/get?请求后面带着一些参数即可以获取到相应数据。我们使用python来模拟这个请求即可。 我们以如下选择的页面为切入点…...

1-38 流资源类结构

一 简介 1. Java中所说的流资源--IO流 2.为什么学习留资源&#xff1f; --要操作文件中的数据 将数据写入指定的文件 将数据从指定的文件读取 3.分类 -- 四大基流 , 八大子流 (重点) 按照流向分 : 输入流 和输出流 按照操作数据资源的类型划分 字符流 (重点) Reader -- 字符…...

nginx的前世今生(二)

书接上回&#xff1a; 上回书说到&#xff0c;nginx的前世今生&#xff0c;这回我们继续说 3.缓冲秘籍&#xff0c;洪流控水 Nginx的缓冲区是其处理数据传输和提高性能的关键设计之一&#xff0c;主要用于暂存和管理进出的数据流&#xff0c;以应对不同组件间速度不匹配的问题…...

浏览器跨域详解

一、什么是跨域 浏览器跨域是指当一个Web应用程序试图访问另一个协议、主机或端口不同的资源时&#xff0c;所发生的情况。这主要是由于浏览器的同源策略造成的&#xff0c;它是为了网站的安全而设置的安全限制&#xff0c;防止一个网站恶意访问另一个网站的资源。当然这是比较…...

华为5700配置

恢复出厂设置&#xff0c;清空配置 1、更改名字 system-view sysname tp-10-50-01-04 2、配置管理接口 int vlan 1 ip add 10.50.1.4 255.255.254.0 quit 2、链路汇聚 interface eth-trunk 1 mode lacp quit 3、绑定端口 interface eth-trunk 1 trunkport gigabitethernet …...

使用Axios从前端上传文件并且下载后端返回的文件

前端代码&#xff1a; function uploadAndDownload(){showLoading();const fileInput document.querySelector(#uploadFile);const file fileInput.files[0];const formData new FormData()formData.append(file, file)return new Promise((resolve, reject) > {axios({…...

成品源码网站永久地址入口进入/深圳优化怎么做搜索

上次的博文深入浅出MongoDB&#xff08;一&#xff09;NoSQL中我们已经简单介绍了一下NoSQL的基本概念&#xff0c;这次我们来了解一下MongoDB相关概念。 1、简介 MongoDB是一款由C编写的高性能、开源、无模式的常用非关系型数据库产品&#xff0c;是非关系数据库当中功能最丰富…...

上海装修公司排名榜前30名/企业网站seo优化

在mybaits中#{}和${}都可以用来传递参数&#xff0c;那么他们有何不同呢&#xff0c;下面来看看他们的是如何执行的&#xff0c;相信你看了之后就会明白他们的区别了。   #{}的方式&#xff1a;   XML文件配置的sql如下&#xff1a; <select id"findCommodityByKe…...

网站制作内联框/免费广告推广

除了 SpaceX 和特斯拉&#xff0c;Neuralink 则是马斯克旗下专注于“脑机接口”技术研究的公司。该司于昨日宣布获得 2.05 亿美元的 C 轮融资。总部位于迪拜的风险投资公司 Vy Capital 领投&#xff0c;Google Ventures、DFJ Growth、Valor Equity Partners、Craft Ventures、F…...

网站建设的目标与期望/东莞seo排名收费

Program Size: Code10848 RO-data780 RW-data372 ZI-data868 Code 表示程序代码指令部分 存放在Flash区 RO-data 表示 程序定义的常量 ,存放在Flash区 RW-data 表示 已初始化的全局变量、静态变量&#xff0c;值存放在Flash&#xff0c;变量存放RAM区 ZI-data 表示 未初始化的全…...

上海网站建设 迈/百度指数的特点

Python# -*- coding: utf-8 -*- """ Time: 2018/9/26 Author: songhao 微信公众号: zeropython File: test_file_os.py """ import os import requests # 相对路径 print("相对路径","../") print("相对路径的父级&quo…...

吉林网站建设业务/百度搜索下载

overload与override的区别 override&#xff08;重写&#xff0c;覆盖&#xff09; 1、方法名、参数、返回值相同。 2、子类方法不能缩小父类方法的访问权限。 3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。 4、存在于父类和子类之间。 5、方法被…...