打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python3中函数enumerate()、dir()、reversed()基础用法和作用
userphoto

2023.05.18 浙江

关注

一、enumerate()

函数enumerate()是Python内置函数之一,用于将一个可迭代对象转换为一个枚举对象,可以同时返回元素的索引和值。该函数的语法如下:

enumerate(iterable, start=0)

其中,iterable是可迭代对象,start是可选参数,表示枚举对象的起始值,默认为0。

enumerate()函数的返回值是一个枚举对象,可以使用list()函数将其转换为列表类型。

enumerate()函数的作用有以下几个方面:

  1. 为可迭代对象添加一个计数器,方便对元素进行索引和编号;
  2. 简化了代码,避免了手动添加计数器的麻烦;
  3. 可以将枚举对象转换为列表类型,方便使用其他列表类型的方法进行操作。

以下是使用enumerate()函数的一些示例:

# 枚举列表中的元素         **样例1**lst = ['apple', 'banana', 'orange']for i, item in enumerate(lst):    print(i, item)# 枚举字符串中的字符    **样例2**string = 'Python'for i, char in enumerate(string):    print(i, char)# 枚举文件中的行数     **样例3**with open('test.txt', 'r') as f:    for i, line in enumerate(f, 1):        print(i, line.strip())

****样例1****

这段代码中的 i 和 item 都是变量,用于在循环中计数和存储列表中的元素。

具体来说,enumerate() 函数会返回一个可迭代对象,其中每个元素都是一个元组,包含两个值:该元素在列表中的索引和对应的元素值。因此,在这个例子中,for i, item in enumerate(lst): 表示将 lst 列表中的每个元素都拆分成一个索引和一个值的元组,并将它们分别赋值给变量 i 和 item。

在循环中,可以使用 i 和 item 分别访问列表中的元素及其索引。例如,如果 lst 列表为 [1, 2, 3],那么在循环中,i 的值将依次为 0、1、2,而 item 的值将依次为 1、2、3。

****样例2、3原理与1相似*****

上述代码中,第一个示例演示了如何枚举列表中的元素,第二个示例演示了如何枚举字符串中的字符,第三个示例演示了如何枚举文件中的行数。在这些示例中,enumerate()函数为可迭代对象添加了一个计数器,方便对元素进行索引和编号。

二、dir()

函数dir()是Python内置函数之一,用于返回一个对象的所有属性和方法。它的作用是用于快速了解一个对象的可调用方法或属性,方便程序员进行编程和调试。

使用方法:

dir([object])

其中,object是可选的,如果指定了object,则返回该object的所有属性和方法,如果没有指定,则返回当前作用域内的所有属性和方法。

下面是一些使用dir()函数的例子:

  1. 查看当前作用域内的所有属性和方法
print(dir())
  1. 查看一个字符串对象的所有属性和方法
str_obj = 'hello'print(dir(str_obj))

****详解输出内容****

这个代码会输出一个包含 str_obj 对象属性的列表。具体来说,它会输出以下内容:

  • '__add__':定义了字符串连接操作符 + 的行为。
  • '__class__':返回 str 类的名称。
  • '__contains__':判断字符串是否包含指定子串的操作函数。
  • '__delitem__':删除字符串中指定下标的字符或子串的操作函数。
  • '__dir__':返回一个包含对象自身属性和方法的列表。
  • '__doc__':返回对象的文档字符串。
  • '__eq__':定义了相等运算符 == 的行为。
  • '__format__':定义了字符串格式化操作符 % 的行为。
  • '__ge__':定义了大于等于运算符 >= 的行为。
  • '__getattribute__':获取对象属性的方法。
  • '__getitem__':获取指定下标的元素的操作函数。
  • '__getnewargs__':定义了函数重载时的默认参数行为。
  • '__gt__':定义了大于运算符 > 的行为。
  • '__hash__':返回对象的哈希值。
  • '__init__':定义对象初始化方法。
  • '__init __subclasshook__':定义派生类时要调用的父类构造函数。
  • '__iter__':定义迭代器接口,用于实现可迭代对象的遍历操作。
  • '__le__':定义小于等于运算符 <= 的行为。
  • '__len__':返回对象长度的操作函数。
  • '__lt__':定义小于运算符 < 的行为。
  • '__mod __':定义模运算符 % 的行为。
  • '__mul __':定义乘法运算符 *
  1. 查看一个列表对象的所有属性和方法
复制代码lst_obj = [1, 2, 3]print(dir(lst_obj))
  1. 查看一个自定义类的所有属性和方法
class MyClass: def __init__(self): self.name = 'myclass' def say_hello(self): print('hello')mc = MyClass()print(dir(mc))

通过以上例子,我们可以看到dir()函数可以帮助我们快速查看一个对象的所有属性和方法,从而方便我们进行编程和调试。

三、reversed()

函数reversed()是Python3内置函数之一,用于翻转(反转)序列对象。它可以用于列表、元组、字符串等可迭代对象。reversed()函数返回一个迭代器,因此需要使用for循环或者将其转换为列表、元组等可迭代对象来进行遍历。

使用语法如下:

reversed(seq)

其中,seq为需要翻转的序列对象。

reversed()函数的作用主要有以下几个:

  1. 翻转列表、元组等序列对象,使其顺序颠倒。
  2. 对于需要翻转的序列对象,如果不想修改原对象,可以使用reversed()函数生成新的翻转后的序列对象。
  3. 可以与for循环结合使用,遍历翻转后的序列对象。

下面通过代码举例说明reversed()函数的使用:

# 翻转列表lst = [1, 2, 3, 4, 5]lst_reverse = list(reversed(lst))print(lst_reverse) # [5, 4, 3, 2, 1]# 翻转字符串s = 'hello world's_reverse = ''.join(reversed(s))print(s_reverse) # 'dlrow olleh'# 遍历翻转后的序列对象for i in reversed(range(1, 6)): print(i)# 输出:5 4 3 2 1

以上代码中,首先使用reversed()函数翻转了列表lst和字符串s,分别得到了lstreverse和sreverse两个新的序列对象。然后,使用for循环结合reversed()函数遍历了翻转后的序列对象。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Python常用的8个内置函数详解!
纯干货-超级实用的python小技巧
Python中最常用的15个内置函数
Python内置函数大全
python中的内置函数
Python中内置函数的介绍
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服