<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[One's Blog]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xupengit</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xupengit]]></copyright><item><title><![CDATA[Python上下文管理器使用的时机]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/119770500</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/119770500</guid><author>xupengit</author><pubDate>Wed, 18 Aug 2021 02:35:35 +0800</pubDate><description><![CDATA[一般来说，适合使用上下文管理器的情况都涉及确保某种资源以一种期望的方式被初始化和反初始化，或尽力避免重复（尤其是异常处理）。

资源清理

打开和关闭资源是编写上下文管理器的重要因素之一，确保发生异常时正确关闭资源往往很重要，这样可以避免最终随着时间的推移而产生很多的僵尸进程。

上下文管理器的优势就在于，通过在__enter__方法中打开资源并返回它，可以保证__enter__方法能执行，并且在异常出现之前关闭这个资源（这次因为被包装的代码块的内部异常会被__exit__方法捕获）。

考虑如下这个打开P]]></description><category></category></item><item><title><![CDATA[Python上下文管理器的语法]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/119770427</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/119770427</guid><author>xupengit</author><pubDate>Wed, 18 Aug 2021 02:14:35 +0800</pubDate><description><![CDATA[考虑一个常见的用例——打开文件，通过使用Python内置的open函数打开文件，打开一个文件后，关闭文件就是你的责任了，如下所示：


try:
    f = open('path/to/filename', 'r')
    content = f.read()
finally:
    f.close()



使用finally子句确保无论发生什么，文件都将被关闭。

with语句

如何使用上下文管理器完成同样的功能——打开文件并确保被正确关闭？上下文管理器在Python2.5中引入，并新增了对应]]></description><category></category></item><item><title><![CDATA[Python上下文管理器简介]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/119770418</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/119770418</guid><author>xupengit</author><pubDate>Wed, 18 Aug 2021 02:04:31 +0800</pubDate><description><![CDATA[上下文管理器是装饰器的近亲，与装饰器类似，它们都是包装其他代码的工具。然而装饰器只能包装用于定义的代码块（函数、类等），而上下文管理器可以包装任意格式的代码块。大多数时候，上下文管理器与装饰器的作用等价，大多数项目提供的API都允许使用其中任意一种方式。

上下文管理器的定义

上下文管理器是一个可以包装任意代码块的对象。上下文管理器保证进入上下文管理器时，每次代码执行的一致性，而退出上下文管理器时，相关资源会被正确回收。

需要注意的是，上下文管理器一定能够保证退出步骤的执行。如果进入上下文管理器，根据定]]></description><category></category></item><item><title><![CDATA[oracle linux 7.2 安装oracle 11.2.0.4（填坑之路)]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/90042753</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/90042753</guid><author>xupengit</author><pubDate>Thu, 09 May 2019 17:08:10 +0800</pubDate><description><![CDATA[https://blog.xupengit.top/index.php/20190508/cid=131.html
]]></description><category></category></item><item><title><![CDATA[多种聚类算法比较]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/85091963</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/85091963</guid><author>xupengit</author><pubDate>Wed, 19 Dec 2018 11:28:15 +0800</pubDate><description><![CDATA[多种聚类算法比较:https://blog.xupengit.top/index.php/20170103/cid=7.html]]></description><category></category></item><item><title><![CDATA[强化学习之Q-learning算法详解与应用]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/85091865</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/85091865</guid><author>xupengit</author><pubDate>Wed, 19 Dec 2018 11:25:14 +0800</pubDate><description><![CDATA[强化学习之Q-learning算法详解与应用：https://blog.xupengit.top/index.php/20171218/cid=57.html]]></description><category></category></item><item><title><![CDATA[量子遗传算法详解与应用]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/85091720</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/85091720</guid><author>xupengit</author><pubDate>Wed, 19 Dec 2018 11:21:09 +0800</pubDate><description><![CDATA[量子遗传算法详解与应用,很详细的介绍与解释：https://blog.xupengit.top/index.php/20181210/cid=35.html

 ]]></description><category></category></item><item><title><![CDATA[TensorFlow：多层感知器解决异或问题]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/81586095</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/81586095</guid><author>xupengit</author><pubDate>Sat, 11 Aug 2018 13:54:15 +0800</pubDate><description><![CDATA[
import numpy as np
import tensorflow as tf
data_x=np.array([[0,0],[0,1],[1,0],[1,1]],dtype=np.float32)
data_y=np.array([[0],[1],[1],[0]],dtype=np.float32)

x=tf.placeholder(tf.float32,shape=[None,2],...]]></description><category></category></item><item><title><![CDATA[Java: 栈+递归实现队列功能和操作（add，poll，peek）]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/80803000</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/80803000</guid><author>xupengit</author><pubDate>Mon, 25 Jun 2018 15:49:26 +0800</pubDate><description><![CDATA[package offer;

import java.util.Stack;

public class Queue_rec {
	
	private Stack&amp;lt;Integer&amp;gt; stack;
	
	public Queue_rec(){
		this.stack=new Stack&amp;lt;Integer&amp;gt;();
	}
	
	public void add(int newNu...]]></description><category></category></item><item><title><![CDATA[Java:递归实现栈的逆序]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/80802542</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/80802542</guid><author>xupengit</author><pubDate>Mon, 25 Jun 2018 15:26:47 +0800</pubDate><description><![CDATA[package offer;

import java.util.Stack;

public class StackWithReverse {
	private Stack&amp;lt;Integer&amp;gt; stack;
	
	public StackWithReverse(){
		this.stack=new Stack&amp;lt;Integer&amp;gt;();
	}
	
	public int po...]]></description><category></category></item><item><title><![CDATA[Java: 用两个栈实现队列，支持队列的基本操作（add，poll，peek）]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/80801889</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/80801889</guid><author>xupengit</author><pubDate>Mon, 25 Jun 2018 14:53:01 +0800</pubDate><description><![CDATA[package offer;

import java.util.Stack;

public class Stack_sequence {
	private Stack&amp;lt;Integer&amp;gt; stackPush;
	private Stack&amp;lt;Integer&amp;gt; stackPop;
	
	public Stack_sequence(){
		this.stackPop=new ...]]></description><category></category></item><item><title><![CDATA[Matlab: 平行截面法绘制由曲面z=x^2-2y^2构成的马鞍面形状]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/80792942</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/80792942</guid><author>xupengit</author><pubDate>Sun, 24 Jun 2018 17:48:14 +0800</pubDate><description><![CDATA[clc,clear,close all;
clf;
a=-20;
eps0=1;
[x,y]=meshgrid(-10:0.2:10);
v=[-10 10 -10 10 -100 100];
z1=(x.^2-2*y.^2)+eps0;
z2=a*ones(size(x));
r0=abs(z1-z2)&amp;lt;=eps0;
zz=r0.*z2;
xx=r0.*x;
yy=r0.*y;
subpl...]]></description><category></category></item><item><title><![CDATA[Java:设计一个有getMin功能的栈，要求pop,push,getMin操作的时间复杂度均为O(1)]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/80753997</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/80753997</guid><author>xupengit</author><pubDate>Wed, 20 Jun 2018 23:18:58 +0800</pubDate><description><![CDATA[package offer;

import java.util.Stack;

public class MyStack {
	private Stack&amp;lt;Integer&amp;gt; StackData;
	private Stack&amp;lt;Integer&amp;gt; StackMin;
	
	public MyStack(){
		this.StackData=new Stack&amp;lt;Inte...]]></description><category></category></item><item><title><![CDATA[C语言位排序]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/78591061</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/78591061</guid><author>xupengit</author><pubDate>Tue, 21 Nov 2017 12:00:26 +0800</pubDate><description><![CDATA[/*超快速超省内存的位排序*/

#include  
#include    
#define BITMASK(b) (1 
#define BITSLOT(b) ((b) / CHAR_BIT)
#define BITSET(a, b) ((a)[BITSLOT(b)] |= BITMASK(b))
#define BITCLEAR(a, b) ((a)[BITSLOT(b)] ]]></description><category></category></item><item><title><![CDATA[强化学习入门之马尔可夫决策过程（MDP）]]></title><link>https://blog.youkuaiyun.com/xupengit/article/details/70882392</link><guid>https://blog.youkuaiyun.com/xupengit/article/details/70882392</guid><author>xupengit</author><pubDate>Fri, 28 Apr 2017 08:50:35 +0800</pubDate><description><![CDATA[马尔可夫决策问题（MDP）是一个四元组的问题，包含环境状态空间X,Agent的动作空间U，环境的迁移函数f，以及奖赏函数p
1.状态X
环境的状态集X定义为一个有穷集合{x1,x2,x3.....xn},其中n表示状态空间大小。
2.动作空间U
Agent的动作集U定义为一个有穷集合{u1,u2,u3.....um},其中m为动作空间的大小。
3，迁移函数及奖赏函数
迁移函数是描述采取]]></description><category></category></item></channel></rss>