Shiny Star

강의 정리

[정보처기기사] 실기 프로그래밍 정리 - 파이썬

AnnieLoper 2025. 6. 29. 14:11

파이썬 프로그래밍에서 가장 자주 나오는 부분 정리

1. 문자열 처리 (가장 빈출)
   1) 문자열 슬라이싱: str[1:4]
     - 문자열 1~4까지 짜른다. 문자열은 0부터 시작. 앞의 숫자는 포함 뒤의 숫자는 미포함
     - 1:4이면 , 1~3까지 짜른다.

     - [3::] -> 3이상 부터 전체.

     - [::-1] -> 뒤에서부터 하나씩 역순으로 전체. 

     - [:-1] -> 마지막 요소 제외 전부.

     - [::2] -> 처음부터 끝까지 2칸 간격으로 가져온다. (index 기준 0,2,4,...)

     - [1::2] -> 위에것을 응용하여, 1번부터 2칸. 즉 홀수 인덱스만 가져온다. 

 * 슬라이싱은 원본객체를 변경하지 않음.
  2) 문자열 치환: str.replace(old, new[, count]) 

    - count 를 주면, 앞에서부터 최대 count 개만 변경한다

  3) 문자열 분리/합치기: split(), '-'.join(list)

     - join은 list 들의 단어들을 join 앞의 ' '(공백) 또는 '-' 등의 원하는 요소로 결합.
  4) 대소문자 변환: upper(), lower(),capitalize()[맨 앞글자만 대문자] ,title()[각 단어 첫글자 대문자]
  5) 공백 제거: strip(), lstrip()[왼쪽 앞 공백만 제거], rstrip()[오른쪽 뒤 공백만 제거]
  6) 특정 문자 포함 여부: 'a' in str -> true or false 

 

2. 포맷팅 및 프린트 

   1) c = " and %s" % "STR";

     - print (c); 일때, %s[문자열]에 STR이 들어감.

     - "%s의 %s 점수는 %d[정수]점이다." % ("민구", "영어", 85)

     -> 민구의 영어 점수는 85점이다. 

  2) {}.format(값)

     - "{2}의 {0} 점수는 {1}점입니다.".format("영어",83,"민수")

     -> format뒤의 값은 앞에서부터 0,1,2 

     - "{a}의 {b} 점수는 {c}점입니다.".format(a="민수", b="영어", c=83)

  3) f-string(v3.6 이상) 

     - name = "민수"

       age = 28

       print{f"{name}의 나이는 {age}살")

   
2. 리스트 및 튜플
   1) 리스트 초기화, append[뒤에추가], pop[마지막 요소 제거], insert, remove

   2) set 은 중복제거 

     - a = {'a','b','c'}

        a.add('a') - 추가 안됨. 

        a.update('b','f','d') - 'b' 제외 추가됨.

     - list(set(lst)) -> lst의 중복제거하여 새로운 list 생성.

   3) 정렬

     - list.sort() : 정렬(원본까지 변경).

     - sorted(list): 정렬된 새로운 리스트 반환

     - list.reverse(): 역순정렬(원본까지 변경).

3.  조건문/반복문
   1) if, elif, else
   2) 반복문

     - for 

       - > for i in range(5) : print (i)

    -while 

      -> while i <3 : print(i) i+1

    - enumerate()

      -> for idx, val in enumerate(array) : 

           print(idx,val)

    - range()

      -> range(5) : 0~ 4

      -> range(1,10,2) : 1,3,5,7,9
  3) 리스트 내포: [표현식 for 변수 in 반복객체] : 기존 for 문을 한줄로 압축한 형태.

    - [x**2 for x in range(5)] : 0부터 4까지의 제곱리스트 만들기

       -> [0,1,4,9,16]

   - [표현식 for 변수 in 반복객체 if 조건]

      [x for x in range(10) if x % 2 == 0 ] : 0~9중 짝수만 뽑기. 

      -> [0,2,4,6,8]

4. 함수 정의 및 호출
   1) def 함수명(인자):
   2) return, default parameter
   3) 재귀 함수

 

5. 기타 자주 등장하는 문법

   1) lambda: 익명함수

     - lamda 매개변수 : 표현식

       -> f= lamda x : x+1  

            f(3) # 4가 나옴.

       -> return을 사용하지않음. 한 줄 표현식만 가능. 간단한 함수에 주로 사용.

   2) map(function, iterable)

     - iterable 각 요소에 function을 일괄 적용한다.  결과는 list()로 변환해야만 볼 수 있음. 

     - list(map(str,[1,2,3])) #['1','2','3']  -- 1,2,3을 문자열로로 변환.

     - list(map(lamda x: x*2, [1,2])) # [2,4] -- 1,2에 2를 곱함.

  3) filter(function , iterable)

     - iterable 각 요소중 조건에 맞는 요소만 걸러냄. 

     - function은 true/false 반환함수 

     - list(filter (lamda x: x%2 == 0, [1,2,3,4])) #[2,4] -- 짝수만.

 

7. 참/거짓

     - 파이썬은 0이면 false/ 1이면 true 로 조건 분기. 

     - 삼항연산자 문법.

return node.value if level % 2 esle 0 + sum(calc(n,level + 1)
for n in mode.children) if node else 0

// level % 2 가 1이면 참. 0이면 거짓. 
// 참이면 node.value 를 리턴.
// 거짓이면 0 + sum(calc(n,level + 1) for n in mode.children) if node else 0 를 리턴.
// if node 가 참이면 0 + sum(calc(n,level + 1) for n in mode.children) 를. 아니면 0 을 리턴.