这次内容很多,比较重要
1、购物登陆(伪代码)
user = ‘hanjie‘passwd = 123w_user = ‘hanjie123‘w_passwd = 123login_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 @logindef home(): print("welcome to home page") @logindef finance(auth_type="weixin"): print("welcome to finance page") @logindef 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 = tprint(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
原文地址:https://www.cnblogs.com/hanjie955/p/12297522.html
时间: 2024-10-02 00:26:52