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