python——第九天

今日目标:

 偏函数

 递归

 字符串对象

 切片

 常见排序和查找

 

 

偏函数:

 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.hqwc.cn/news/192764.html

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

相关文章

若依框架数据源切换为pg库

一 切换数据源 在ruoyi-admin项目里引入pg数据库驱动 <dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.2.18</version> </dependency>修改配置文件里的数据源为pg spring:d…

OpenAI暂停ChatGPT Plus新用户注册;迷宫与图神经网络

&#x1f989; AI新闻 &#x1f680; OpenAI暂停ChatGPT Plus新用户注册&#xff0c;考虑用户体验 摘要&#xff1a;OpenAI决定暂停ChatGPT Plus新用户注册&#xff0c;以应对开发日后使用量激增带来的压力&#xff0c;确保每个人都能享受良好的体验。根据调查机构Writerbudd…

LeetCode(28)盛最多水的容器【双指针】【中等】

目录 1.题目2.答案3.提交结果截图 链接&#xff1a; 盛最多水的容器 1.题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水…

rabbitmq默认交换机锁绑定的routingkey-待研究

例如这个是我的一个消息队列&#xff0c;它默认绑定的交换机是 什么类型呢? 看到这个图&#xff0c;感觉应该是一个默认的交换机&#xff0c;因为是default exchange 于是来到交换机来看看其他默认的交换机&#xff1a; 这里可以看到默认的交换机是direct&#xff08;应该没…

前端性能优化之LightHouse

优质博文&#xff1a;IT-BLOG-CN 一、LightHouse环境搭建 LightHouse是一款由Google开发的开源工具&#xff0c;用于评估Web应用程序的性能和质量。可以将其看作是一个Chrome扩展程序运行&#xff0c;或从命令行运行。为LightHouse提供一个需要审查的网址&#xff0c;它将针对…

火星探测器背后的人工智能:从原理到实战的强化学习

目录 一、引言二、强化学习基础强化学习的基本概念主要算法概述Q-Learning 示例代码 环境建模与奖励设计 三、火星探测器任务分析任务需求与挑战探测器环境建模目标设定与奖励机制层层递进的关系 四、强化学习模型设计模型架构概述DQN架构核心组件&#xff1a; 状态、动作与奖励…

nodejs+vue客户管理管理系统的设计与实现-微信小程序-安卓-python-PHP-计算机毕业设计

随着时代的不断发展&#xff0c;我国科学技术水平显著提升。就企业而言&#xff0c;其需要在大环境不断变化的今天进行管理体系的革新&#xff0c; 文章在具体研究过程中从多方面入手&#xff0c;针对当前企业管理中客户管理系统应用存在的问题进行了分析&#xff0c;阐述了应如…

趣学python编程 (三、计算机基础知识)

如果不了解些计算机的基础知识上来就编程&#xff0c;往往容易“不识庐山真面目&#xff0c;只缘身在此山中”。因此对于计算机的一些基础知识&#xff0c;在开始编程前&#xff0c;需要理解和掌握。 计算机软件系统 计算机软件是控制计算机实现用户需求的计算机操作以及管理计…

工程化实战 - 前端AST(进阶)

###脚手架 *快速自动化搭建启动工具 目标: ####第一步:处理依赖 npm i path npm i chalk4.1.0 npm i fs-extra npm i inquirer8.2.2 npm i commander npm i axios npm i download-git-repo //ora easy-table figlet ####第二步:处理工程入口 ####3.加入命令交互 交互好帮手…

vue项目中使用vant轮播图组件(桌面端)

一. 内容简介 vue使用vant轮播图组件(桌面端) 二. 软件环境 2.1 Visual Studio Code 1.75.0 2.2 chrome浏览器 2.3 node v18.14.0 三.主要流程 3.1 安装环境 3.2 添加代码 3.3 结果展示 四.具体步骤 4.1 安装环境 先安装包 # Vue 3 项目&#xff0c;安装最新版 Va…

CSS特效014:模仿钟摆效果

CSS常用示例100专栏目录 本专栏记录的是经常使用的CSS示例与技巧&#xff0c;主要包含CSS布局&#xff0c;CSS特效&#xff0c;CSS花边信息三部分内容。其中CSS布局主要是列出一些常用的CSS布局信息点&#xff0c;CSS特效主要是一些动画示例&#xff0c;CSS花边是描述了一些CSS…

春秋云境靶场CVE-2022-28512漏洞复现(sql手工注入)

文章目录 前言一、CVE-2022-28512靶场简述二、找注入点三、CVE-2022-28512漏洞复现1、判断注入点2、爆显位个数3、爆显位位置4 、爆数据库名5、爆数据库表名6、爆数据库列名7、爆数据库数据 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击。…