购物登陆,列表生成式,生成器,斐波那契数列,yield伪并发,迭代器,时间模块,random模块
Posted hanjie955
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了购物登陆,列表生成式,生成器,斐波那契数列,yield伪并发,迭代器,时间模块,random模块相关的知识,希望对你有一定的参考价值。
这次内容很多,比较重要
1、购物登陆(伪代码)
user = ‘hanjie‘
passwd = 123
w_user = ‘hanjie123‘
w_passwd = 123
login_states = False
def login():
if login_states== False:
if auth_type == "jingdong":
username = input (‘please enter your username:‘)
password = input (‘please enter your password :‘)
if user==username and passwd==password:
print(‘welcome...‘)
login_states = True
else:
pass
elif auth_type == "weixin":
username = input(‘please enter your username:‘)
password = input(‘please enter your password :‘)
if w_user==username and w_passwd==password:
print(‘welcome...‘)
login_states = True
else:
pass
else:
pass
@login
def home():
print("welcome to home page")
@login
def finance(auth_type="weixin"):
print("welcome to finance page")
@login
def book():
print("welcome to book page")
home()
pass------1、pass语句什么也不做,一般作为占位符或者创建占位程序,pass语句不会执行任何操作2、保证格式完整 3、保证语义完整
2、列表生成的另一种方法
这个地方的range如果很大,运行内存会直接暴毙,因为列表每有一个字符在里面就会占用一个内存空间
# a = [x*x for x in range(10)] #先是在0到10里面去数字,然后依次x乘x放入到列表里面
# print(a)
3、生成器,只要是生成器就需要需要next,send去使用他
1.在元组里面就不会形成内存
2.next的格式用法
3.生成器的使用方法两个next(),还有右面的send
s = (x*2 for x in range(5)) #
print(s)
print(next(s)) #等价于s.__next__() in py2:s.next
print(next(s))
print(next(s))
print(next(s))
print(next(s))
print(next(s))
4、赋值方法--用元组、列表赋值
t = (123,8) #元组赋值 (1,2,3)这种与元组数量不相同的赋值是不可以的
a,b = t
print(a)
print(b)
5、生成器
1,。就是一个迭代对象
2。生成器有两种创建方式
# 1.(x*2 for x in range(5))
# 2.yield
6、yield的使用
1.只要有yield那么就是生成器
2.yield 的作用实现断层,把原先的程序向return一样出来,但是当他返回的时候还是在yield那一行,下一次利用nxet,或者send进来
3.yield____ 后面与return___都有一个返回值
def foo():
print(‘ok‘)
yield 1 #返回值是1
print(‘ok2‘)
yield 2 #返回值是2
# g=foo()
# print(g) #<generator object foo at 0x0000000001DB9048> 只要有yield就是生成器
# a=next(g)
# b=next(g) #拿到1,2
# for i in foo():
# while True:
# i=next(foo())
# print(i) #这里的i只拿到1,2
以上是关于购物登陆,列表生成式,生成器,斐波那契数列,yield伪并发,迭代器,时间模块,random模块的主要内容,如果未能解决你的问题,请参考以下文章