python学习函数------廖雪峰的官方网站

文章目录

      • 4.函数
        • 4.1调用函数
          • abs(一个参数)函数:求绝对值的函数,只有一个参数。
          • max(多个参数)函数:可以接收任意多个参数,并返回最大的那个
          • 数据类型转换
          • hex()函数:把一个整数转换成十六进制表示的字符串
        • 4.2定义函数
        • 4.3函数的参数
        • 参数组合
        • 4.4递归函数

4.函数

python 内置函数
在这里插入图片描述

4.1调用函数
abs(一个参数)函数:求绝对值的函数,只有一个参数。
>>> abs(100)
100
>>> abs(-20)
20
>>> abs(12.34)
12.34
max(多个参数)函数:可以接收任意多个参数,并返回最大的那个
>>> max(1, 2)
2
>>> max(2, 3, 1, -5)
3
数据类型转换

比如int()函数可以把其他数据类型转换为整数:

>>> int('123')
123
>>> int(12.34)
12
>>> float('12.34')
12.34
>>> str(1.23)
'1.23'
>>> str(100)
'100'
>>> bool(1)
True
>>> bool('')
False
hex()函数:把一个整数转换成十六进制表示的字符串
n1 = 255
n2 = 1000>>>print(hex(n1))
>>>print(hex(n2))
0xff
0x3e8
4.2定义函数

在这里插入图片描述

4.3函数的参数

默认参数可以简化函数的调用。设置默认参数时,有几点要注意:

一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面);

二是如何设置默认参数。当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。变化小的参数就可以作为默认参数。

def power(x):return x * x

把power(x)修改为power(x, n),用来计算x的n次方

参数组合

在Python中定义函数,可以用必选参数、默认参数、可变参数、关键字参数和命名关键字参数,这5种参数都可以组合使用。

但是请注意,参数定义的顺序必须是:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。

*args是可变参数,args接收的是一个tuple;

**kw是关键字参数,kw接收的是一个dict。

4.4递归函数

斐波那契数列

def f(n):if n == 0 or n == 1:return nelse:return f(n-1) + f(n-2)
f(6)

计算阶乘n! = 1 x 2 x 3 x … x n,用函数fact(n)表示

def fact(n):if n==1:return 1return n * fact(n - 1)

汉诺塔的移动可以用递归函数非常简单地实现。

def move(n, a, b, c):if n == 1:print(a, '-->', c)return    move(n-1, a, c, b)print(a, '-->', c)move(n-1, b, a, c)move(3,'A', 'B', 'C')

必须要设置正确的返回条件 ----容易形成无底洞

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

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

相关文章

QT第三天

完善对话框,点击登录对话框,如果账号和密码匹配,则弹出信息对话框,给出提示”登录成功“,提供一个Ok按钮,用户点击Ok后,关闭登录界面,跳转到其他界面如果账号和密码不匹配&#xff0…

Ubuntu 实时查看显存调用命令 free 及命令详解与原理说明(全)

Ubuntu 实时查看显存调用命令 free 及详解 文章目录 Ubuntu 实时查看显存调用命令 free 及详解1 free 作用1.1 语法:1.2 单独显示例子1.3 组合显示例子 2 输出介绍3 原理解释3.1 buff / cache(即 buffer / cache)3.1.1 buffer 缓冲区3.1.2 ca…

Linux入门攻坚——12、Linux网络属性配置相关知识2

CentOS 7网络属性配置: 传统命名机制:以太网eth[0,1,2,...],wlan[0,1,2...] 可预测功能的命名机制: udev支持多种不同的命名方案: Firmware ,拓扑结构 在对待设备文件这块,Linux改…

不知道题目是啥

本题是学校的集训里的题,所有不知道题目名字是啥,直接看题目就好 解题思路:因为字符串只含有小写字母,所以可以创建两个数组分别来存s和t的每个字母出现次数,然后遍历数组,如果s字符串中的某个字母比t的小&…

TurboDesign安装包及安装教程

下载链接: 链接:https://pan.baidu.com/s/1I_jMid-z186GgvyH3ZExGQ 提取码:z936 1.解压下载好的压缩包。 2.进入解压后的文件夹并点击进入“ADT TURBODesign Suite 6.4.0”。 3.点击“安装包”进入文件夹。 4.找到“setup.exe”并右键点…

Java中异常处理-详解

异常(Exception) JVM 默认处理方案 把异常的名称,异常的原因,及异常出错的位置等信息输出在控制台程序停止执行 异常类型 编译时异常必须显示处理,否则程序会发生错误,无法通过编译运行时异常无需显示处理…

谓词-量词、主析取、主和取范式、前束范式、推理证明

这部分内容,主要需要掌握谓词推理,而前提是掌握将自然语言符号化为谓词、用量词来限定辖域,量词的消去、剩下就是推理过程。还需要掌握的是主析取、主和取范式和前束范式。 存在量词∃:至少有一个 全称量词∀:全都是…

Qt QCheckBox复选按钮控件

文章目录 1 属性和方法1.1 文本1.2 三态1.3 自动排他1.4 信号和槽 2 实例2.1 布局2.2 代码实现 Qt中的复选按钮类是QCheckBox它和单选按钮很相似,单选按钮常用在“多选一”的场景,而复选按钮常用在"多选多"的场景比如喜欢的水果选项中&#xf…

文献阅读1

A Hierarchical Representation Network for Accurate and Detailed Face Reconstruction from In-The-Wild Images 会议/期刊:CVPR 2023;阿里达摩院;Biwen Lei 概述:这是一篇单张图片三维人脸重建的论文,这篇论文的…

微机原理常考简答题总结

一,8086和8088这两个微处理器在结构上有什么异同? (1)共同点:内部均由EU、BIU组成,结构基本相同;寄存器等功能部件均为16位;内部数据通路为16位;指令系统相同。 &#x…

mercury靶机

文章妙语 不与伪君子争名,不与真小人争利,不与执拗人争理,不与匹夫争勇,不与酸儒争才。不与蠢人施恩 一、信息收集 主机探测 端口探测 探测主机详细版本信息 8080开了http服务 目录扫描 robots.txt目录下什么也没有 二&#xff0…

MongoDB查找命令find,让数据返回称心如意

业务系统接入数据库后,每天都有大量的数据写入数据库。面对逐日增加的数据,开发人员或数据分析人员,该如何读取数据,怎样设置条件,从数据库中查询数据? 本文基于mongodb的官方文档,整理出find命…