객체의복사 및 형 변환

|
- 객체의 복사
  레퍼런스복사 : 객체는 그대로 두고 객체를 참조하는 주소만 복사
  실제객체 복사 : 실제 객체를 복사한다

- copy모듈을 이용한 객체 복사
  shallow copy : 복합객체를 별도로 생성하되 내용은 원래의 레퍼런스로 채운다
  deep copy : 복합객체를 생성하고 내용을 재귀적으로 복사한다.

  import copy
  a = [1,2,3]
  b = [4,5]
  x = [a,b,100]
  y = copy.copy(x)
  얕은 카피는 a, b는 레퍼런스를 복사한다.
  깊은 카피는 a, b도 객체복사를 한다.
  y = copy.deepcopy(x)

- 형변환
  정수형 변환 : int()
  반올림하여 정수로 : round()
  버리기 : floor() # import math
  올리기 : ceil() # import math
  실수형 : float()
  롱형 : long()
  복소수 : complex (1,3)
  리스트로 : list()
  튜플로 : tuple()

- 객체를 문자열로 변환
   str() : 문자열로 변환, repr보다 보기 좋게 변환해준다
   repr() : 문자열로 변환
   어떤 객체를 문자열로 변환한후 나중에 문자열을 다시 객체로 변환
      a = {1: "one", 2:"two"}
      b = repr (a)
      c = eval (b)
      print c -> {2:'two', 1:'one'}

- 문자열 요소를 가지는 튜플, 리스트를 문자열로 변환
   s = 'python is'
   l = s.split()
   ' '.join(l)

- 사전에서 리스트로 변환
   d.keys(), d.values(), d.items()

- 리스트에서 사전으로 변환
   keys, values
   L=zip (keys, values)

- 문자변환
   chr(97) -> 'a'
   ord('a') -> 97

- 임이의 진수를 10진수로
   int ('64', 10) -> 100
   int ('144', 8) -> 100

- 10진수에서 8, 16진수로
   hex(100) -> 10진수 100을 16진수 문자열로 '0x64'
   oct(100) -> 10진수 100을 8진수 문자열로 '0144'
And