[Python基础知识]05函数和模块

一、函数的定义

格式:def 函数名(参数列表):

注:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。即使该函数不需要接收任何参数,也必须保留一对空的圆括号

  • 函数形参不需要声明其类型,也不需要指定函数返回值类型

  • 参数列表是调用该函数时传递给它的值,可以有零个、一个或多个,当传递多个参数时各参数由逗号分隔

  • 函数内容以冒号起始,并且缩进(函数体相对于def关键字必须保持一定的空格缩进)



#下面的定义是一个求阶乘的函数
def factorial(num):result = 1for n in range(1, num + 1):result *= nreturn result
x = factorial(4)
y = factorial(10)
print(x)
print(y)

运行结果:

二、返回值

  1. return [表达式] 结束函数,选择性地返回一个值给调用方。

  1. 函数可以没有return,此时函数并不返回值,不带表达式的return相当于返回 None。

  1. 如果程序有多个返回值,可以封装为列表返回,也可以直接返回多个值,如果是直接返回多个值,python自动封装为元组



import math
def gcd_lcm(a,b):#求最大公约数x = math.gcd(a,b)#求最小公倍数y = a * b // x
#     return [x,y]return x,y# z = gcd_lcm(12,20)
# print(z)
## 使用序列解包获取多个返回值
mygcd,mylcm = gcd_lcm(12,20)
print(mygcd)
print(mylcm)

运行结果:

三、函数的嵌套

递归时函数自己调用自己。递归时要注意设置结束条件,虽然Python中有限定递归的总数,但是还是要注意的。

四、函数的参数

1、位置参数:

调用函数时实参和形参的顺序必须严格一致,并且实参和形参的数量必须相同。否则会报错。

2、默认值参数

如果大部分的参数是某个值,可以设置为默认参数,简化函数的调用

注:

  • 默认值参数必须出现在函数参数列表的最右端,任何一个默认值参数右边不能有非默认值参数。

  • 如果默认参数不是在参数最后,则python解释器会报错。

  • 默认参数必须指向不变对象,比如str,int,NONE等。而默认参数是list、dict等是可变对象时,会导致数据错误

  • f.__defaults__ #查看函数默认值参数的当前值

3、可变参数

*parameter用来接受多个实参并将其放在一个元组中



def value(a,b,*c):'''a:操作数b:操作符号(+—*/)c:操作数功能:用a和c进行b的操作'''if b=='+':for  item in c:a=a+item       elif b=='-':for item in c:a=a-itemreturn a
y=value(20,'-',4,5,6)
print(y)
z=value(20,'+',4,5)
print(z)
x=value(20,'+',5,6)
print(x)

运行结果:

4、关键字参数

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

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

相关文章

云计算技术概述_1.云计算相关概念

1.关于IBM“蓝云(Blue Cloud)”计划 IBM 推出的“蓝云(Blue Cloud)”计划为客户带来即可使用的云计算(Cloud Computing)。它包括一系列的云计算产品,使计算不仅仅局限在本地机器或远程Server Farms&#…

9U_VPX信号处理机,传感器大数据异构计算平台

9U_VPX信号处理机 1 介绍 1.1 产品概述 9U_VPX信号处理机是一款面向前端射频系统的高速记录、存储和处理系统。信号处理机为应对军用电子信息系统面临的目标种类多样化、战场环境复杂化、执行任务多元化等多重难题,而研发出来的***数据记录存储系统。信号处理机担…

用LM Studio搭建微软的PHI3小型语言模型

什么是 Microsoft Phi-3 小语言模型? 微软Phi-3 模型是目前功能最强大、最具成本效益的小型语言模型 (SLM),在各种语言、推理、编码和数学基准测试中优于相同大小和更高大小的模型。此版本扩展了客户高质量模型的选择范围&#x…

前端安全:XSS和CSRF攻击的防御策略

在前端开发中,确保应用的安全性是至关重要的任务之一。跨站脚本攻击(XSS)和跨站请求伪造(CSRF)是两种常见的安全威胁,它们可以严重危害网站的安全和用户的隐私。以下是针对这两种攻击的防御策略&#xff1a…

初识java——javaSE(2)--运算符【求个关注】

文章目录 一 运算符1.1 算术运算符当两个不同类型的值相加时&#xff1a;/ 运算符%运算符 1.2 关系运算符1.3 逻辑运算符短路&#xff1a;逻辑非 1.4 位运算符&|^位运算符当作逻辑运算符中使用 ~>><<>>> 1.5 赋值运算符1.6 三目运算符 一 运算符 1.1…

Spark运行流程及架构设计

spark中一个应用程序application会在任务控制节点上启动一个Driver程序&#xff0c;并且这个Driver程序会创建一个SparkContext对象&#xff08;类似于mapreduce中的applicationManager&#xff09;。该对象有三个任务&#xff0c;1是向资源管理器clusterManager注册&#xff0…

数据库(MySQL)—— DQL语句(聚合,分组,排序,分页)

数据库&#xff08;MySQL&#xff09;—— DQL语句&#xff08;聚合&#xff0c;分组&#xff0c;排序&#xff0c;分页&#xff09; 聚合函数常见的聚合函数语法 分组查询语法 排序查询语法 分页查询语法 DQL的执行顺序 我们今天来继续学习MySQL的DQL语句的聚合和分组查询&…

c++容器与算法概述

容器与算法 每个标准库容器都提供了begin() end() 函数&#xff0c;分别返回容器的头部位置和尾部位置。 I/O 流 对于自定义的类型&#xff1a; struct Entry {std::string name;int number;};如果需要使用标准输出需要重载<< 运算符&#xff0c;特别注意&#xff1a…

《Redis使用手册之Lua脚本》

《Redis使用手册之Lua脚本》 EVAL&#xff1a;执行脚本 127.0.0.1:6379> eval “return ‘hello world’” 0 “hello world” 127.0.0.1:6379> eval “return redis.call(‘set’,KEYS[1],ARGV[1])” 1 “message” “hello world” OK 127.0.0.1:6379> get message…

「Pudding Monsters」Solution

简述题意 给定一个 n n n \times n nn 的棋盘&#xff0c;其中有 n n n 个棋子&#xff0c;每行每列恰好有一个棋子。 对于所有的 1 ≤ k ≤ n 1 \leq k \leq n 1≤k≤n&#xff0c;求有多少个 k k k \times k kk 的子棋盘中恰好有 k k k 个棋子&#xff0c;输出其总和…

Web3应用:DeFi是什么?有什么用?

Web3&#xff0c;也被称为第三代互联网&#xff0c;是基于区块链技术的去中心化网络。它旨在创建一个不依赖于中心化服务提供商的互联网&#xff0c;赋予用户更大的数据所有权和控制权。而DeFi&#xff0c;即去中心化金融&#xff08;Decentralized Finance&#xff09;&#x…

街道征迁项目档案管理系统

街道征迁项目档案管理系统是一个用于管理街道征迁项目档案的软件系统。该系统的主要功能包括档案录入、档案存储、档案检索、档案共享等。 系统的用户可以通过该系统录入征迁项目相关的档案信息&#xff0c;包括项目名称、征迁范围、土地面积、征迁补偿费用等。同时&#xff0c…

【设计模式】之模板方法模式

系列文章目录 【设计模式】之策略模式 【设计模式】之责任链模式 文章目录 系列文章目录 前言 一、什么是模板方法模式 定义 角色 二、为什么要使用模板方法模式 优点 缺点 三、案例 普通案例 模拟Servlet过程案例 总结 前言 今天给大家介绍23种设计模式中的模板方法模式&a…

Python基础学习之编辑器

大家好&#xff0c;今天我想和大家分享一下Python中一个非常强大且优雅的特性——装饰器&#xff08;Decorators&#xff09;。装饰器在Python中是一种高级语法&#xff0c;它允许你在不修改函数或类的情况下&#xff0c;为其添加额外的功能。这不仅让代码更加整洁&#xff0c;…

搭建Kafka源码环境并测试

文章目录 一、前言二、环境准备三、环境搭建3.1 JDK 环境搭建3.2 Scala 环境搭建3.2.1 配置 Scala 环境变量3.2.2 验证 3.3 Gradle 环境搭建3.3.1 配置 Gradle 环境变量3.3.2 验证 3.4 Zookeeper 环境搭建3.4.1 配置 Zookeeper 环境变量3.4.2 验证 3.5 Kafka 源码搭建3.5.1 导入…

CKEditor编辑器的简单使用方法,取值,赋值

先从官网下载包。CKEditor 4 - Download Latest Version. 一&#xff1a;在项目里引用JQ基础包和CK的JS包 <script src"/JS/jquery-3.4.1.js?v1.0"></script><script src"/ckeditor/ckeditor.js"></script> 二&#xff1a;在表…

Codeforces Round 942 (Div. 2) ----- A ----- F --- 题解

前情提要&#xff1a;因为数学水平原因&#xff0c;没法给出e的证明&#xff0c;因为我也是举例归类得出的结论&#xff0c;但是按理来说应该可以利用生成数函数证明 f题也是因为数学原因加上水平有限&#xff0c;我的理解可能有偏差。 目录 A. Contest Proposal&#xff1a…

CocoaPods:iOS项目依赖管理的利器

CocoaPods&#xff1a;iOS项目依赖管理的利器 一、引言 在iOS项目的开发过程中&#xff0c;我们经常需要集成各种第三方库来快速实现某些功能&#xff0c;如网络请求、UI组件、数据处理等。然而&#xff0c;手动管理这些第三方库的版本、依赖和更新是一个繁琐且容易出错的过程…

Linux内核常用调优参数

Linux内核常用调优参数 vi /etc/sysctl.conf net.core.rmem_default 256960 net.core.rmem_max 513920 net.core.wmem_default 256960 net.core.wmem_max 513920 net.core.netdev_max_backlog 2000 net.core.somaxconn 2048 net.core.optmem_max 81920 net.ipv4.tcp_m…

图像处理的一些操作(1)

图像处理 1.安装PIL&#xff0c;skimage库1.1导入skimage库中的oi模块和data模块 2.读取图像文件2.1读取图像文件2.2 以灰度模式读取图像2.3 查看示例图像的目录路径2.4 读取chelsea图片2.5 加载示例图片并保存2.6 获得加载图片的信息2.6.1 输出图片类型2.6.2 输出图片尺寸2.6.…