仅仅是记录初学过程中的一些语法、方法,方便之后查看
迭代器与生成器
iter() , next()
yield关键字用于定义生成器函数,可以在迭代的过程中逐步产生值
生成器是一个返回迭代器的函数
函数的文档字符串
不定长参数: *var,以元组形式导入;**var,以字典形式导入
匿名函数lambda
将匿名函数封装在一个函数内,可使用同样的代码创建多个匿名函数
```
def myfunc(n):
return lambda a: a*n
mydoubler = myfunc(2)
mytripler = myfunc(3)
print(mydouber(11))
```
lambda 通常在需要函数作为参数使用的情况下使用,例如map()、filter()、reduce()
遍历
在字典遍历时,关键字和对应的值可以使用item()方法同时解读出来
序列遍历时,索引位置和对应值可以使用enumerate()方法同时得到
反向遍历 reversed(),排序遍历sorted()
os模块
处理文件和目录
shuffle函数
用于将序列中的数据随机重新排列。常用于数据预处理阶段。为了消除 数据集 中的顺序对模型训练的影响,经常会对训练样本或特征进行随机化处理。
静态方法(@staticmethod修饰器)
在Python中,有两种类型的方法:
1. 实例方法:
- 实例方法与类的实例关联,通常用来操作和访问实例(对象)的状态(属性)。
- 在方法定义中,第一个参数通常是`self`,它是隐式传递的当前实例引用。
- 调用实例方法需要先创建类的实例,然后通过这个实例调用,如 `instance.method()`。 示例:
```python
class MyClass:
def __init__(self, value):
self.value = value
def instance_method(self):
return self.value * 2
obj = MyClass(5)
result = obj.instance_method() # 调用实例方法
print(result) # 输出: 10
```
2. 静态方法:
- 静态方法与类相关联,但不与类的任何实例绑定,因此它们不依赖于类实例的状态(即不能访问`self`)。
- 使用 `@staticmethod` 装饰器定义静态方法。
- 静态方法可以直接通过类或其任意实例调用,但由于它不涉及实例,所以在方法内部不能访问实例变量。 示例:
```python
class MyClass:
@staticmethod
def static_method(value):
return value * 3
result = MyClass.static_method(4) # 直接通过类调用静态方法
print(result) # 输出: 12
```
尽管静态方法可以直接通过类名调用,但这并不意味着所有方法都如此。实际上,只有经过`@staticmethod`装饰的方法才具备这一特性,大多数情况下,类的方法都需要实例化后通过实例调用。