欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python第三课

程序员文章站 2022-05-18 20:57:04
1.循环对象,主要调用next() 2.迭代器iterator(),在理解上可以和循环对象理解为一个东西。 3.生成器(generator)自定义的循环对象。 4.表推导(list comprehension)是快速生成表的方法。表推导用中括号。 >>> f=open("test.txt","w") ......

1.循环对象,主要调用next()

2.迭代器iterator(),在理解上可以和循环对象理解为一个东西。

3.生成器(generator)自定义的循环对象。

4.表推导(list comprehension)是快速生成表的方法。表推导用中括号。

l = [x**2 for x in range(10)]
练习:

>>> f=open("test.txt","w")
>>> f.writelines("1234\n abcd\n efg")
>>> f.close()
>>> x=open("test.txt","r")
>>> contents=x.read()
>>> print(contents)
1234
abcd
efg
>>> x.close()
>>> f=open("test.txt")
>>> f.next()
traceback (most recent call last):
file "<pyshell#29>", line 1, in <module>
f.next()
attributeerror: '_io.textiowrapper' object has no attribute 'next'
>>> for line in open ("test.txt"):
print()

 

 

>>> print(line)
efg
>>> for line in open ("test.txt"):
print(line)


1234

abcd

efg
>>> def gen():
a=100
yield(a)
a=a*8
yield(a)
yield(1000)


>>> for i in gen():
print(i)


100
800
1000
>>> def gen():
for i in range(4):
yield(i)


>>> print(i)
1000
>>> def gen():
for i in range(4):
yield(i)
print(i)


>>>
>>> for i in gen():
print(i)


0
0
1
1
2
2
3
3
>>> l=[x**2 for x in range(10)]
>>> print(l)
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> x1=[1,3,5]
>>> y2=[9,12,13]
>>> l=[x**2 for (x,y)in zip(x1,y2) if y>10]
>>> print(l)
[9, 25]

运行环境win7,python3.7.4