2023-07-06总结

1. 迭代器和生成器的区别?

生成器是一种特殊的迭代器。它使用更简洁的语法定义,并且在需要时按需生成数据,具有惰性求值的特点。

迭代器是一种通用的遍历对象的方式,可以通过手动实现__iter__()__next__()方法来创建。

2. 什么是生成器?

在Python编程语言中,生成器是一种特殊的迭代器。它是一种使用函数来创建迭代器的方式,使用yield关键字来定义生成器函数

生成器和普通函数不同之处 生成器函数不会一次性返回所有的结果,而是在每次迭代时生成一个值。这样可以大大节省内存空间,特别适用于处理大型数据集或无限序列

3. 什么是迭代器?

在 Python 中,迭代器是一种用于遍历可迭代对象(Iterable)的对象。迭代器是一种特定的对象,它具有__iter__()__next__()方法。

4. 自定义上下文输出

class M:
        # 初始化方法
    def __init__(self, name):
        self.name = name
        # __enter__(self) 和 __exit__(self, exc_type, exc_value, traceback):
        # 用于创建上下文管理器的魔法方法。它们允许你在使用 with 语句时定义对象的进入和退出行为,通常用于资源管理和异常处理。          
    def __enter__(self):
        self.abc = open(self.name, "w")
        return self.abc

    def __exit__(self, exc_type, exc_val, exc_tb):
        if self.abc:
            self.abc.close()
# 使用自定义的上下文
with M("hello.txt") as f:
    f.write("hello, word!!!")

5. 自定义异常

# 这段代码定义了一个自定义异常类CustomException,并在函数a()中抛出该异常。然后通过try-except语句捕获并处理该异常。
class CustomException(Exception):
    def __init__(self, message):
        self.message = message

    def __str__(self):
        return f"Custom Exception: {self.message}"

def a():
    raise CustomException("Something went wrong.")
try:
    a()
except CustomException as e:
    print(e)

6. 上下文作用?

在 Python 中,上下文指的是一段代码的执行环境,它可以提供一些额外的功能和控制,用于管理资源的获取和释放。上下文通常使用with语句来创建,并依赖于上下文管理器对象的支持。

作用:资源管理:上下文可以用于自动管理资源的获取和释放

7. python魔法方法使用

class MyClass:

    # 1. __init__(self, ...): 初始化方法,在创建对象时调用。
    def __init__(self, name):
        self.name = name
        self.index = 0

    # 2. __iter__(self): 返回对象的迭代器
    def __iter__(self):
        return self

    # 3. __str__(self): 返回对象的字符串表示。
    def __str__(self):
        return f"MyClass object: {self.name}"

    # 4. __len__(self): 返回对象的长度。
    def __len__(self):
        return len(self.name)

    # 5. __getitem__(self, key): 获取对象的索引或键对应的值。
    def __getitem__(self, index):
        return self.name[index]

    # 6. __setitem__(self, key, value): 设置对象的索引或键对应的值。
    def __setitem__(self, index, value):
        self.name[index] = value

    # 7. __delitem__(self, key): 删除对象的索引或键对应的值。
    def __delitem__(self, index):
        del self.name[index]

    # 8. __next__(self): 迭代器的下一个元素
    def __next__(self):
        if self.index >= len(self.name):
            raise StopIteration
        else:
            a = self.name[self.index]
            self.index += 1
            return a

    # 9. __call__(self, ...): 将对象作为函数调用。
    def __call__(self, a, b):
        return a + b


obj = MyClass([1, 2, 3, 4, 5])
print(obj)
print(len(obj))
print(obj[3])
obj[2] = 10
print(obj.name)
del obj[1]
print(obj)
for i in obj:
    print(i)
print(obj(9, 10))

8. 内置方法使用

len: 返回对象的长度或元素个数

max:找最大值 

min:找最小值

type: 返回对象的类型

print: 将对象输出到控制台

sum:求和

abs:求绝对值

str: 将对象转换为字符串形式

9. 使用windows操作系统自带的字体

在文件夹搜索:C:/Windows/Fonts/
然后选择你想使用的字体

10. 用python对excl文件操作


import pandas as pd  # 导入pandas库    pip install pandas下载

ff = pd.read_excel("123.xlsx")

for i, j in ff.iterrows():
    print(j[0], j[1])  # 所有姓名,成绩

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值