Python

目录

一,类型

二,匿名函数

三,With open

四,异常:

五,迭代器

六,生成器

 七,元类

八,iter()

九,__iter__()

十,next()

十一,__next__

十二,Yield

十三, 三握四挥

十四,python的内置函数


一,类型

        type() 函数用于返回一个对象的类型,返回的是对象的类型信息

        isinstance()函数用于检查一个对象时候是指定类型或其子类的实列

二,匿名函数

        lambda是一个匿名函数 在冒号前面的x表示函数参数,匿名函数有个限制,就是只能用一个表达式,不用写return,返回值就是改表达式的结果

三,With open

class ManagedFile:
    def __init__(self,name):
        self.name = name
        print(self.name)
def __enten__(self):
    self.file = open(self.name.'w')
    print('self.file=',self.file)
    return self.file
def __exit__(self,exc_typer,exc_valexc_tb):
    if self.file:
        self.file.close()


with ManagedFile('hello.txt') as f:
f.write('hello, world!')
f.write('bye now')

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

四,异常:

1.ValueError(数值错误): 当一个函数接收到一个不合适的参数或参数值时,会引发ValueError异常.
例如,尝试将一个字符串转换为整数时,如果字符串无法解析为整数,就会引发ValueError。
2.TypeError (类型错误): 当操作或函数应用于不兼容的类型时,会引发TypeError异常。例如,:尝试对字符串进行数值运算,或将一个不可迭代的对象传递给一个期望可迭代对象的函数,都会引发ypeError.
3.IndexError (索引错误): 当使用无效的索引访问序列(如列表、字符串等)中的元素时,会引发IndexError异常。例如,尝试访问一个超出席列范围的索引或负数索引,都会引发IndexError。
4.KeyError(键错误): 当使用一个字典中不存在的键访问字典元素时,会引发KeyError异常.
5.FileNotFoundError (文件未找到错误) : 当尝试打开一个不存在的文件时,会引发FileNotFoundError异常。
6.I0Error (输入/输出错误) : 当发生输入/输出操作失败时,会引发IOError异常。例如,在读取或写入文件时发生错误,就会引发IOError。
7.ZeroDivisionError (除委错误) : 当尝试以委作为除数进行除法运算时,会引发ZeroDivisionError异

五,迭代器

迭代器   是一种用于遍历集合或序列的对象。它具有一个 __iter__() 方法和一个 __next__() 方法。

当我们使用迭代器对集合进行遍历时,它会逐个返回集合中的元素,直到没有更多元素可供返回为止。

# 创建一个列表
my_list = [1, 2, 3, 4, 5]

# 创建迭代器对象
my_iterator = iter(my_list)

# 使用 next() 方法遍历迭代器
print(next(my_iterator))  # 输出: 1
print(next(my_iterator))  # 输出: 2
print(next(my_iterator))  # 输出: 3
print(next(my_iterator))  # 输出: 4
print(next(my_iterator))  # 输出: 5

# 在没有更多元素可供返回时,抛出 StopIteration 异常
# print(next(my_iterator))  # 抛出 StopIteration 异常

六,生成器

生成器  是一种特殊的迭代器,可以通过函数的方式定义。生成器函数使用 yield 语句来产生(yield)一个值,并且可以暂停和恢复函数的执行。

# 定义一个生成器函数,生成斐波那契数列
def fibonacci_generator():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

# 创建生成器对象
fibonacci = fibonacci_generator()

# 使用 next() 方法获取生成器的下一个值
print(next(fibonacci))  # 输出: 0
print(next(fibonacci))  # 输出: 1
print(next(fibonacci))  # 输出: 1
print(next(fibonacci))  # 输出: 2
print(next(fibonacci))  # 输出: 3
# ...

 七,元类

元类 是Python中高级的概念,它用于定义类的创建方式和行为。在Python中,类是对象,而元类就是用来创建这些类的元对象。

八,iter()

iter() 是一个内置函数,用于返回一个迭代器对象。迭代器是能够进行迭代的对象,可以使用 next() 函数来逐个访问其元素。

九,__iter__()

是一种特殊的方法,用于定义一个可迭代对象。可迭代对象是指实现了 __iter__() 方法的对象,它可以通过迭代器来逐个访问其元素。

十,next()

next() 是一个内置函数,用于从迭代器中获取下一个元素。迭代器是一种对象,它实现了 __iter__()__next__() 方法,可以逐个返回其元素。

my_list = [1, 2, 3]
my_iterator = iter(my_list)

# 使用 next() 函数逐个访问迭代器的元素
print(next(my_iterator))  # 输出: 1
print(next(my_iterator))  # 输出: 2
print(next(my_iterator))  # 输出: 3

# 迭代到末尾时会引发 StopIteration 异常
try:
    print(next(my_iterator))
except StopIteration:
    print("迭代器已经到达末尾")

十一,__next__

__next__() 是一种特殊的方法(也称为魔术方法或特殊成员方法),用于定义一个迭代器对象的行为。当我们在一个迭代器对象上调用内置的 next() 函数时,实际上会调用该对象的 __next__() 方法来返回下一个元素。

十二,Yield

def my_generator():
    yield 1
    yield 2
    yield 3

# 创建生成器对象
gen = my_generator()

# 通过迭代生成器获取值
print(next(gen))  # 输出:1
print(next(gen))  # 输出:2
print(next(gen))  # 输出:3

yield 是一个关键字,在 Python 中用于定义生成器函数。生成器函数与普通函数不同,它们使用 yield 语句来产生一个序列的值,而不是一次性返回一个结果。

十三, 三握四挥

在这里插入图片描述

三次握手(TCP连接建立):

  1. 客户端向服务器发送连接请求报文(SYN)。
  2. 服务器收到请求后,如果同意连接,则回复一个带有确认码(ACK)和同意连接请求的标志位(SYN)的报文。
  3. 客户端收到服务器的回复后,再发送一个带有确认码(ACK)的报文,表示连接建立成功。

四次挥手(TCP连接终止):

  1. 客户端向服务器发送连接释放请求报文(FIN)。
  2. 服务器收到请求后,回复一个确认码(ACK)的报文,表示已收到释放请求。
  3. 服务器在确认没有数据需要传输后,发送一个带有释放连接的请求报文(FIN)。
  4. 客户端收到服务器的释放请求后,回复一个确认码(ACK)的报文,表示连接已终止。

十四,python的内置函数

  1. print():用于将数据输出到标准输出(通常是控制台)。
  2. len():返回一个对象(字符串、列表、元组等)的长度或元素个数。
  3. input():从用户获取输入的函数。
  4. type():返回对象的类型。
  5. int():将一个字符串或数字转换为整数。
  6. float():将一个字符串或数字转换为浮点数。
  7. str():将对象转换为字符串。
  8. list():将一个可迭代对象转换为列表。
  9. tuple():将一个可迭代对象转换为元组。
  10. dict():创建一个字典对象。
  11. range():创建一个整数范围的可迭代对象。
  12. sum():返回可迭代对象中所有元素的总和。
  13. max():返回可迭代对象中的最大值。
  14. min():返回可迭代对象中的最小值。
  15. abs():返回一个数的绝对值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值