type
status
date
slug
summary
tags
category
icon
password
1. 递归函数
递归函数就是自己调用自己的函数,关键点有两个:
- 递进:不断地把问题拆解成更小的同类问题(像向前走,直到遇到“墙”)。
- 边界:设置终止条件,否则会无限递归。
- 回归:遇到终止条件后,开始逐层返回结
2. 装饰器函数
装饰器本质是一个“语法糖”,可以在不修改原始函数代码的情况下,动态为其添加新功能。
- 装饰器通过
@
语法糖使用。
- 本质上是“函数嵌套函数”,返回包装后的新函数。
- 可以用于日志记录、性能统计、权限校验等。

装饰器链:可以连续叠加多个@装饰器,执行顺序是“下到上”包裹,执行时“外到内”调用。
3. 类和对象
Python是一门面向对象的编程语言。
- 类:是模板/蓝图,描述事物的特征和行为。
- 对象:是类的实例,有自己的属性和方法。
如何定义类和实例化对象?

__init__
方法:初始化方法,每创建一个对象都会自动调用。
self
:代表当前实例对象,谁调用方法,self就指向谁。
- 属性:通过
self.xxx
定义,代表对象特征。
- 方法:对象可以做的动作,第一个参数必须是self。
4.实现内置类的默认方法
1.pop(d, key, default=None)

2.find_str(s, sub, start=0, end=None)

5.每日一题
题目:3136. 有效单词
有效单词 需要满足以下几个条件:
- 至少 包含 3 个字符。
- 由数字 0-9 和英文大小写字母组成。(不必包含所有这类字符。)
- 至少 包含一个 元音字母 。
- 至少 包含一个 辅音字母 。
给你一个字符串
word
。如果 word
是一个有效单词,则返回 true
,否则返回 false
。注意:
'a'
、'e'
、'i'
、'o'
、'u'
及其大写形式都属于 元音字母 。
- 英文中的 辅音字母 是指那些除元音字母之外的字母。
示例 1:
输入:word = "234Adas"
输出:true
解释:
这个单词满足所有条件。
示例 2:
输入:word = "b3"
输出:false
解释:
这个单词的长度少于 3 且没有包含元音字母。
示例 3:
输入:word = "a3$e"
输出:false
解释:
这个单词包含了
'$'
字符且没有包含辅音字母。解题:
1.本题共有4个要求,至少包含3个字符可直接用
len()
判断,而数组和英文可以使用遍历对ASCII码进行比对,而元音辅音字母就需要用两个flag
进行判断- 出现错误,如“Uue6”,发现问题所在,将数字放入了字母判断中,导致数字会让
f2
为1。
- 代码正确
- 看看官方题解
- 函数
isalpha()
可以直接判断是否为字母,使用lower()
来规避了大小写的区别,使用isdigit()
来判断数字,而且直接通过先判断不是字母,如果也不是数字就直接返回false
- 作者:sisui
- 链接:https://www.sisui.me//article/py-recursion-decorator-oop-leetcode3136
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章