python-常用的内置函数

news2025/1/12 9:02:03

文章目录

  • 一、函数的引入
  • 二、变量的作用域
  • 三、参数传递
  • 四、常见的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 num2
    return 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 = 19
    print(age)
logout()
# print(age)


# 3. 函数内部修改全局变量.
# 1). money是局部变量还是全局变量? 全局变量
# 2). 如果要在函数中修改全局的变量,不能直接修改。 需要用global关键字声明修改的变量是全局变量。
# 3). 不可变数据类型修改全局变量一定要global声明, 可变数据类型不需要。
def hello():
    global money
    money += 1
    users.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 num2

result = get_max(20, 30)
print(result)

# 2. 默认参数:可传可不传的参数
def pow(x, y=2):
    return x ** y

result = 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.coloradmin.cn/o/615942.html

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

相关文章

前端web入门-CSS-day05

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 选择器 结构伪类选择器 :nth-child(公式) 伪元素选择器 盒子模型 组成 边框线 内边距 内边距 – …

2023护网面试题200道(附答案)

最近日入1000的护网行动已经开始摇人了, 不少大学生在后台私信我如何参加护网、面试问些什么、有没有护网内推 作为一个负责任的博主,收到大家反馈的我,连夜发动钞能力,收集整理了一套护网蓝初面试文档 1. 什么是DDoS攻击&#x…

linux重装yum

1.先确定linux版本 cat /etc/redhat-release ; 查看已安装的yum rpm -qa|grep yum 1 删除已有的yum rpm -aq|grep yum|xargs rpm -e --nodeps 1 下载以下安装包 http://mirrors.163.com/centos/7/os/x86_64/Packages/ 下载最新版本 安装 用FIleZillia 上传的服务…

chatgpt赋能python:Python数据分析

Python数据分析 什么是Python数据分析 Python是一种简单易学、功能强大的编程语言,它是数据科学中最常用的开发语言之一。数据分析是Python的主要用途之一。Python的开源性、易于使用和拥有强大的数据科学库使它成为学术和商业环境下最受欢迎的数据分析工具之一。…

chatgpt赋能python:Python如何取一个数的每位数

Python如何取一个数的每位数 Python是一门功能强大的编程语言,它支持许多数字处理函数,其中一个非常常用的功能是取一个数的每位数。在本文中,我们将介绍如何使用Python取一个数的每位数,以及一些实际应用场景。 取整除 - //操作…

IP-GUARD没有域用户是否可以使用文档云备份功能?

没有域用户是否可以使用文档云备份功能? 可以。 1.没有域控,无法关联域用户的计算机,需添加定制配置 控制台-策略-定制配置-自定义 关键字:enable_relt_common_user 内容:1 备注:允许关联本地用户进行文档云备份。 2.添加配置后,还需要手动关联用户。 设置关联后才会进…

Android Jetpack组件之Navigation

无论您如何构建应用界面(使用 Fragment、Activity 还是其他组件),都要为应用设计屏幕间导航的功能。那么可以试试Naviagtion。 文章目录 基本使用创建项目观察使用代码底部导航控件fragment代码底部navigationView与顶部fragment的联动 Navi…

python基础知识(八):字典

目录 1. 字典及其创建2. 字典元素的获取3. 字典元素的删除与清空4. 字典元素的增加5. 字典元素的修改6. 字典的键、值和键值对的获取7. 字典元素的遍历8. 字典的特点9. 字典生成式 1. 字典及其创建 在Python中,字典是一系列键—值对。每个键都与一个值相关联&#…

【深度学习】跌倒识别(带数据集和源码)从0到1

文章目录 前言1. 数据集1.1 数据初探1.2 数据处理1.2 训练前验证图片1.4 翻车教训和进阶知识 2. 训练3.效果展示 前言 又要到做跌倒识别了。 主流方案有两种: 1.基于关键点的识别,然后做业务判断,判断跌倒,用openpose可以做到。…

node,yarn ,cnpm安装

1.解决npm warn config global --global, --local are deprecated. use --locationglobal instead 在安装配置node时,cmd检查node没问题 但是检查npm就出现**npm warn config global –global, –local are deprecated. use –locationglobal instead.**的报警 问…

ClickHouse 使用介绍

1 CK 介绍 1.1 clickhouse简介 ClickHouse 是俄罗斯的 Yandex 于 2016 年开源的用于在线分析处理查询(OLAP :Online Analytical Processing)MPP架构的列式存储数据库(DBMS:Database Management System),能够…

SpringBoot整合第三方技术 -- SpringBoot快速入门保姆级教程(三)

文章目录 前言三、SpringBoot整合第三方技术1.SpringBoot整合junit2.Spring整合junit入门案例3.SpringBoot整合Mybatis4.SpringBoot整合Mybatis入门案例5.SpringBoot整合Mybatis更换默认数据源 总结 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博…

2023陕西省赛-部分Misc复现

目录 管道 zsteg使用: 可是雪啊飘进双眼 snow加密: 管道 用工具zsteg查看各通道的lsb,使用指令,拿到flag zsteg -a 文件 zsteg使用: 介绍:用来检测PNG和BMP中隐藏数据的工具,可以快速提取隐…

初学SpringBoot—01

注明:本人学习来源SpringForAll社区资料 我看到的资料中的springboot和idea版本较低,所以我这里在我学习后,理解并掌握的基础上将我用到的IDEA2022版本和Maven3.8.6做一个记录 学习SpringBoot前最好学习一下Maven和SSM框架 一、新建SpringBo…

RocketMQ详解+实战+常见面试题

目录 RocketMQ是什么? RocketMQ的主要特点包括 RocketMQ 的消息模型 队列模型/点对点 发布/订阅模型 RocketMQ 的消息模型 RocketMQ中重要的组件 RocketMQ消费模式 RoctetMQ基本架构 springboot实战讲解 基本样例 单向发送 异步发送 同步发送 推模式…

chatgpt赋能python:Python多行换行:如何在Python代码中正确处理多行

Python多行换行:如何在Python代码中正确处理多行 在Python中,代码往往需要按照一定的格式进行排版,以使代码更易于阅读和维护。在编写长代码时经常会遇到一个问题:如何正确处理多行?本文将介绍Python中多行换行的方法…

嵌入式系统中SPI 子系统基本原理实现

1、SPI hardware SPI:Serial Perripheral Interface,串行外围设备接口,由 Motorola 公司提出,是一种高速、全双工、同步通信总线。SPI 以主从方式工作,通常是有一个主设备和一个或多个从设备,无应答机制。…

Mendix 创客访谈录 | 低代码开启新世界

本期创客 李垚 西门子汽车事业部IOT专家 任职于西门子中国DI事业部,主要负责汽车行业西门子产品业务拓展与支持,服务于中国区汽车生产企业。本人主要负责Siplant、边缘计算,低代码技术等产品的售前、售后技术支持和故障排除, 解决客户在产品…

VSCode+GDB+Qemu调试ARM64 linux内核

俗话说,工欲善其事 必先利其器。linux kernel是一个非常复杂的系统,初学者会很难入门。 如果有一个方便的调试环境,学习效率至少能有5-10倍的提升。 为了学习linux内核,通常有这两个需要 可以摆脱硬件,方便的编译和…

React新版扩展特性

目录 Hooks 三个常用的Hook State Hook Effect Hook Ref Hook Context Router 6 声明式路由 编程式路由导航 Hooks (1) Hook是react 18.8.0版本新增的特性/语法 (2) 可以让我们在函数式组件中使用state以及其他的react特性 三个常用的Hook (1) State Hook: React.useSt…