// from: https://thief.one/js/src/love.js ! function (e, t, a) { function n() { c( ".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"), o(), r() } function r() { for (var e = 0; e < d.length; e++) d[e].alpha <= 0 ? (t.body.removeChild(d[e].el), d.splice(e, 1)) : (d[e].y--, d[e].scale += .004, d[e].alpha -= .013, d[e].el.style.cssText = "left:" + d[e].x + "px;top:" + d[e].y + "px;opacity:" + d[e].alpha + ";transform:scale(" + d[e].scale + "," + d[e].scale + ") rotate(45deg);background:" + d[e].color + ";z-index:99999"); requestAnimationFrame(r) } function o() { var t = "function" == typeof e.onclick && e.onclick; e.onclick = function (e) { t && t(), i(e) } } function i(e) { var a = t.createElement("div"); a.className = "heart", d.push({ el: a, x: e.clientX - 5, y: e.clientY - 5, scale: 1, alpha: 1, color: s() }), t.body.appendChild(a) } function c(e) { var a = t.createElement("style"); a.type = "text/css"; try { a.appendChild(t.createTextNode(e)) } catch (t) { a.styleSheet.cssText = e } t.getElementsByTagName("head")[0].appendChild(a) } function s() { return "rgb(" + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + "," + ~~(255 * Math.random()) + ")" } var d = []; e.requestAnimationFrame = function () { return e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame || function (e) { setTimeout(e, 1e3 / 60) } }(), n() }(window, document);

Python-copy()与deepcopy()区别

Python-copy()与deepcopy()区别

  >>> import copy
  >>> origin = [1, 2, [3, 4]]
  #origin 里边有三个元素:1, 2,[3, 4]
  >>> cop1 = copy.copy(origin)
  >>> cop2 = copy.deepcopy(origin)
  >>> cop1 == cop2
  True
  >>> cop1 is cop2
  False 
 #cop1 和 cop2 看上去相同,但已不再是同一个object
 >>> origin[2][0] = "hey!" 
 >>> origin
 [1, 2, ['hey!', 4]]
 >>> cop1
 [1, 2, ['hey!', 4]]
 >>> cop2
 [1, 2, [3, 4]]
 #把origin内的子list [3, 4] 改掉了一个元素,观察 cop1 和 cop2


## copy->浅度复制,会随着之前的对象改变
## deepcopy->深度复制,不会随着之前的对象改变
###   如果是字典,copy第一层不会改变,第二层及以后会改变

posted @ 2018-12-03 18:27  七友!  阅读(90)  评论(0编辑  收藏  举报