程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL2008 >> 經由過程SQL Server 2008數據庫復制完成數據庫同步備份

經由過程SQL Server 2008數據庫復制完成數據庫同步備份

編輯:MSSQL2008

經由過程SQL Server 2008數據庫復制完成數據庫同步備份。本站提示廣大學習愛好者:(經由過程SQL Server 2008數據庫復制完成數據庫同步備份)文章只能為提供參考,不一定能成為您想要的結果。以下是經由過程SQL Server 2008數據庫復制完成數據庫同步備份正文


要說清晰Python中的深淺拷貝,須要弄清晰上面一系列概念:
變量-援用-對象(可變對象,弗成變對象)-切片-拷貝(淺拷貝,深拷貝)

【變量-對象-援用】

在Python中一切都是對象,好比說:3, 3.14, 'Hello', [1,2,3,4],{'a':1}......

乃至連type其自己都是對象,type對象
Python中變量與C/C++/Java中分歧,它是指對象的援用,Python是靜態類型,法式運轉時刻,會依據對象的類型
來確認變量究竟是甚麼類型。

零丁賦值: 好比說:

>>> a = 3

在運轉a=3後,變量a釀成了對象3的一個援用。在外部,變量現實上是到對象內存空間的一個指針

由於Python的變量不外是對象的援用,或指向對象的指針,是以在法式中可以常常轉變變量援用

>>> x = 42      #變量綁定到整型對象
>>> x = 'Hello' #如今又成了字符串
>>> x = [1,2,3] #如今又成了列表

專業表述以下:

變量是一個體系表的元素,具有指向對象的銜接的空間
對象是被分派的一塊內存,存儲其所代表的值
援用是主動構成的從變量到對象的指針
特殊留意: 類型屬於對象,不是變量
好比像適才的a=3, 整數對象3包括了兩重信息
1.值為3
2.一個頭部信息:告知Pthyon,這是個整數對象[相當於一個指向int的指針]

同享援用: 好比說:

>>> a = 3
>>> b = a

在運轉賦值語句b = a以後,變量a和變量b指向了統一個對象的內存空間.

從上圖可以看到,a和b,其id完整一樣,指向統一個整數對象3,或許說統一塊內存

假如刪失落a後, 不會影響b

拷貝概念的引入就是針對:可變對象的同享援用潛伏的反作用而提出的.
【可變對象-弗成變對象】
在Python中弗成變對象指:一旦創立就弗成修正的對象,包含字符串,元祖,數字
在Python中可變對象是指:可以修正的對象,包含:列表、字典
下面說的a,b都是整數,整數是弗成變對象,假如是可變對象的話,就是別的一回事了。

>>> L1 = [2,3,4]      #L1變量指向的是一個可變對象:列表 
>>> L2 = L1           #將L1值賦給L2後,二者同享援用統一個列表對象[1,2,3,4] 
>>> L1[0] = 200       #由於列表可變,轉變L1中第一個元素的值 
>>> L1; L2            #轉變後,L1,L2同時轉變,由於對象自己值變了 
[200, 3, 4] 
[200, 3, 4] 

假如不想轉變列表L2的值,有兩種辦法:切片 和 copy模塊

>>> L1 = [2,3,4]  
>>> L2 = L1 
>>> id(L1);id(L2)     #同享援用一個可變對象 
45811784L 
45811784L 
>>> L2 = L1[:]        #切片操作 
>>> id(L1);id(L2)     #切片後,對象就紛歧樣了 
45811784L 
45806920L 
>>> L1[0] = 200 
>>> L1;L2             #L1產生轉變,L2沒有變更 
[200, 3, 4] 
[2,   3, 4] 

【拷貝】
1. 切片技巧運用於一切的序列,包含:列表、字符串、元祖
   >>>但切片不克不及運用於字典。對字典只能應用D.copy()辦法或D.deepcopy()辦法.

2. 深淺拷貝,便可用於序列,也可用於字典

   >>> import copy
   >>> X = copy.copy(Y)      #淺拷貝:只拷貝頂級的對象,或許說:父級對象
   >>> X = copy.deepcopy(Y)  #深拷貝:拷貝一切對象,頂級對象及其嵌套對象。或許說:父級對象及其子對象

假如字典只要頂級對象:

假如字典中嵌套對象:

【結論】

深淺拷貝都是對源對象的復制,占用分歧的內存空間
假如源對象只要一級目次的話,源做任何修改,不影響深淺拷貝對象
假如源對象不止一級目次的話,源做任何修改,都要影響淺拷貝,但不影響深拷貝
序列對象的切片實際上是淺拷貝,即只拷貝頂級的對象

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved