python迭代器、文档基础入门介绍学习

python迭代器、文档基础入门介绍学习
没啥用,但是可以看看。

print('======迭代器==========')
"""
什么是迭代器
迭代,顾名思义就是重复做一些事很多次(就现在循环中做的那样)。迭代器是实现了__next__()方法的对象(这个方法在调用时不需要任何参数),它是访问可迭代序列的一种方式,通常其从序列的第一个元素开始访问,直到所有的元素都被访问才结束。 [注意]:迭代器只能前进不能后退

[迭代器的优点]:

使用迭代器不要求事先准备好整个迭代过程中的所有元素。迭代器仅仅在迭代到某个元素时才计算该元素,而在这之前或之后元素可以不存在或者被销毁。因此迭代器适合遍历一些数量巨大甚至无限的序列。

 二、创建迭代器
A、使用内建的工厂函数iter(iterable)可以将可迭代序列转换为迭代器
B、自定义迭代器
•Python中迭代器的本质上每次调用__next__()方法都返回下一个元素或抛出StopIteration的容器对象

•由于Python中没有“迭代器”这个类,因此具有以下两个特性的类都可以称为“迭代器”类:

  1、有__next__()方法,返回容器的下一个元素或抛出StopIteration异常

  2、有__iter__()方法,返回迭代器本身
三、迭代器的方法
1.iter.__next__():返回迭代器的下一个元素,但没有下一个元素时抛出StopIteration异常
2.iter.__iter__():返回迭代器对象本身
"""
print('======map\zip\filter迭代器==========')
M=map(abs,(-1,0,1))
print(M)
print(next(M))
print(next(M))
print(next(M))
# print(next(M)) 出错

M=map(abs,(-1,0,1))
for x in M:
    print(x)
print(list(map(abs,(-1,0,1))))

Z=zip((1,2,3),(10,20,30))
print(Z,list(Z))

l=filter(bool,['spam','ni'])
print(l,list(l))

print('======多个迭代器和单个迭代器==========')
R=range(3)
t1=iter(R)
print(next(t1))
print(next(t1))
print(next(t1))
# print(next(t1))

D=dict(a=1,b=2,c=3)
K=D.keys()
print(K)

I=iter(K)
print(next(I))
print(next(I))
print(next(I))

print('======文档==========')
import sys
print(dir(sys)) #调用抓取对象内所有属性列表的简单方式。能够调用任何有属性的对象
print(dir([]))  #查看列表和字符串的属性,可传入空对象  可以用dir(str)替代
print(dir('')) #可以用 dir(list)

print('======文档字符串:__doc__ ==========')
"""
新创建 docstrings.py
Module documentation
Words Go here
"""
spam = 40
def square(x):
    """
    function documentation
    can we have your liver then ?
    """
    return x**2  #square
class Employee:
    "class documentation"
    pass
print(square(4))
print(square.__doc__)

import docstrings
print(docstrings.__doc__)
print(docstrings.square.__doc__)
print(docstrings.Employee.__doc__)

print('======PyDoc:help函数==========')
import docstrings
help(docstrings.square)
help(docstrings.Employee)
help(docstrings)



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老来学python

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值