一.yield的表达形式 def foo(): print('starting') while True: x=yield None#return 2 print('value :',x) g=foo() print(next(g)) print(g.send(2)) 运行结果: starting #运行函数,打印starting后碰到yield停住 None #next()触发后 yield将None赋值给x,打印None后循环碰到yield停住 value : 2 #g.send(2)将2赋…
#应用:grep -rl 'root' /etc import os def deco(func): def wrapper(*args): g=func(*args) next(g) return g return wrapper start_path=r'/Users/mona/Desktop/python学习/study/a' #阶段一:递归地找文件的绝对路径,把路径给阶段二 @deco def search_func(target): while True: start_path=yie…
其实这个面向过程编写程序,是编写程序的基础,所以一定要好好掌握 此程序涉及知识点:装饰器,生成器,协程器应用 # 编辑者:闫龙 import os Distinct = [] #定义一个列表用于判断重复的文件 def AutoNext(Target): #生成器的Next装饰器 def NextTarget(*args): res = Target(*args) #res得到Target(*args)的执行结果(Target()) next(res)#让res进行一次next到yield的操作…
一.装饰器 一.装饰器的知识储备 1.可变长参数  :*args和**kwargs def index(name,age): print(name,age) def wrapper(*args,**kwargs): #即args=(1,2,3,4,5),kwargs={'x':1,'y':3} index(*args,**kwargs) #index(1,2,3,4,5,y=2,x=5) 2.函数对象:被当做数据传递 1.函数可以当做参数传给另外一个函数 2.一个函数的返回值,也可以是一个函数(…
生成器表达式形式 直接上代码 # yield的表达式形式 def foo(): print('starting') while True: x=yield #默认返回为空,实际上为x=yield None print('value',x) g=foo() print(g.__next__()) #停到yield位置,生成器初始化,遇到yield返回一个None print('---分割线君---') print(g.send(1)) #传值给yield,然后yield传给x,最后触发一次next…
生成器表达式形式 直接上代码 1 # yield的表达式形式 2 def foo(): 3 print('starting') 4 while True: 5 x=yield #默认返回为空,实际上为x=yield None 6 print('value',x) 7 g=foo() 8 print(g.__next__()) #停到yield位置,生成器初始化,遇到yield返回一个None 9 print('---分割线君---') 10 print(g.send(1)) #传值给yield,…
一.装饰器 一.装饰器的知识储备 不想修改函数的调用方式,但是还想在原来的函数前后添加功能 1.可变长参数  :*args和**kwargs def index(name,age): print(name,age) def wrapper(*args,**kwargs): #即args=(1,2,3,4,5),kwargs={'x':1,'y':3} index(*args,**kwargs) #index(1,2,3,4,5,y=2,x=5) 2.函数对象:被当做数据传递 1.函数可以当做参数…
应用:grep -rl 'root' /etc 实现过滤文件的功能 import os def init(func): def wrapper(*args,**kwargs): g=func(*args,**kwargs) next(g) return g return wrapper #阶段一:递归地找文件的绝对路径,把路径发给阶段二 @init def search(target): 'search file abspath' while True: start_path=yield g =…
yield的表达式形式 def init(func): def wrapper(*args, **kwargs): g = func(*args, **kwargs) next(g) return g return wrapper @init #foo=init(foo) def foo(): print('starting') while True: print('value : ', x) g = foo() #wrapper() g.send() 结果: starting value :…
1.面向过程编程 面向过程:一种编程思想在编写代码时 要时刻想着过程这个两个字过程指的是什么? 解决问题的步骤 流程,即第一步干什么 第二步干什么,其目的是将一个复杂的问题,拆分为若干的小的问题,按照步骤一一解决,也可以说 将一个复杂的问题,流程化(为其制定一个固定的实现流程),从而变得简单化例如:要将大象装进冰箱 打开冰箱 装进大象 关闭冰箱门 以上实现方式 是面向过程的实现方式 面向过程编程优缺点: 优点:复杂的问题,简单化, 缺点:由于其实现流程是固定的,一旦中间某一个步骤发生了修改,将导…
grep --help -R, -r, --recursive equivalent to --directories=recurse -l, --files-with-matches print only names of FILEs containing matches 递归查找目录下面的文件 l找到符合的文件 [root@db01 data]# echo "tttt" >aa.txt[root@db01 data]# echo "tttt" >bb…
面向过程编程 Procedure Oriented Programming C语言是面向过程编程的,面向过程编程主要使用顺序.条件选择.循环三种基本结构来编写程序. 顺序:按照时间轴顺序完成每个处理: 条件选择:根据条件的成立与否执行不同的条件分支: 循环:根据一定的条件反复执行同样的代码: 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 例如:洗衣机的洗衣功能:放水.洗涤.脱水.打干,按照一定的顺序执行功能:放水->洗涤->脱水…
面向过程编程+模块&导入 一.面向过程编程(理论+简单代码) 面向过程编程就好比在设计一条产品流水线 首先我们来认识下,什么是面向过程?如果咬文嚼字的话可以这样来理解,面向过程就是面向解决问题的过程进行编程.仔细思考一下,我们在学习和工作中,当我们去实现某项功能 或完成某项任务时,是不是会不自觉的按部就班的罗列出我们要做的事情?(如果没有,建议以后试着步骤化解决问题).而当我们按着我们罗列的步骤去解决问题时,实质上就是按 照面向过程的思想去解决问题.我们罗列的步骤就是过程,按照步骤解决问题就是面…
Golang面向过程编程-函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是函数 简单的说函数的作用就是把程序里多次调用的相同的代码部分定义成一份,然后起个名字,所有的调用都只用这个名字就可以了.修改代码时,只需要改变函数体内的代码即可.Go 语言最少有个 main() 函数.你可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务.函数声明告诉了编译器函数的名称,返回类型,和参数.Go语言标准库提供了多种可动用的内置的函数. 二.函数的特点 1>.减少重复…
<Essential C++>读书笔记 之 面向过程编程风格 2014-06-18 2.2 调用(invoking)一个函数 2.2.1 Pass by Reference语义 在函数swap的参数中使用reference和pointer pointer参数和reference参数的差异和用法 2.4 使用局部静态对象(Local Static Objects) 2.5 声明一个inline函数 2.7 定义并使用Template Functions (模板函数) 2.8 函数指针(Point…
discovery diskstring==>ASM实例原始磁盘搜索路径,一般搜索/dev/raw/  /dev/oracleasm/ 初始化参数文件中为:asm_diskstring asmcmd 命令使用dsget获得参数值,dsset 设置该参数值 asmca GUI程序,也提供按钮:Change Disk discover path更改此值…
面向过程编程(OPP) 和面向对象编程(OOP)的关系 原文链接:http://blog.csdn.net/phphot/article/details/3985480 关于面向过程的编程(OPP)和面向对象的编程(OOP),给出这它们的定义的人很多,您可以从任何资料中找到很专业的解释,但以我的经验来看,讲的相对枯燥一点,不是很直观.除非您已经有了相当的积累,否则说起来还是比较费劲. 我是个老程序员出身,虽然现在的日常工作更多倾向了管理,但至今依然保持编码的习惯,这句话什么意思呢?我跟大家沟通应…
1. 一般页面开发方式 [可读性差.可维护性差]------初级开发工程师 一般页面编写方法 var name = 'iphone8' var description = '手机中的战斗机 ' var price = 0; var domName = document.getElementById('pname') var domPrice = document.getElementById('pprice') var domad = document.getElementById('p-ad'…
迭代器 迭代器 迭代: # 更新换代(其实也是重复)的过程,每一次的迭代都必须基于上一次的结果(上一次与这一次之间必须是有关系的) 迭代器: # 迭代取值的工具 为什么用迭代器: # 迭代器提供了一种可以不依赖索引取值的方式 # 会一直打印0,记得停止 # n = 0 # while True: # print(n) # 重复 + 每次迭代都是基于上一次的结果而来的 l = [1, 2, 3, 4, 5] s = 'hello' n = 0 while n < len(s): print(s[n…
函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. 面向过程的编程思想:流水线式的编程思想,在设计程序时,需要把整个流程设计出来 优点: 程序的体系结构更清晰 简化程序的复杂度 缺点: 可扩展性及其差,所以i一般应用于不需要经常变化的软件,如:Linux内核,httpd,git等软件 实例: 实现类似Linux下的如下命令功能: cat -rl '…
参考链接:http://www.wangchao.info/1137.html  注意:链接中写的简化了,其中重启服务的命令似乎不太适用,可能是不通用,我下面描述的方式亲测可行,如有其他疑问请留言: https://blog.csdn.net/ponyxx/article/details/53769741 创建AWS的EC2实例的时候会要求生成key文件,扩展名为.pem的,这个文件比较重要,如果是实例是Windows系统,需要用此文件获取密码的:Ubuntu系统则是要在ssh中指定了其目录才能…
项目所用知识点 tornado socket tcpserver 协程 异步 tornado tcpserver源码抛析 在tornado的tcpserver文件中,实现了TCPServer这个类,他是一个单线程的,非阻塞的tcp 服务. 为了与上层协议(在tornado中就是HTTPServer)交互,TCPServer提供了一个接口:handle_stream, 要求其子类必需实现该方法,该方法就是主要用来处理应用层逻辑的. 我们可以通过下面代码倒入模块查看源码 from tornado.t…
本文转载http://xxs673076773.iteye.com/blog/1134805 最合适的) 最直接的办法是,删掉tomcat下原有Root文件夹,将自己的项目更名为Root. 我在$tomcat/webapps/下建了个myjsp目录作为我网站的默认目录,在myjsp中有一个a.jsp文件,该文件要作为我网站的默认主页. 修改配置文件: 首先,修改$tomcat/conf/server.xml文件.在server.xml文件中,有一段如下:……<engine name="Ca…
VC支持协程已经有一段时间了,之前一直想不明白协程的意义在哪里,前几天拉屎的时候突然灵光一闪: 以下是伪代码: task server() { for (;;) { sock_context s = co_await io.accept(); for (;;) { auto buf = co_await io.recv(s); if (!buf.length()) break; std::cout << buf.data() << std::endl; int n = co_awa…
一.流程实例用到的表: select * from act_ru_execution #正在执行的任务表 select * from act_hi_procinst #流程实例的历史表 select * from act_ru_task   #正在执行的任务表(只有节点是UserTask的时候,该表中存在数据) select * from act_hi_taskinst     #任务历史表(只有节点是UserTask的时候,该表中存在数据) select * from act_hi_actin…
6.16自我总结 功能介绍 程序功能介绍: 商品信息再读取修改买卖均已xlsx格式 且生成购物记录也按/用户名/购买时间.xlsx格式生成 账号密码输入错误三次按照时间进行冻结 用户信息已json格式保存 程序写的过程 先生成功能模块和运行模块 再写功能模块中用到的固定的文件目录全放在setting.py文件中 与商品交互全放在shop.py中 与用户交互全放在user.py中 一些返回界面延迟动画全放在辅助模块中 1.程序设计目录 思路 生成xlsx文档就要导入pands模块 用户信息用jos…
调整完后,重新打开虚拟机,使用fdisk -l查看,可以看到我们刚刚扩容的空间已经可以看到,但没有分区,还不能使用./dev/sda已经拥有了扩大的空间. 使用Linux的fdisk分区工具给磁盘/dev/sda分区,更可以根据提示输入m查看帮助信息,再输入n(表示增加分区),回车后输入p(创建主分区),回车后partition number输入3(因为上面已经有两个分区sda1和sda2),回车会提示输入分区的start值(通过fdisk -l 可以看出sda2的end值为3917),我们可以…
myeclipse可以右键工程:(eclipse也可以)选择properties->myeclipse->web:把web context-root改成:/然后在用myeclipse部署项目到tomcat:这样就可以了! 完毕.…
# 四 声明式编程练习题 # 1.将names=['egon','alex_sb','wupeiqi','yuanhao']中的名字全部变大写names = ['egon', 'alex_sb', 'wupeiqi', 'yuanhao']# # 方式一:手动实现# new_names=[]# for line in names:# new_names.append(line.swapcase())# print(new_names)## # 方式二:列表生成式# new_names=[line…
http://fontawesome.io/examples/ content_tag(:i,"", class:"fa fa-lock fa-spin fa-lg fa-fw)   //用<i>或者<spin> fa-spin:可以让图标icon旋转 fa-lg(fa-3x):让图标比例放大 (Larger Icons) fa-fw:让icon有一个固定的宽度,目的是让上下行图标排列整齐(Fixed Width Icons). fa-ul and f…