王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594

复习

1.函数
1.函数的定义和调用
2.参数及传递顺序
形参角度: 位置参数;*args;默认参数;**kwargs
实参角度: 按位置传,按关键字传
3.返回值:0/1/多个
4.闭包函数——内部函数引用外部函数变量
2.装饰器
1.作用:不改变函数调用方式的情况下,在函数前后增加功能
2.原则:开放(扩展)封闭(修改)原则
3.from functools import wraps
@wraps(func)
4.带参数的装饰器

学习内容

1.迭代器
[]--可迭代对象 [].__iter__()--迭代器
1.可迭代对象:list,dic,set,tuple,f = open(),str,range(),enumerate
2.可以被for循环的数据类型,都拥有_iter_方法
3.含有__iter__方法的都是可迭代的——可迭代协议
4.迭代器协议——内部含有__next__和__iter__方法的就是迭代器
5.可迭代的.__iter__()方法就可以得到一个迭代器
6.迭代器中的__next__()方法可以一个一个的获取值
2.使用情况:
函数返回:
1.iterator
2.可迭代对象
3.直接返回内存地址
3.优点
1.从容器类型中逐一取值,所有值
2.节省内存空间 range(100000) 不直接在内存中生成数——随循环或者next逐一生成
文件句柄——可迭代,
4.生成器
生成器函数

代码区

'''
# 所有关于列表的操作
print(dir([]))
# 双下方法
print([1].__add__([2]))
print([1]+[2]) # python解释器内部通过调用add计算 print('_iter_' in dir(int)) # in l = [1,2,3]
print(l.__iter__().__next__())
iterator = l.__iter__()
print(iterator)
'''
# for 循环内部
'''
l = [1,2,3]
for i in l:
print(i)
#1. iterator = l.__iter__()
#2. iterator.__next__() # range 函数
# print(range(1000))
# print(list(range(1000)))
'''
# 生成器函数
'''
def generator():
print(1)
print(2)
yield 'a'
print(3)
yield 'b'
g = generator()
for i in g:
print(i)
# ret = g.__next__()
# ret = g.__next__()
'''
# 生成器可以随时连续取值
'''
def wahaha():
for i in range(2000000):
yield '娃哈哈%s'%i
g = wahaha()
count = 0
for i in g:
count += 1
print(i)
if count >50:
break
print('****',g.__next__())
count = 0
for i in g:
count += 1
print(i)
if count >50:
break
'''
# 监视文件输入
def tail(filename):
f = open('log',encoding='utf-8')
while True:
line = f.readline()
if line.strip():
yield line.strip() g = tail('file')
for i in g:
if 'python' in i:
print('***',i)

python之路——13的更多相关文章

  1. 【python之路13】python的深浅拷贝

    深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 impor ...

  2. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  3. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  4. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  5. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  6. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  7. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  8. Python之路【第九篇】:Python操作 RabbitMQ、Redis、Memcache、SQLAlchemy

    Python之路[第九篇]:Python操作 RabbitMQ.Redis.Memcache.SQLAlchemy   Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用 ...

  9. Python之路【第八篇】:堡垒机实例以及数据库操作

    Python之路[第八篇]:堡垒机实例以及数据库操作   堡垒机前戏 开发堡垒机之前,先来学习Python的paramiko模块,该模块机遇SSH用于连接远程服务器并执行相关操作 SSHClient ...

随机推荐

  1. zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)

    场景:普通用户编译的apache,要在该用户下启动1024端口以下的apache端口 1.假设普通用户为sims20,用该用户编译 安装了一个apache,安装路径为/opt/aspire/produ ...

  2. Eclipse+Spring boot开发教程

    一.安装 其实spring boot官方已经提供了用于开发spring boot的定制版eclipse(STS,Spring Tool Suite)直接下载使用即可,但考虑到可能有些小伙伴不想又多装个 ...

  3. decltype typename

    decltype((variable))总是引用类型,但是decltype(variable)只有当variable是引用类型时才是引用类型. #include <iostream> #i ...

  4. 在Linux终端安装Julia

    官方参考文档:https://julialang.org/downloads/platform.html#generic-binaries 一.centos终端安装 打开Linux终端输入 sudo ...

  5. 使用mybatis generator插件,自动生成dao、dto、mapper等文件

    mybatis generator 介绍 mybatis generator中文文档http://mbg.cndocs.tk/ MyBatis Generator (MBG) 是一个Mybatis的代 ...

  6. JS实现大整数乘法(性能优化、正负整数)

    本方法的思路为: 一:检查了输入的合法性(非空,无非法字符) 二:检查输入是否可以进行简单计算(一个数为 0,1,+1,-1) 三:去掉输入最前面可能有的正负符号,并判断输出的正负 四:将输入的值分成 ...

  7. vue,在模块中动态添加dom节点,并监听

    在这里,onclick事件没有作用,因为它指向的是window,如果写为this.click页面显示为undefined, 我采用的是通过class绑定事件,但是会有一个问题,那就是当你渲染多个事件时 ...

  8. php \r\n

    代码a: 复制代码 代码如下: <?php echo'hello</br>'; echo'world!'; ?> output: helllo world! 代码b: 复制代码 ...

  9. 关于Idea启动配置tomcat

    1.打开file中setting中搜索Application Servers,如下图 2.添加服务器类型,例如tomcat,如下图,添加完成之后可以选定tomcat的目录,tomcat Home配置t ...

  10. the principle of redbalck tree