Python学习笔记(五)——函数和代码得复用

server/2024/9/24 3:27:43/

函数的定义与使用

函数的定义

函数是一段代码的表示,也是一段代码的完整封装

-函数是一段具有特定功能的、可重复使用的语句组

-函数是一种功能的抽象,一般函数表达特定功能

-两个作用:降低编码难度代码复用

def <函数名>(<参数(0个或多个)>):

        <函数体>

        return <返回值>

案例1:计算n!

def fact(n):s = 1for i in range(1, n+1):s *= ireturn s

y = f(x)

-函数定义时,所指定的参数是一种占位符

-函数定义后,如果不被调用,不会被执行

-函数定义时,参数是输入、函数体是处理、结果是输出(IPO)

函数的使用及调用过程

调用是运行函数代码的方式

-调用时要给出实际参数

-实际参数替换定义中的参数

-函数调用后得到返回值

def fact(n):s = 1for i in range(1, n+1):s *= ireturn sfast(10)

函数的参数传递

参数个数

函数可以有参数,也可以没有,但必须保留括号

可选参数传递

函数定义时,可以为某些参数指定默认值,构成可选参数

def <函数名>(<非可选参数>,<可选参数>):

        <函数体>

        return <返回值>

注意:非可选参数在前,可选参数在后,这是一种强制约定,非可选参数为必选参数。

def fact(n, m=1):s = 1for i in range(1, n+1):s *= ireturn s//mfast(10)fast(10, 5)

可变参数传递

函数定义时可以设计可变数量参数,即不确定参数总量

def <函数名>(<参数>,*b):

        <函数体>

        return <返回值>

def fact(n, *b):s = 1for i in range(1, n+1):s *= ifor item in b:s *= itemreturn s
fact(10, 3)
fact(10, 3, 5, 8)

参数传递的两种方式

函数调用时,可以按照位置或名称方式传递

def fact(n, m=1):s = 1for i in range(1, n+1):s *= ireturn s//mfast(10, 5)fast(m=5, n=10)

函数的返回值

函数可以返回0个或多个结果

-return保留字用来传递返回值

-函数可以有返回值,也可以没有,可以有return,也可以没有

def fact(n, m=1):s = 1for i in range(1, n+1):s *= ireturn s//m, n, ma, b, c = fact(10, 5)

局部变量和全局变量

一段程序中间有一个函数定义,其中使用的变量叫全局变量,而在函数定义的函数体中使用的变量叫局部变量。全局和局部的区别仅在于局部是函数内部使用的变量,而函数外部整个程序使用的变量叫全局变量。

规则1:局部变量和全局变量是不同的变量

-局部变量是函数内部的占位符,与全局变量可能重名但不同

-函数运算结束后,局部变量被释放

-可以使用global保留字在函数内部使用全局变量

n, s = 10, 100

n, s =110, 100
def fact(n, m=1):s = 1 #s为局部变量for i in range(1, n+1):s *= ireturn s
print(fact(n), s)  #输出结果n为3628800,s为全局变量100n, s =110, 100
def fact(n, m=1):global s  #使用全局变量for i in range(1, n+1):s *= ireturn s
print(fact(n), s)  #输出结果n为362880000,s为362880000


http://www.ppmy.cn/server/36847.html

相关文章

BIGRU、CNN-BIGRU、CNN-BIGRU-ATTENTION、TCN-BIGRU、TCN-BIGRU-ATTENTION合集

&#xff08;BIGRU、CNN-BIGRU、CNN-BIGRU-ATTENTION、TCN-BIGRU、TCN-BIGRU-ATTENTION&#xff09;时&#xff0c;我们可以从它们的基本结构、工作原理、应用场景以及优缺点等方面进行详细介绍和分析。 BIGRU、CNN-BIGRU、CNN-BIGRU-ATTENTION、TCN-BIGRU等&#xff08;matlab…

Spring Cloud 整合Sentinel

1、引入依赖 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 父pom <spring.cloud.version>Hoxton.SR12</spring.cloud.version> <spring.cloud.alibaba.version>2.2.10-RC1</spring.cloud.alibaba.version>Sentinel应用直接引用starter <…

【JAVA |基础】运算符、程序逻辑控制以及方法的使用

目录 一、前言 二、操作符 1.算术运算符 2.赋值运算符 3.比较运算符 4.逻辑运算符 5.条件&#xff08;三目、三元&#xff09;运算符 6.位运算符(都是基于二进制来计算) 三、 程序逻辑控制 1.顺序结构 2.分支结构 if语句 Switch语句 3.循环结构 while语句 for循环…

Vue3 + Element-plus 报错 require is not defined 处理问题

问题复现&#xff1a; yarn dev 后报错如下&#xff1a; app.js:358 Uncaught ReferenceError: require is not defined at eval (index.mjs:4:30) at Module../node_modules/element-plus/icons-vue/dist/es/index.mjs (chunk-vendors.js:9072:1) at webpack_require (app.j…

国内如何下载TikTOK,手机刷机教程

最近很多玩家都来问怎么刷机&#xff1f;手机环境怎么搭建&#xff1f;这里给大家整理了苹果IOS刷机教程 1.iOS下载教程 &#xff1a; 步骤一&#xff1a;手机调试 苹果手机系统配置推荐&#xff1a;iPhone6S以上&#xff0c;16G。 注意&#xff1a;如果是选择购入二手手机…

SpringCloud之OpenFeign

学习笔记&#xff1a; 官网地址&#xff1a;https://docs.spring.io/spring-cloud-openfeign/docs/current/reference/html/#spring-cloud-feign 源码&#xff1a;https://github.com/spring-cloud/spring-cloud-openfeign 1、概念总结 OpenFeign是一个声明式的Web服务客户端…

edge使用心得

1. **性能提升**&#xff1a;基于Chromium的Edge浏览器在速度和响应方面有显著提升&#xff0c;特别是在处理复杂的网页结构和执行JavaScript代码时。这意味着无论是日常浏览还是运行Web应用程序&#xff0c;都能享受流畅的用户体验。 2. **更好的兼容性**&#xff1a;由于与G…

jenkins部署服务到windows系统服务器

1、安装openSSH windows默认不支持ssh协议&#xff0c;需要下载安装&#xff0c;主要适用于jenkins传输文件已经执行命令使用 点击查看下载openSSH 2、项目配置 这里简单说说怎么配置&#xff0c;主要解决点就是ssh执行cmd或shell命令时不能开启新窗口导致应用部署失败或者断…