python——第九天

news2024/11/19 20:35:10

今日目标:

 偏函数

 递归

 字符串对象

 切片

 常见排序和查找

 

 

偏函数:

 python中存在一种函数的特殊使用,称为偏函数

 如果在调用某个函数时,恰好某一个或者,某一些参数都是一个固定值(正好不是默认值),

 为了方便调用,我们可以通过特殊手段修改默认值

from functools import partial

新的函数 = partial(原函数名称, 参数=新值)


递归(recursion):
递归就是函数调用函数本身


求 1~n的和:


注意:递归虽然非常好用,可以将一些复杂的问题,极度简化,使得可以通过递归解决一些复杂问题,
但是递归是会重复压栈调用相同函数,所以栈内存会被大量占据,无法释放,
容易出现:“栈溢出错误”(StackOverFlow)


斐波那契数列:
第三个元素,是前两个元素之和
0 1
1 1
1 2


求第n个项的元素是多少?


案例:斐波那契数列的实现



思考题:
1、青蛙跳楼梯
2、不死兔子:
一对刚刚出生的兔子,四个月之后,会称为成年的兔子,成年兔子每月会生一对小兔子
等N月时,共有多少对兔子




字符串对象:
字符串是基本数据类型,讲解了几种常见的创建方式
"字符串"
'字符串'
"""
字符串
"""
'''
字符串
'''

str() 创建或者转换其他类型为字符串
len(字符串) 获取字符串的长度

 字符串是一个有序的序列(sequence),也是一个可迭代对象,也有下标

  字符串[下标] # 某一个位置的字符

 

 通过while、for循环进行遍历

 

 字符常量:字符串本质是一种常量

 

 

全局函数: 

 enumerate(可迭代对象)

 

 

python是一门面向对象的编程语言,在面向对象的编程语言看来:

 万物皆对象

 

字符串对象的常见方法和属性:

 ['capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 

 'expandtabs', 'find', 'format', 'format_map', 'index', 

 

 'isalnum', 'isalpha', 'isascii', 'isdecimal', 'isdigit', 'isidentifier', 

 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 

 

 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 

 'partition', 'removeprefix', 'removesuffix', 'replace', 'rfind',

 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 

 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate',

 'upper', 'zfill']

 

 

 |-- capitalize # 首字母大小

 |-- center # 文本居中对齐

 |-- ljust # 文本左对齐

 |-- rjust # 文本右对齐

 

 |-- count()

 |-- endswith()

 |-- startswith()

 |-- format()

 

 |-- find()

 |-- index()  

 |-- rindex()

 |-- rfind()

 

 |-- lstrip()

 |-- rstrip()

 |-- rstrip()

 

 

 |-- upper()

 |-- lower()

 

 |-- join()

 |-- split()

 

 

 |-- maketrans()

 |-- translate()

 

 

 

 |-- encode() # 编码转换,注意编码!!!!

 

 

 字节类型中的转换函数

 

 |-- decode()

 

 

 

 

切片操作:

 python提供的用来切割和分割有序序列的一种技术

  list、tuple、字符串

 

 切片操作是基于下标进行切割

 

 对象[num1:] # 返回num1到结束的值

 对象[num1:num2] # 返回[num1, num2)的所有值

 对象[num1:num2:step] # step是步长,步长为负数,表示从右向左切割

 

 

注意:python是支持付索引操作的!!!!

 

 

 

课堂案例练习:

 输入字符串,判断该字符串是否是回文字符串

 

 

 

排序:

 为数据排序,目的让数据有序,有序的数据可以使用各种查找算法,实现快速查找

 

 冒泡排序

 选择排序

 插入排序

 

 大O表示法

 时间复杂度:O(1) O(logN) O(n) O(nlogN) O(n^2)

 空间复杂度:

 

 算法稳定度:

 

 

 

冒泡排序:

 [1, 3, 2, 10, -8, 9, -30, 7] n 最多n - 1

 

 [1, 2, 3, -8, 9, -30, 7, 10] # 第1个最大值

 [1, 2, -8, 3,-30, 7, 9, 10] # 第2个最大值

 [1, -8, 2, -30, 3, 7, 9, 10] # 第3个最大值

 [-8, 1, -30, 2, 3, 7, 9, 10] # 第4个最大值

 [-8, -30, 1, 2, 3, 7, 9, 10] # 第5个最大值

 [-30, -8, 1, 2, 3, 7, 9, 10] # 第6个最大值

 

 两两比较,找到最大值!!!

ed7afac2a86c4d24a614780897269a67.jpg

 递归:

b8737b1413bb49b78d119db63cb676e6.jpg

 

ab37b99cd6394b47afe193dc5c217234.jpg

 

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

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

相关文章

Windows 11 配置 ssh server 服务

Windows 11 配置 ssh server 服务 1. 安装 ssh server配置 ssh key 登陆设置默认使用 Powershell设置默认访问路径启动 sshd 和设置开机自动启动安装 vim (Powershell 中可以直接使用) 1. 安装 ssh server 打开 “设置” 》 “应用”,然后打开 “可选配置”&#x…

Nacos注册表解读

基本介绍 在 Nacos 中,注册表是其中一个重要的组件,用于管理服务的注册和发现。 注册表是一个存储服务实例信息的数据库,它记录了所有已注册的服务实例的相关信息,包括服务名称、IP 地址、端口号等。 通过注册表,服…

定时获取公网ip并发送邮件提醒

前一段时间路由器刷的老毛子固件“穿透服务”中定时更新阿里DDNS失败了,用了很久第一次遇到。所以需要做个备用的措施用来实时获取公网ip信息 1、基于python实现 开启邮箱的SMTP功能拿到授权码(不是登录密码) #!/usr/bin/python # -*- coding: UTF-8 -*- import …

迭代新品 | 第四代可燃气体监测仪,守护燃气管网安全快人一步

城市地下市政基础设施是城市有序运行的生命线,事关城市安全、健康运行和高质量发展。近年来,我国燃气事故多发、频发。2020、2021、2022 年分别发生燃气事故668、1140 起、802 起,造成92、106、66 人死亡,560、763、487 人受伤。尤…

论文阅读:Auto White-Balance Correction for Mixed-Illuminant Scenes

论文阅读:Auto White-Balance Correction for Mixed-Illuminant Scenes 今天介绍一篇混合光照下的自动白平衡的文章 Abstract 自动白平衡(AWB)是相机 ISP 通路中比较重要的一个模块,主要用于校正环境光照引起的色偏问题&#x…

实验(二):存储器实验

一、实验内容与目的 实验要求: 利用 CP226 实验仪上的 K16..K23 开关做为 DBUS 的数据,其它开关做为控制信号,实现主存储器 EM 的读写操作;利用 CP226 实验仪上的小键盘将程序输入主存储器 EM,实现程序的自动运行。 实…

【RocketMq系列-01】RocketMq安装和基本概念

RocketMq系列整体栏目 内容链接地址【一】RocketMq安装和基本概念https://zhenghuisheng.blog.csdn.net/article/details/134486709 RocketMq安装和基本概念 一,RocketMq安装和基本概念1,RocketMq基本安装(本地安装)2,Rocketmq的核心概念2.1&…

Redis-布隆过滤器(Bloom Filter)

一、什么是布隆过滤器 布隆过滤器,Bloom Filter是1970年由Bloom提出的,它是由一组哈希(Hash)函数和一个位阵列组成。布隆过滤器可以用于查询一个元素是否存在于一个集合当中,查询结果为以下二者之一: 这个…

Linux常用命令——bye命令

在线Linux命令查询工具 bye 命令用于中断FTP连线并结束程序。。 补充说明 bye命令在ftp模式下,输入bye即可中断目前的连线作业,并结束ftp的执行。 语法 bye实例 bye在线Linux命令查询工具

React+后端实现导出Excle表格的功能

最近在做一个基于Reactantd前端框架的Excel导出功能,我主要在后端做了处理,这个功能完成后,便总结成一篇技术分享文章,感兴趣的小伙伴可以参考该分享来做导出excle表格功能,以下步骤同样适用于vue框架,或者…

要做好解决方案工程师,这些核心技能是必须要掌握的。

要做好解决方案工程师,以下是一些比较中肯的建议: 1、了解客户需求:解决方案工程师需要深入了解客户的需求和挑战,以便为他们提供定制化的解决方案。通过与客户交流、调研市场趋势等方式,了解客户的业务需求和目标&…

汽车级低压差稳压器LDO LM317BD2TR4G原理、参数及应用

LM317BD2TR4G主要功能特性分析 : LM317BD2TR4G 低漏 (LDO) 线性电压稳压器是一款可调 3 端子正向 LDO 电压器,能够在 1.2 V 至 37 V 的输出电压范围内提供 1.5 A 以上的电流。此电压稳压器使用非常简便,仅需两个外部电阻即可设置输出电压。另…

iptables详解:链、表、表链关系、规则的基本使用

目录 防火墙基本概念 什么是防火墙? Netfilter与iptables的关系 链的概念 表的概念 表链关系 规则的概念 查询规则 添加规则 删除iptables中的记录 修改规则 更详细的命令(5链4表) 防火墙基本概念 什么是防火墙? 在…

【腾讯云云上实验室-向量数据库】探索腾讯云向量数据库:全方位管理与高效利用多维向量数据的引领者

目录 前言1 腾讯云向量数据库介绍2 向量数据库信息及设置2.1 向量数据库实例信息2.2 实例监控2.3 密钥管理2.4 安全组2.5 Embedding2.6 可视化界面 3 可视化界面4 Embedding4.1 embedding_coll精确查询4.2 unenabled_embedding_coll精确查询 5 数据库5.1 创建数据库5.2 插入数据…

带你精通chrony服务器

华子目录 为什么会出现Chrony?Linux的两个时钟NTP介绍Chrony介绍安装与配置安装Chrony配置文件分析实验1实验2chronyc命令查看时间服务器chronyc sources输出分析其他命令 常见时区 为什么会出现Chrony? 由于IT系统中,准确的计时非常重要&am…

C++标准模板(STL)- 类型支持 (类型关系,检查两个类型是否相同,std::is_same)

类型特性 类型特性 类型特性定义一个编译时基于模板的结构&#xff0c;以查询或修改类型的属性。 试图特化定义于 <type_traits> 头文件的模板导致未定义行为&#xff0c;除了 std::common_type 可依照其所描述特化。 定义于<type_traits>头文件的模板可以用不完…

Python中,我们可以使用pandas和numpy库对Excel数据进行预处理,包括读取数据、数据清洗、异常值剔除等

文章目录 一、什么是数据预处理二、对excel数据进行详细的数据预处理操作总结 一、什么是数据预处理 数据预处理是一种对数据进行清洗、整理、转换等操作的过程&#xff0c;旨在提高数据质量&#xff0c;使其适应模型的需求&#xff0c;从而改进数据挖掘或机器学习的结果。 数…

Maven依赖管理项目构建工具(保姆级教学---下篇)

对于Maven依赖管理项目构建工具的介绍&#xff0c;我们将其分为上篇和下篇。如果您对文章感兴趣&#xff0c;您可以在此链接中找到上篇详细内容&#xff1a; Maven依赖管理项目构建工具&#xff08;保姆级教学上篇&#xff09;-CSDN博客 一、Maven依赖传递和依赖冲突 1. …

Portraiture2024PS/LR专用智能磨皮插件,AI算法美颜,提高P图效率

ps皮肤美白磨皮滤镜有吗&#xff1f;ps本身无自带美白磨皮滤镜&#xff0c;虽然部分滤镜有磨皮、提亮功能&#xff0c;但往往需要搭配蒙版、通道功能使用。但ps可安装第三方软件&#xff0c;比如常用的磨皮插件portraiture3&#xff0c;那么&#xff0c;磨皮插件portraiture3怎…

Kotlin 知识体系

Kotlin 知识体系 1、Kotlin 文档2、Kotlin 基础3、桌面应用程序4、Android 与 iOS 应用程序 1、Kotlin 文档 Kotlin 是一门现代但已成熟的编程语言&#xff0c;旨在让开发人员更幸福快乐。 它简洁、安全、可与 Java 及其他语言互操作&#xff0c;并提供了多种方式在多个平台间复…