python方法

目录

  1. type()方法和isinstance()方法
  2. lambda是什么
  3. 实现python上下文
  4.  python里的常见异常
  5. __iter__和__next__是什么
  6. python的左移右移算法
  7. with open的原理
  8. iter()函数 与next()函数

type()方法和isinstance()方法

        type():函数用于返回一个对象的类型,它可以返回对象所属类的类型信息。

        isinstance():函数用于检查一个对象是否指定类型或其子类的实例,它返回一个布尔值,如何对象是指定类型或者其子类的实例则返回Ttue、否则返回False

        区别:

        1.type()函数返回对象的具体类型,而isinstance()函数则检查对象是否是指定类型或其子类的实例。

        2.type()返回的是对象的类型,是一个类对象的实例、而isinstance()返回的是一个布尔值,表示对象是否是指定类型或其子类的实例。

        3.type()函数通常用于判断对象的具体类型,例如判断一个对象是否是整数、字符串、列表等。isinstance()函数通常用于检查对象是否是某个类的实例、可以检查对象是否是某个类的子类的实例

lambda是什么

        lambda表示匿名函数,匿名函数有个限制、就是只能有一个表达式,不用写retuen,返回值就是该表达式的结果。

匿名函数的好处是:因为匿名函数没有名字,不必担心函数名冲突。此外,匿名函数也是一个函数对象,也可以把匿名函数赋值给一个变量,再利用变量来调用该函数。

>>> f = lambda x: x * x
>>> f
<function <lambda> at 0x101c6ef28>
>>> f(5)
25

 同样也可以把匿名函数作为返回值返回,例如:

def build(x, y):
    return lambda: x * x + y * y

实现python上下文

这是一个可以实现python上下文的原生代码,里面的enter() 方法在语句体执行之前进入运行时上下文,exit() 在语句体执行完后从运行时上下文退出,使用这种方法,可以更方便管理代码,例如开启上下文,还需要手动关闭挺麻烦,使用这种方法就可以自动关闭

with是语句,open是类,所以类可以自己定义,open也可以更改

class Y:
    def __init__(self, name):
        self.name = name
        print(self.name)

    def __enter__(self):
        self.file = open(self.name, 'w')
        print('self.file=', self.file)
        return self.file

    def __exit__(self, exc_type, exc_val, exc_tb):
        if self.file:
            self.file.close()


with Y('301.txt') as f:
    f.write('hello、world!')
    f.write('bye now')

 python里的常见异常

1.ValueError(数值错误):当一个函数接受到一个不合适的参数或参数值时,会引发ValueError异常,例如:尝试将一个字符串转换成为整数时,如果字符串无法解析为整数,就会引发ValueError

2.TypeError(类型错误):当操作或函数应用不兼容的类型时,会引发TypeError异常,例如:尝试对字符串进行数字运算,或将一个不可迭代的对象传递给一个期望可迭代对象的函数,都会引发TypeError

3.IndexError(索引错误):当使用无效的索引访问序列(如列表、字符串等)中的元素时,会引发IndexError异常。例如,尝试访问一个超出席列范围的索引或负数索引,都会引发IndexError。]

4.KeyError(键错误): 当使用一个字典中不存在的键访问字典元素时,会引发KeyError异常.

5.FileNotFoundError (文件未找到错误) : 当尝试打开一个不存在的文件时,会引发FileNotFoundError异常。

6.I0Error (输入/输出错误) : 当发生输入/输出操作失败时,会引发IOError异常。例如,在读取或写入文件时发生错误,就会引发IOError。

7.ZeroDivisionError (除委错误) : 当尝试以委作为除数进行除法运算时,会引发ZeroDivisionError异常。

__iter____next__是什么

__iter____next__是Python中迭代器的两个特殊方法。

__iter__方法是一个无参数方法,用来返回一个迭代器对象。迭代器对象可以通过在循环中使用for语句来遍历元素。通常,在__iter__方法中,你需要返回自身对象,因为迭代器对象本身就是可迭代的。

__next__方法是用来取得迭代器的下一个元素。在每次迭代中,它被调用一次。如果没有更多的元素可以返回,它应当抛出StopIteration异常,以通知循环结束。

python的左移右移算法

左移操作将一个数的二进制表示向左移动指定的位数。移动后,低位补0。例如,对于整数x进行左移操作x << n,表示将x的二进制表示向左移动n位。每个位向左移动一位,相当于将该数乘以2的n次方。

右移操作将一个数的二进制表示向右移动指定的位数。移动后,高位补0。对于正数,右移操作是逻辑右移,等于将数除以2的n次方并向下取整。而对于负数,右移操作是算术右移,即将数除以2的n次方并向下取整。

with open的原理

        当使用with open打开一个文件时,Python会在进入 with语句块之前调用文件对象的__enter__()方法,然后将文件对象赋值给指定的变量。这个过程称为上下文管理器的进入阶段,

在with语句块中,可以执行对文件的各种操作,读取写入或处理数据。这些操作需要在文件操作完后及时关闭,以释放系统资源,使用with open打开文化时,我们不必关心关闭文件的细节。

当离开文件对象的__exit__()方法,不论代码是否发生异常,Python都会调用文件对象的__exit__()方法,这个方法有三个参数,分别是异常类型、异常值和追溯信息,可以执行一些清理操作。

好处是确保代码块内部的文件操作完成后无论是否发生异常,文件都会被正常关闭,提供了更安全、更简洁的文件操作方式。

iter()函数 与next()函数

iter()
在Python中,iter()是一个内置函数,用于创建一个迭代器。它接受一个可迭代对象作为参数,并返回一个迭代器对象。
迭代器(iterator)是一种为可迭代对象(iterable)提供迭代访问的方式。可迭代对象是指具有__iter__()方法的对象,例如字符串、列表、元组、字典等。创建迭代器可以通过调用iter()函数来实现。
next()
在Python中,iter()是一个内置函数,用于创建一个迭代器。它接受一个可迭代对象作为参数,并返回一个迭代器对象。
迭代器(iterator)是一种为可迭代对象(iterable)提供迭代访问的方式。可迭代对象是指具有__iter__()方法的对象,例如字符串、列表、元组、字典等。创建迭代器可以通过调用iter()函数来实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值