본문 바로가기
정보처리기사/실기

코딩 - Python

by Anonymouszero 2025. 7. 17.
반응형

1. 입출력 함수

> 입력 : input("출력할 문장")
> 출력 : print("출력할 문장")

2. 문자열 포매팅

> %

코드 설명
%s 문자열(String)
%c 문자 1개(character)
%d 정수(Integer)
%f 부동소수(floating-point)
%o 8진수
%x 16진수
%% Literal % (문자 % 자체)
> format 함수
# 값 출력
print("나는 {0}시 {1}분에 일어났어".format(value1, value2))

# 변수 출력
a, b, c = map(int,input().split('.'))
print('{0:04d}.{1:02d}.{2:02d}'.format(a, b, c))

# 매개변수를 지정하여 출력
a, b, c = map(int,input().split('.'))
print('{Y:04d}.{M:02d}.{D:02d}'.format(D=c,Y=a,M=b))
 
#좌측 정렬
print("{0:<10}".format("hi"))

# 우측 정렬
print("{0:>10}".format("hi"))

# 가운데 정렬
print("{0:^10}".format("hi"))

#문자 채우기
print("{0:=^10}".format("hi"))
print("{0:!<10}".format("hi"))​

> f-string
  - 문자열 앞에 접두사 f를 붙이고, 중괄호 안에 변수를 넣는 방식
  - 자료형의 번환 없이 문자열과 정수를 함께 넣을 수 있음
# 기본 출력
s = '일' 
print(f'나는 하고 싶은 {s}을 하면서 살고싶다.')

# 소수 출력
y = 3.42134234
print(f'{y:0.4f}')

# 왼쪽 정렬
print(f'{"hi":<10}')

# 오른쪽 정렬
print(f'{"hi":>10}')

# 가운데 정렬
print(f'{"hi":^10}')

# 문자 채우기
print(f'{"hi":=^10}')
print(f'{"hi":!<10}')

2. 자료형

> Numeric
 - int
 - float
 - complex

> Sequence
 - list : [data, data, data, ...]
         : 데이터 수정 가능
 - tuple : (data, data, data, ...)
            : 데이터 수정 불가능
            : 데이터 1개인 경우에도 , 필수 ~>> a = ("b", )

> Mapping
 - dict : {"key" : value, "key" : value, ...}

> Set
 - set : 순서 없는(unordered) 데이터(출력 시 어떤 값이 먼저 나올지 모름)
         : 중복은 제거 = 고유 값을 가짐
         : 수정 가능
         : {value, value … }
           > dict와 같이 중괄호로 선언
           > s = {} : 불가능(dict로 선언 됨)
           > s = set() : 생성자를 사용하여 빈 set 선언
 - frozenset : set과 동일하지만 수정 불가능

> None : 값의 부재
 : None = Null = Nil = Nan
 : Python에서는 하나의 데이터 타입으로 존재
 : None 객체는 유일 -> id() 함수로 확인 시 동일한 identity를 가짐

3. Range

> range 객체
 - 연속된 숫자를 생성하는 것
 - 형태
  1) range(최종값) : 0 ~ (최종값-1) 까지 연속된 숫자
  2) range(초기값, 최종값) : (초기값) ~ (최종값-1) 까지 연속된 숫자
  3) range(초기값, 최종값, 증가값)
   : (초기값) ~ (최종값-1) 까지 (증가값)만큼 증가하면서 생성
   : 증가값이 음수인 경우 (초기값)에서 (최종값 + 1) 까지 (증가값) 만큼 감소하면서 생성

4. Slice

> slice
 - 문자열이나 리스트와 같은 순차형 객체(Sequence)에서 일부를 잘라 반환하는 것
 - 형식
  1) 객체명[초기위치:최종위치]
   : (초기위치) ~ (최종위치 - 1) 까지의 요소들 반환
  2) 객체명[초기위치:최종위치:증가값]
   : (초기위치) ~ (최종위치 - 1) 까지 (증가값) 만큼 건너뛰면서 반환
   : 증가값이 음수인 경우 (초기값)에서 (최종값 + 1) 까지 (증가값) 만큼 감소하면서 생성
  3) 초기위치 값 / 최종위치 값이 음수인 경우
   : 음수의 의미 = 마지막 요소에서 시작
   : 객체명[-5:2] > [마지막 요소로부터 왼쪽으로 5번째 위치] 부터 ~ [첫 번째 요소로부터 오른쪽으로 (2-1)번째 요소] 까지 반환
   : 객체명[0:-4] > [첫 번째 요소로부터 오른쪽으로 0번째 위치] 부터 ~ [마지막 요소로부터 왼쪽으로 4번째 요소 - 1] 까지 반환
  4) 생략된 경우
   : 객체명[:] / 객체명[::] - 모든 요소 반환
   : 객체명[초기위치:] - 초기위치에서 마지막 위치까지의 요소 반환
   : 객체명[:최종위치] - 0번째 위치에서 (최종위치 - 1)까지의 요소 반환
   : 객체명[::증가값] - 0번째 위치에서 마지막 위치까지 (증가값) 만큼 증가하면서 반환

5. List Method

구분  설명  예시
append(x)  리스트 끝에 요소 추가  a.append(4) → [1,2,3,4]
extend(iterable)  리스트 뒤에 iterable 요소들 추가  a.extend([5,6]) → [1,2,3,4,5,6]
insert(i, x)  i번째 위치에 x 삽입  a.insert(1, 100) → [1,100,2,3,...]
remove(x)  x와 같은 첫 요소 제거  a.remove(3)
pop(i=-1) i번째 요소 제거 + 반환 (기본은 마지막)  a.pop() → 마지막 요소 반환
clear()  리스트 비우기  a.clear()
index(x)  x의 인덱스 반환 a.index(3)
count(x)  x의 개수 세기  a.count(3)
sort()  정렬 (in-place)  a.sort()
reverse()  반전 (in-place)  a.reverse()
copy()  얕은 복사본 반환  b = a.copy()

6. Set Method

구분  설명  예시
add(x)  원소 추가  s.add(10)
update(iterable)  여러 원소 추가  s.update([1,2])
remove(x) x 제거 (없으면 에러)  s.remove(2)
discard(x)  x 제거 (없으면 무시)  s.discard(2)
clear()  전체 삭제  s.clear()

7. String Method

구분  설명  예시
join()  문자열 합치기 ' '.join(['a','b']) → 'a b'
split()  문자열 나누기  'a,b'.split(',') → ['a', 'b']
replace(a, b)  a를 b로 바꾸기  'hi'.replace('h','H') → 'Hi'
strip()  양쪽 공백 제거  'hi '.strip() → 'hi'
find(x)  x의 첫 위치 반환 (없으면 -1) 'apple'.find('p') → 1
count(x) x의 개수 'apple'.count('p') → 2
upper() / lower()  대소문자 변환  'hi'.upper() → 'HI

8. Tuple Method

구분 설명
count()  x의 개수
index()  x의 인덱스 반환

9. Dict Method

구분  설명  예시
get(key, default)  키 가져오기 (없으면 default)  d.get('a', 0)
keys() / values() / items()  키 / 값 / 키값쌍  d.items() → [('a',1), ('b',2)]
update({})  값 여러 개 한꺼번에 업데이트  d.update({'c':3})
pop(key)  키 제거 + 값 반환  d.pop('a')
clear()  전체 삭제  d.clear()

 

반응형