python-常用的内置函数

news/2024/11/24 8:47:46/

文章目录

  • 一、函数的引入
  • 二、变量的作用域
  • 三、参数传递
  • 四、常见的4类形参
    • 1. 必选参数:必须要传递的参数
    • 2. 默认参数:可传可不传的参数
    • 3. 可变参数: 参数的个数会变化,可以传0,1,2,3,......n
    • 4. 关键字参数:可以传递key和value
  • 五、匿名函数
  • 六、匿名函数对应的leetcode题目
  • 七、递归函数


一、函数的引入

从实现函数的角度来看,其至少需要想清楚以下 3 点:
1.函数需要几个关键的需要动态变化的数据,这些数据应该被定义成函数的参数
2.函数需要传出几个重要的数据(就是调用该函数的人希望得到的数据),这些数据应该被定义成返回值
3.函数的内部实现过程

常用的内置函数: max,min,sum, divmod
函数必须有输入和输出。
max_num = max(1, 2, 3)
print(max_num)1.如何创建函数?定义函数,函数内容并不会执行
函数的输入专业叫参数, 函数的输出叫返回值。重点:- 形参: 形式参数,不是真实的值(定义函数时的参数)- 实参:实际参数,是真实的值(调用函数时的参数)
def get_max(num1, num2):result = num1 if num1 > num2 else num2return result
2. 如何调用函数?
max_num = get_max(30, 80)
print(max_num)

在这里插入图片描述

二、变量的作用域

"""
可变数据类型:list, dict,set
不可变数据类型: 数值型, str, tuple
"""# 1. 全局变量: 全局生效的变量。函数外面的变量。
name = 'admin'
def login():print(name)
login()# 2. 局部变量: 局部生效的变量。函数内部的变量。
def logout():age = 19print(age)
logout()
# print(age)# 3. 函数内部修改全局变量.
# 1). money是局部变量还是全局变量? 全局变量
# 2). 如果要在函数中修改全局的变量,不能直接修改。 需要用global关键字声明修改的变量是全局变量。
# 3). 不可变数据类型修改全局变量一定要global声明, 可变数据类型不需要。
def hello():global moneymoney += 1users.append('user1')print(money, users)
money = 100  # 不可变数据类型
users = []  # 可变数据类型
hello()

在这里插入图片描述
在这里插入图片描述

三、参数传递

在这里插入图片描述

四、常见的4类形参

1. 必选参数:必须要传递的参数

2. 默认参数:可传可不传的参数

3. 可变参数: 参数的个数会变化,可以传0,1,2,3,…n

4. 关键字参数:可以传递key和value

"""
必选参数:必须要传递的参数
默认参数:
可变参数:*args - 元组
关键字参数:**kwargs - 字典
"""# 1. 必选参数:必须要传递的参数
def get_max(num1: int, num2: int) -> int:return num1 if num1 > num2 else num2result = get_max(20, 30)
print(result)# 2. 默认参数:可传可不传的参数
def pow(x, y=2):return x ** yresult = pow(3)  # x=3, y=2, result=9
print(result)
result = pow(2, 4)  # x=2,y=4, result=2**4=8
print(result)# 3. 可变参数: 参数的个数会变化,可以传0,1,2,3,......n
# args是元组
# args=arguments
def my_sum(*args):return sum(args)result = my_sum(4, 5, 6)  # 15
print(result)# 4. 关键字参数:可以传递key和value
# kwargs存储在字典中
def enroll(name, age=18, **kwargs):print(f"""入学信息1. 姓名:{name}2. 年龄:{age}3. 其他:{kwargs}""")enroll('张三', country='china', english='GRE', sports=['篮球', '羽毛球'])from collections import  namedtuple

在这里插入图片描述
在这里插入图片描述

五、匿名函数

在这里插入图片描述

六、匿名函数对应的leetcode题目

在这里插入图片描述

七、递归函数

在这里插入图片描述

在这里插入图片描述
递归实现fib数列
在这里插入图片描述



http://www.ppmy.cn/news/244257.html

相关文章

【23JavaScript 类型转换】探索JavaScript类型转换:从隐式到显式,轻松掌握数据类型转换的关键概念与技巧

JavaScript 类型转换 在JavaScript中,类型转换是将一个数据类型的值转换为另一个数据类型的过程。了解类型转换的原理和方法对于处理数据和编写有效的代码至关重要。 隐式类型转换 JavaScript中经常会发生隐式类型转换,即在操作中自动进行的类型转换。…

总结6种服务限流的实现方式

服务限流,是指通过控制请求的速率或次数来达到保护服务的目的,在微服务中,我们通常会将它和熔断、降级搭配在一起使用,来避免瞬时的大量请求对系统造成负荷,来达到保护服务平稳运行的目的。下面就来看一看常见的6种限流…

九、(补充文章四)Arcgis实现深度学习训练样本数据的批量制作——只靠原图+shp如何批量制作样本图片

之前写了一些个深度学习系列文 其中先是单张样本的制作方法 最后通过构造模型批量处理 大大提高了生成样本的速度 四、Arcgis实现深度学习河流训练样本数据的制作(使用软件批量获取样本图片)——对已经获取到的完整面状样本数据进行处理 但是这个方法不仅仅需要shp和原图 还需要…

超细立磨机-超细粉末处理装置

超细粉的深加工技术是近年来随着现代高技术、新材料工业发展而兴起的一项新技术。超细粉末的机械粉碎技术是超细粉末生产的重要技术,由于其先进的设备、超细粉的生产规模等优点,对我国超细粉工业的发展有着重要的影响。 在超细机械破碎过程中&#xff0…

计算机主板的应用范围,什么是工业主板,与普通主板的区别

原标题:什么是工业主板,与普通主板的区别 工业级主板为工业PC系统提供了支柱,与商用主板相比,它们受到版本控制,并且可用时间更长,并且通常在比商用同类产品更宽的温度范围内运行。 与传统的消费类主板相反…

单模光纤和多模光纤的区别

多模光纤(Multi Mode Fiber):中心玻璃芯较粗(50或62.5μm),可传多种模式的光。但其模间色散较大,这就限制了传输数字信号的频率,而且随距离的增加会更加严重。例如:600MB/KM的光纤在2KM时则只有300MB的带宽了。因此&am…

石墨烯粉末, 是否导电?

石墨烯粉末是否导电? 01 石墨烯 一、前言 前几天看到一个视频, UP主虚张声势给大家通过石墨烯变了一个魔术, 通过石墨烯粉末与AB环氧树脂胶水,手搓了一个场效应管。 这个像棒棒糖模样的场效应管,看着就让人有食欲。…

硅麦的输出阻抗测量

模拟硅麦的输出阻抗 01 硅麦输出阻抗 一、背景介绍 昨天,对于收到的Infineon公司模拟结构的硅麦进行测初步的测试,发现它的输出信号正常情况下是在1.3V上下进行波动, 信号的峰峰值只有200毫伏左右,为了更好的利用单片机AD输入的动…