我是靠谱客的博主 花痴外套,最近开发中收集的这篇文章主要介绍Python -- 内建函数、可迭代对象、迭代器内建函数可迭代对象迭代器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  • 内建函数
    • 标识 id
    • 哈希 hash()
    • 类型 type()
    • 类型转换
    • 输入 input([prompt])
    • 打印 print()
    • 对象长度 len(s)
    • isinstance(obj, class_or_tuple)
    • issubclass(cls, class_ot_tuple)
    • 绝对值 abs(x)
    • 最大值max() 最小值()
    • round(x) 四舍六入五取偶
    • pow(x, y) 等价于x**y
    • range()
    • divmod(x,y) 等价于tuple(x//y, x%y)
    • sum(iterable[, start]) 求和
    • chr(i)
    • ord(c)
    • sorted(iterable[, key][, reverse]) 排序
    • 翻转 reversed(sep)
    • 枚举 enumerate(seq, start=0)
    • 迭代器和取元素 iter(iterable)、 next(iterator[, default])
    • 拉链函数 zip(*iterables)
    • all(iterable)
    • any(iterable)
  • 可迭代对象
  • 迭代器

内建函数

标识 id

  • 返回对象的唯一标识,CPython返回内存地址

哈希 hash()

  • 返回一个对象的哈希值

类型 type()

  • 返回对象的类型

类型转换

  • flota() int() bin () hex() oct() bool() list() tuple() dict() set() complex() bytes() bytearray()

输入 input([prompt])

  • 接受用户输入, 返回一个字符串

打印 print()

  • print(*objects, sep=’’, end=’n’, file=sys.stdout, flush=False)
  • 打印输出,默认使用空格分隔、换行结尾, 输出到控制台

对象长度 len(s)

  • 返回一个集合类型的元素个数

isinstance(obj, class_or_tuple)

  • 判断对象obj是否属于某种类型或者元祖中列出的某个类型
  • isinstance(Ture, int)

issubclass(cls, class_ot_tuple)

  • 判断类型cls是否是某种类型的子类或元祖中列出的某个类型的子类
  • issubclass(bool, int)

绝对值 abs(x)

  • x为数值

最大值max() 最小值()

  • 返回可迭代对象中最大或最小值
  • 返回多个参数中最大或最小值

round(x) 四舍六入五取偶

  • round(-0.5), 取离-0.5最近的偶数,结果为0

pow(x, y) 等价于x**y

range()

  • range(stop) 从0开始到stop-1的可迭代对象
  • range(start, stop[, step])从start开始到stop-1结束,步长为step的可迭代对象

divmod(x,y) 等价于tuple(x//y, x%y)

sum(iterable[, start]) 求和

  • sum(range(1,10,2)) 求1到10以内步长为2的数,结果为25

chr(i)

  • 给一个一定范围的整数返回对应的字符
  • chr(97) , 返回结果为a ,即为a对应ASCII码值

ord©

  • 返回字符对应的整数,返回的是Unicode
  • ord(‘a’)

sorted(iterable[, key][, reverse]) 排序

  • 立即返回一个新的列表,默认升序
  • reverse是反转
  • sorted([1, 3, 5]) 输出结果为[1, 3, 5]
  • sorted([1, 3, 5], reverse = True) 输出结果为 [5, 3, 1]
  • sorted({‘c’:1, ‘b’:2, ‘a’:1}) 输出结果为 [‘a’, ‘b’ ‘c’]

翻转 reversed(sep)

  • 返回一个翻转元素的迭代器,惰性的
  • list(reversed(“13579”)) 输出结果为[‘9’, ‘7’, ‘5’, ‘3’, ‘1’]

枚举 enumerate(seq, start=0)

  • 迭代一个序列,返回索引数字和元素构成的二元组
  • start表示索引开始的数字,默认是0
for x in enumerate([2,4,6,8]):
	print(x)

输出结果:

(0, 2)
(1, 4)
(2, 6)
(3, 8)

迭代器和取元素 iter(iterable)、 next(iterator[, default])

  • iter 将一个可迭代对象封装成一个迭代器
  • next 对一个迭代器取一个元素。如果全部元素都取过了,再次next会抛出StopLteration异常
it = iter(range(5))
print(next(it))
print(next(it))
print(next(it))
print(next(it))
print(next(it))

输出结果

0
1
2
3
4

拉链函数 zip(*iterables)

  • 像拉链一样, 把多个可迭代对象合并在一起,返回一个迭代器
  • 将每次从不同对象中取到的元素合并成一个元祖
print(list(zip(range(5),range(5))))
print(list(zip(range(10),range(3),range(12),range(10))))
print(dict(zip(range(5),range(5))))
print({str(x):y for x,y in zip(range(5),range(5))})

输出结果

[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4)]
[(0, 0, 0, 0), (1, 1, 1, 1), (2, 2, 2, 2)]
{0: 0, 1: 1, 2: 2, 3: 3, 4: 4}
{'0': 0, '1': 1, '2': 2, '3': 3, '4': 4}

all(iterable)

  • 可迭代对象所有元素都要等效为True, 或空的可迭代对象, all函数返回True
  • 元旦可迭代对象有一个元素等效为False,all函数返回False
print(all([1,2,3,4]))
print(all([0,2,3,4]))
print(all([None]))
print(all({}))

输出结果

True
False
False
True

为什么all({})会返回True,由下面代码可得,all可迭代对象如果是个空容器,则不进入for循环语句,return返回 True

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

any(iterable)

  • 可迭代对象任意一个元素等效为True,any函数返回True
  • 空可迭代对象或所有元素都等效False,any函数返回False
    由下述代码可得知,当可迭代对象为空,则不进入for循环语句,return返回 False
def any(iterable):
    for element in iterable:
        if element:
            return True
    return False

可迭代对象

  • 能够通过迭代一次次返回不同的元素的对象
  • 所谓相同,不是指值是否相同,而是元素在容器中是否是同一个,例如列表中值可以重复的,[‘a’, ‘a’],虽然这个列表有2个值一样的元素,但两个是不同的元素,因为有不同的索引
  • 可以迭代,但是未必有序,未必可索引
  • 可迭代对象有:list、tuple、string、bytes、bytearray、range对象、set、dict、生成器、迭代器等
  • 可以使用成员操作符in 、not in,in本质上对于线性结构就是在遍历对象,非线性结构求hash

迭代器

  • 特殊的对象,一定是可迭代对象,具备可迭代对象的特征
  • 通过iter方法把一个可迭代对象封装成迭代器
  • 通过next方法,迭代 迭代器对象
  • 生成器对象,就是迭代器对象
print([x for x in iter(range(10))])
# 输出结果:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

最后

以上就是花痴外套为你收集整理的Python -- 内建函数、可迭代对象、迭代器内建函数可迭代对象迭代器的全部内容,希望文章能够帮你解决Python -- 内建函数、可迭代对象、迭代器内建函数可迭代对象迭代器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部