当前位置: 首页 > news >正文

专门做外贸机械的网站品牌查询官网

专门做外贸机械的网站,品牌查询官网,租电信网站服务器,深圳外贸公司有哪些W4_python_decorator_generator_Iteratable_Iterator 50.第03章节-Python3.5-装饰器详解51.第04章节-Python3.5-装饰器应用详解52.第05章节-Python3.5-装饰器之函数即变量53.第06章节-Python3.5-装饰器之高阶函数54.第07章节-Python3.5-装饰器之嵌套函数55.第08章节-Python3.5-…W4_python_decorator_generator_Iteratable_Iterator 50.第03章节-Python3.5-装饰器详解51.第04章节-Python3.5-装饰器应用详解52.第05章节-Python3.5-装饰器之函数即变量53.第06章节-Python3.5-装饰器之高阶函数54.第07章节-Python3.5-装饰器之嵌套函数55.第08章节-Python3.5-装饰器之案例剖析156.第09章节-Python3.5-装饰器之案例剖析257.第10章节-Python3.5-装饰器之终极讲解58.第11章节-Python3.5-迭代器与生成器159.第12章节-Python3.5-迭代器与生成器260.第13章节-Python3.5-迭代器与生成器并行 Iterable isinstanceIteratoriter()方法61.第14章节-Python3.5-内置方法详解1-263.第16章节-Python3.5-Json与pickle数据序列化64.第17章节-Python3.5-软件目录结构规范65.第18章节-w4-practices获取文件所在路径添加到sys.path50.第03章节-Python3.5-装饰器详解 1.装修器定义装饰器本质是函数装饰其它函数就是为其它函数添加附件功能 2.原则a)不能修改被装饰函数的源代码 b)不能修改被装饰函数的调用方式 51.第04章节-Python3.5-装饰器应用详解 52.第05章节-Python3.5-装饰器之函数即变量 53.第06章节-Python3.5-装饰器之高阶函数 高阶函数 a)把一个函数名当作实参传给另一个函数(可以实现装修器中的不能修改被装饰函数的源代码的情况下为函数增加功能) def bar():print(in the bar)def test(func):print(func)func()test(bar) b)返回值中包含函数名可以实现装修器中的不修改函数的调用方式 import time def bar():time.sleep(3)print(in the bar)def test(func):print(func)return func# print(test(bar)) bar test(bar) bar() #run bar返回顶部 54.第07章节-Python3.5-装饰器之嵌套函数 高阶函数 嵌套函数 装修器 x 0 def gradpa():x 1def dad():x 2def son():x 3print(x)son()dad() gradpa() 返回顶部 55.第08章节-Python3.5-装饰器之案例剖析1 装饰器一 import time def timer(func):def deco():start_time time.time()func()stop_time time.time()print(the func run time is :{runtime}.format(runtime (stop_time - start_time)))return decotimer def test1():time.sleep(2)print(in the test1)test1()返回顶部 56.第09章节-Python3.5-装饰器之案例剖析2 装饰器二解决参数传递问题 import time def timer(func):def deco(*args,**kwargs):start_time time.time()func(*args,**kwargs)stop_time time.time()print(the func run time is :{runtime}.format(runtime (stop_time - start_time)))return decotimer def test1():time.sleep(2)print(in the test1)timer def test2(name,age):time.sleep(2)print(in the test2:,name,age)test1() test2(alex,age 32)返回顶部 57.第10章节-Python3.5-装饰器之终极讲解 user wu passwd passdef auth(func):def wrapper(*args,**kwargs):username input(please input username:)password input(please input password:)if user username and passwd password:print(\033[32;1mUser has passed authentication\033[0m)res func(*args,**kwargs)print(---after authentication---)return reselse:print(\033[31;1mInvalid username or password\033[0m)return wrapperdef index():print(welcome index page)auth def home():print(welcome home page)def bbs():print(welcome bbs page)home()ps: 1.理解参数传递过程 2.当层级较多时可断点调试 #!/usr/bin/env python # -*-coding:utf-8-*- # author: Mr.Wu user wu passwd passdef auth(auth_type):def outer_wrapper(func):def wrapper(*args, **kwargs):if auth_type local:username input(please input username:)password input(please input password:)if user username and passwd password:print(\033[32;1mUser has passed authentication\033[0m)res func(*args, **kwargs)print(---after authentication---)return reselse:print(\033[31;1mInvalid username or password\033[0m)elif auth_type ldap:print(ldap authenticatoin)res func(*args, **kwargs)print(---after authentication---)return resreturn wrapperreturn outer_wrapperdef index():print(welcome index page)auth(auth_typelocal) def home():print(welcome home page)return from homeauth(auth_typeldap) def bbs():print(welcome bbs page)home() print(home()) bbs() 返回顶部 58.第11章节-Python3.5-迭代器与生成器1 生成器只有在调用时才会生成相应的数据 生成器的优点可以节省内存资源 比较列表与生成器: a [ i*2 for i in range(10000000) ] b ( i*2 for i in range(10000000) )for n in b: print(n) b.next() #只有一个next方法在python2中为b.next() #斐波拉契 # def fib(max): # a,b,n 0,1,0 # while n max: # a,b b,a b # print(a) # n n 1 # return done # # fib(10)#转为生成器 def fib(max):a,b,n 0,1,0while n max:a,b b,a byield an n 1return donef fib(10) print(f.__next__()) print(testxxx) print(f.__next__()) print(f.__next__()) print(testxxx) print(f.__next__())返回顶部 59.第12章节-Python3.5-迭代器与生成器2 生成器案例 import timedef consumer(name):print({name}准备吃包子了.format(name name))while True:baozi yieldprint(包子{baozi}分给{name}吃了.format(baozibaozi,namename)) # c1 consumer(user1) # c1.__next__() # c1.send(1) # c1.send(2)def producer(name):c1 consumer(c1)c2 consumer(c2)c1.__next__()c2.__next__()print(开始做包子了)baozi_no 1for i in range(10):time.sleep(1)print({name}做了2个包子.format(namename))c1.send(baozi_no)c2.send(baozi_no1)baozi_no baozi_no 2producer(alex)返回顶部 60.第13章节-Python3.5-迭代器与生成器并行 Iterable isinstance 可以直接作用于for循环的对象统称为可迭代对象Iterable from collections import Iterableprint(isinstance([],Iterable)) print(isinstance(,Iterable)) print(isinstance({},Iterable)) print(isinstance((),Iterable)) print(isinstance(100,Iterable))Iterator 可以被next()函数调用并且不断返回下一个值的对象称为迭代器:Iterator 查看对像的方法dir(对象) 使用 from collections import Iteratorprint(isinstance((x for x in range(5)), Iterator))iter()方法 iter()方法可以把可迭代对象转变为一个迭代器对象 a iter([a,b,c]) print(a.next()) print(a.next()) 返回顶部 61.第14章节-Python3.5-内置方法详解1-2 dir() exec() #执行一段代码 eval() #将字典形式的字符串处理成字典类型 map() globals() #获取当前文件中所有全局变量,注不包括函数中的局部变量 hash() bin() oct() hex() sorted() 把字典按key排序打印 a {6:2,8:0,1:4,-5:6,99:11,4:32} print(a.items()) print(sorted(a.items())) print(sorted(a.items(),keylambda x:x[1]))zip() a [a,b,c,d] b [1,2,3,4,5]for i in zip(a,b):print(i)locals() 返回顶部 63.第16章节-Python3.5-Json与pickle数据序列化 json dumps/dump import jsondata {key1:value,key2:[1,2,3] }with open(json_1.txt,w) as f:f.write(json.dumps(data))#等价于import jsondata {key1:value,key2:[1,2,3] }with open(json_1.txt,w) as f:json.dump(data,f)json loads/load import jsonwith open(json_1.txt, r) as f:data json.loads(f.read()) print(data) # 等价于 import jsonwith open(json_1.txt, r) as f:data json.load(f)print(data) json编码问题 import json dic (1:中国,2:b) f open(test_json.txt,w,encodingutf-8) json.dump(dic, f, ensure_asciiFalse) #json.dump(dic, f)#感受下如何不加ensure_asciiFalse后文件内容的区别 f.close() f open(test_json.txt,encodingutf-8) res json.load(f) f.close() print(type(res), res) pickle dumps/dump import pickledef func_test(name):print(name)data {pickle:dump,func:func_test }# with open(pickle_1.txt,wb)as f: # f.write(pickle.dumps(data)) #等价于with open(pickle_1.txt,wb)as f:pickle.dump(data,f)pickle loads/load import pickledef func_test(name):print(hello,name)# with open(pickle_1.txt,rb)as f: # print(pickle.loads(f.read())[func](test_name))#等价于with open(pickle_1.txt,rb)as f:print(pickle.load(f)[func](test_name))返回顶部 64.第17章节-Python3.5-软件目录结构规范 注意项目首字母大写 Atm/ ├── bin │   ├── atm.py │   └── __init__.py ├── conf │   └── __init__.py ├── core │   ├── __init__.py │   └── main.py ├── docs │   ├── abc.rst │   └── conf.py ├── logs │   └── __init__.py ├── README ├── requirements.txt └── setup.py 目录间程序调用 假如从bin下的atm调用core下的mainmain.py print(welcome to atm)atm.py import os, sysBASE_DIR os.path.dirname(os.path.dirname(os.path.abspath(__file__))) print(BASE_DIR) sys.path.append(BASE_DIR)from core import mainmain返回顶部 65.第18章节-w4-practices 模拟实现一个ATM 购物商城程序 额度 15000或自定义 实现购物商城买东西加入 购物车调用信用卡接口结账 可以提现手续费5%每月22号出账单每月10号为还款日过期未还按欠款总额 万分之5 每日计息 支持多账户登录 支持账户间转账 记录每月日常消费流水 提供还款接口 ATM记录操作日志 提供管理接口包括添加账户、用户额度冻结账户等。。。 用户认证用装饰器 示例代码 https://github.com/triaquae/py3_training/tree/master/atm 获取文件所在路径添加到sys.path from os import getcwd,path from sys import path as sys_path sys_path.insert(0,path.dirname(getcwd())) python_控制台输出带颜色的文字方法https://www.cnblogs.com/Eva-J/p/8330517.html  转载于:https://www.cnblogs.com/rootid/p/9388396.html
http://www.huolong8.cn/news/208798/

相关文章:

  • 网站里 动效是用什么做的无锡seo网站排名
  • 北京政平建设投资集团有限公司网站电商网站建设与开发课程试卷
  • 单位建设网站需要招标潜江做网站的公司
  • 网站特效 素材wordpress文章更新
  • 做搜狐网站页面网络营销师培训费用是多少
  • 做响应式网站的微博号小学门户网站建设情况汇报
  • 网站的建设意见网页紧急升级维护中升级
  • 重庆企业网站昆山网站制作哪家强
  • 头疼是什么原因导致的seo实战培训
  • 网站代码制作河北省住宅和城乡建设厅网站
  • 公众平台如何做网站汽车网络营销方式
  • 网站排版中铁三局招聘2022
  • Wordpress网站能做seo吗宁波网站建设公司名单推荐
  • 常州手机网站开发网站的ftp帐号密码
  • 网站建设公司黄页wordpress seo 百度
  • 网站设计建设网站做网站 哪里发布
  • 有网站源码如何搭建自己的网站网络营销app有哪些
  • 惠州技术支持网站建设手机网站制作招聘
  • 免费自建网站工具网站建设好后能修改吗
  • 没有备案的网站怎么挂广告建站系统多少钱
  • 长沙武广新城建设网站广东广州免费建站
  • 做seo网站优化价格wordpress会员推广插件
  • 北京怀柔网站建设公司动画设计思路怎么写
  • 魅族的网站建设与安全医疗网站建设哪个好用
  • 长沙专业网站制作如何制作教学视频
  • 鱼台县建设局网站房产网签合同
  • 网站ip地址查询域名资源网站哪个好
  • 常用的网站建设技术有什么婚纱摄影网站开发
  • 作风建设 宣讲家网站太原网站制作案例
  • 网站设计 公司 长沙私人设计工作室前景