王二学习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. Shiro集成web环境[Springboot]-认证与授权

    Shiro集成web环境[Springboot]--认证与授权 在登录页面提交登陆数据后,发起请求也被ShiroFilter拦截,状态码为302 <form action="${pag ...

  2. Mac安装brew(遇到的坑)

    1.安装方法: 网上都会有 命令行输入 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/i ...

  3. iOS 在工程内部创建一个静态库target

    当你在开发项目的时候需要把公用的东西打包出来,其他项目方便使用的时候,打包成静态库是你的最优选择,在工程内部开发的时候新建一个target进行静态库的开发可以使你的开发调试更加方便而不是单独新建一个工 ...

  4. Android : 跟我学Binder --- (4) 驱动情景分析

    目录: Android : 跟我学Binder --- (1) 什么是Binder IPC?为何要使用Binder机制? Android : 跟我学Binder --- (2) AIDL分析及手动实现 ...

  5. Oracle数据库表解锁语句

    --表解锁select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.locked_m ...

  6. Linux修改日期、时间,系统与硬件时间

    Linux的时间分为两种,硬件时间和系统时间两种: 一.查看与修改系统时间 查看系统时间:date # date Fri Nov 26 15:20:18 CST 1999 用指定的格式显示系统时间:  ...

  7. python自学第13天 hashlib,re模块

    import hashlib sha=hashlib.sha3_512()#定义加密成什么格式 sha.update('how to use sha1 in 年后 '.encode('utf-8')) ...

  8. 获取Ueditor里面的图片列表,地址绝对化

    /**     * 内容中图片地址转成绝对地址     * @param $content     * @return mixed     */    private function imgUrl( ...

  9. Codeforces1076F. Summer Practice Report(贪心+动态规划)

    题目链接:传送门 题目: F. Summer Practice Report time limit per test seconds memory limit per test megabytes i ...

  10. 2018.4.26 lvm

    lvm(Logical Volume Manager)逻辑卷管理,是Linux环境下对磁盘分区进行管理的一种机制. 基本概念: 1. 物理卷-----PV(Physical Volume)物理卷在逻辑 ...