개발새발개발

float 소수점 설정, 문자열 슬라이싱, 깊은 복사와 얕은 복사 본문

개발새발개발

float 소수점 설정, 문자열 슬라이싱, 깊은 복사와 얕은 복사

birdsfoot 2024. 7. 23. 21:17

 

float 소수점 설정하기


:.(원하는 자릿수)f

 

 

문제>

출력값 : 10.5 * 50 = 525.0 

a = float(10.5)
b = float(50)
c = float(a*b)

#print(a,"*",b,"=",c)
print(f'{a} * {b:.0f} = {c:.1f}')

 

 

 

문자열 슬라이싱


 

a는 28~35번째 까지의 글자

b는 113번째부터 총 5글자

c는 66번째부터 68번째를 뒤집은 글자

d는 322번째부터 총 4글자를 뒤집은 글자

e는 365번째부터 작성된 "study"

 

 

a = secret[28:35]                                     #28이상, 35미만
b = secret[113:113+5]                              #113번째부터 총 5글자니까 113+5
c = secret[68:65:-1]                                 #68이하, 65 초과 글자를 역순(-1)으로, -2하면 2칸 간격 역순
d = secret[325:321:-1]                             #325 이하, 321 초과 글자를 역순으로
e = secret[365:365+len('study')]              #365번째 + 글자수

 

 

 

얕은 복사와 깊은 복사


얕은 복사

- 계좌번호만 복사하는 것

- 틀만 가져오는 것

- 원본을 바꾸면 함께 바뀜(개별성이 없음)

 

1. 

val1 = [[10,20,30],2,3]

val2=val[::]

 

val1[0][0] = -100             #1과 2 값이 모두 바뀜

val1[0] = [30,50,70]        # 집합을 통으로 바꾸면 아예 새로운 집합 길이 생기기 때문에 val1만 바뀜

 

 

깊은 복사 하는법

- 돈을 복사하는 것

- 내용을 그대로 베껴 백업하는 것

- 원본을 수정해도 백업본이 수정되지 않음

 

from copy import deepcopy

val2 = deepcopy(val1)