day17
1.今日内容
-
迭代器
-
生成器
-
装饰器
-
项目结构
-
logging模块
2.内容回顾&作业
2.1内容回顾
2.1.1函数
-
基本函数结构
-
参数
-
返回值
-
执行函数
-
-
函数小高级
-
函数做变量
-
函数做参数
-
-
函数中高级
-
函数做返回值
-
函数的嵌套
-
-
装饰器&闭包
-
递归
-
匿名函数
-
内置函数
2.1.2模块
-
定义模块
-
内置
-
第三方
-
安装:
-
pip包管理工具:pip install xlrd
-
源码安装:
-
下载源码包:压缩文件。
-
解压
-
打开cmd窗口,并进入此目录:cd c:\python39\lib\site-packages
-
执行:python39 setup.py build
-
执行:python39 setup.py install
-
-
-
安装路径:c:\python39\lib\site-packages
-
-
自定义
-
py文件
-
文件夹_ _init _ _.py
-
-
-
调用模块
-
import
-
import 模块1
-
import 模块1.模块2.模块3
-
-
from xximport xxx
-
from 模块.模块 import 函数
-
from 模块.模块 import 函数 as f
-
from 模块.模块 import *
-
from 模块 import 模块
-
from 模块 import 函数
-
-
2.1.3其他
-
两个值数据交换
-
推导式
-
列表(*)
-
字典
-
集合
-
2.2作业
-
思维导图
-
python学习笔记
-
本周作业
-
复习:从前到后
-
笔记
-
作业题
-
3.今日内容
-
类和对象
3.1迭代器
自己不会写迭代器,只用。
任务:请展示列表中所有的数据。
-
while+索引+计数器
-
迭代器,帮助你对某种对象(str/list/tuple/dict/set类创建的对象)中的元素进行逐一获取。
-
列表转换成迭代器:
-
v1 = iter([11,2,2,3,])
-
v2 = v1._ _iter _ _()
-
-
迭代器想要获取每个值:反复调用val = v1._ _next _ _()
-
直到报错:Stoplteration错误,表示已经迭代完毕。
-
如何判别一个对象是否是迭代器:内部是否有_ _ next_ _方法
-
-
for循环
v1 = [11,22,33,44]
#1,内部会将v1转换成迭代器
#2,内部反复执行 迭代器.__next__()
#3,取完不报错
for item in v1:
print(item)
3.2可迭代对象
-
内部具有_ _iter _ _()方法
-
可以被for循环
3.3生成器函数(内部是否包含yield)
def func():
print("你好")
yield 1
print("1")
yield 2
print("3")
yield(3)
print("4")
函数内部代码不会执行,返回一个生成器对象。
v1 = func()
#生成器是可以被for循环,一旦开始循环那么函数内部代码就会开始执行。
for item in v1:
print(item)
#################################################################
def func():
count = 1
while True:
yield count
count += 1
val = func()
for item in val:
print(item)
总结:函数中如果存在yield,那么该函数就是一个生成器函数,调用生成器函数会返回一个生成器,生成器只有被for循环时,生成器函数内部的代码才会执行,每次循环都会返回执行。
def func():
"""
分批去读取文件中的内容,将文件的内容返回给调用者。
:return:
"""
cursor = 0
while True:
f = open("dd",'r',encoding = "utf-8")
f.seek(cursor)
data_list[]
for i in range(10):
ilne = f.readline()
if not line:
return
ata_list.append(line)
cursor = f.tell()
f.close()
for row in data_list:
yield row
总结:迭代器,对可迭代对象的元素进行逐一获取,迭代器对象的内部都有一个next方法,用于以一个个获取数据。生成器,函数内部有yield则就是生成器函数,调用函数并返回一个生成器,循环生成器时,则函数内部代码才会执行。
day17
1.今日内容
-
迭代器
-
生成器
-
装饰器
-
项目结构
-
logging模块
2.内容回顾&作业
2.1内容回顾
2.1.1函数
-
基本函数结构
-
参数
-
返回值
-
执行函数
-
-
函数小高级
-
函数做变量
-
函数做参数
-
-
函数中高级
-
函数做返回值
-
函数的嵌套
-
-
装饰器&闭包
-
递归
-
匿名函数
-
内置函数
2.1.2模块
-
定义模块
-
内置
-
第三方
-
安装:
-
pip包管理工具:pip install xlrd
-
源码安装:
-
下载源码包:压缩文件。
-
解压
-
打开cmd窗口,并进入此目录:cd c:\python39\lib\site-packages
-
执行:python39 setup.py build
-
执行:python39 setup.py install
-
-
-
安装路径:c:\python39\lib\site-packages
-
-
自定义
-
py文件
-
文件夹_ _init _ _.py
-
-
-
调用模块
-
import
-
import 模块1
-
import 模块1.模块2.模块3
-
-
from xximport xxx
-
from 模块.模块 import 函数
-
from 模块.模块 import 函数 as f
-
from 模块.模块 import *
-
from 模块 import 模块
-
from 模块 import 函数
-
-
2.1.3其他
-
两个值数据交换
-
推导式
-
列表(*)
-
字典
-
集合
-
2.2作业
-
思维导图
-
python学习笔记
-
本周作业
-
复习:从前到后
-
笔记
-
作业题
-
3.今日内容
-
类和对象
3.1迭代器
自己不会写迭代器,只用。
任务:请展示列表中所有的数据。
-
while+索引+计数器
-
迭代器,帮助你对某种对象(str/list/tuple/dict/set类创建的对象)中的元素进行逐一获取。
-
列表转换成迭代器:
-
v1 = iter([11,2,2,3,])
-
v2 = v1._ _iter _ _()
-
-
迭代器想要获取每个值:反复调用val = v1._ _next _ _()
-
直到报错:Stoplteration错误,表示已经迭代完毕。
-
如何判别一个对象是否是迭代器:内部是否有_ _ next_ _方法
-
-
for循环
v1 = [11,22,33,44]
#1,内部会将v1转换成迭代器
#2,内部反复执行 迭代器.__next__()
#3,取完不报错
for item in v1:
print(item)
3.2可迭代对象
-
内部具有_ _iter _ _()方法
-
可以被for循环
3.3生成器函数(内部是否包含yield)
def func():
print("你好")
yield 1
print("1")
yield 2
print("3")
yield(3)
print("4")
函数内部代码不会执行,返回一个生成器对象。
v1 = func()
#生成器是可以被for循环,一旦开始循环那么函数内部代码就会开始执行。
for item in v1:
print(item)
#################################################################
def func():
count = 1
while True:
yield count
count += 1
val = func()
for item in val:
print(item)
总结:函数中如果存在yield,那么该函数就是一个生成器函数,调用生成器函数会返回一个生成器,生成器只有被for循环时,生成器函数内部的代码才会执行,每次循环都会返回执行。
def func():
"""
分批去读取文件中的内容,将文件的内容返回给调用者。
:return:
"""
cursor = 0
while True:
f = open("dd",'r',encoding = "utf-8")
f.seek(cursor)
data_list[]
for i in range(10):
ilne = f.readline()
if not line:
return
ata_list.append(line)
cursor = f.tell()
f.close()
for row in data_list:
yield row
总结:迭代器,对可迭代对象的元素进行逐一获取,迭代器对象的内部都有一个next方法,用于以一个个获取数据。生成器,函数内部有yield则就是生成器函数,调用函数并返回一个生成器,循环生成器时,则函数内部代码才会执行。