데이터 취업 스쿨 교육 5회차 내용 정리

Reallee·2023년 9월 17일
0

데이터 취업 스쿨

목록 보기
6/19
post-thumbnail

Class

1. 사용자 예외 클래스

  • exception 클래스를 상속해서 예외 클래스를 만들 수 있다.

텍스트 파일 사용하기

1. open(), write(), close()

open()

  • 텍스트 파일 여는 함수

read() or write()

  • 텍스트 파일을 읽기 또는 쓰기
  • 'w' 모드일 경우 파일이 있으면 열고 없으면 생성함.
  • 'w' 모드는 쓰기모드로 기존의 문자열을 없애고 새로운 문자열로 바꿈.
  • 'w' or 'r'로 쓰거나 읽기

close()

  • 텍스트 파일 닫기

2. read()

3. 파일 모드

  • 'w'(쓰기 전용) - 파일이 있으면 덮어씌움
  • 'a'(쓰기 전용) - 파일이 있으면 덧붙임
  • 'x'(쓰기 전용) - 파일이 있으면 에러 발생
  • 'r'(읽기 전용) - 파일이 없으면 에러 발생

4. with ~ as문

  • file.close() 생략 가능
  • with open('경로', '?') as f:

5. writelines() 문

  • writelines()는 리스트(List) 또는 튜플 데이터를 파일에 쓰기 위한 함수
  • for문을 제외하고 하단에 f.writelines(데이터) 입력하여 사용하며, 데이터를 계행하고 싶은 경우 데이터에 for문을 추가하여 사용가능

실습

  • 딕셔너리를 이용한 key와 value 값을 이용하여 작성하고, 사용은 for 변수 in 딕셔너리.keys():로 사용
  • 모양 그대로 출력하고 싶은 경우

6. readlines(), readline()

  • readlines() - 파일의 모덴 데이터를 읽어서 리스트 형태로 반환한다.

  • readline() - 파일의 한행을 읽어서 문자열 형태로 반환한다.
    print는 자동으로 계행하는 성질을 보유하고 있음.

실습

  • .split('인자') 함수는 인자를 기준으로 리스트를 분류해주는 함수임.
  • .strip(데이터) 함수는 데이터를 삭제해주는 함수임
  • 숫자더라도 리스트 형태의 데이터를 정수로 캐스팅 해줘야 함.

연습 문제

1. 순열 계산(Permutation)

  • itertools의 permutation 기능을 통해 사용 가능

2. 조합 계산(Combination)

  • itertools의 combinations 기능을 통해 사용 가능

3. class 상속

  • Tv4K(Child class)가 NomalTv(parent class)의 속성과 메서드를 물려받는 개념임. 즉, child class가 parent class의 속성과 메서드를 사용할 수 있음.

4. 추상클래스

  • parent class에서 미구현한 기능을 child class에서 구현을 강요하는 클래스

5. 예외처리

  • 덧셈 연산 시 실수가 아닌 데이터가 입력되는 경우 미리 입력된 안내멘트를 송출, try ~ except로 사용 가능하며 무한반복을 방지하기 위해 하단에 return 입력
  • except에 ZeroDivisionError as e: 입력 후 print(e)를 입력하면 시스템 에러 확인 가능

예외처리

예외처리 프로그래밍

  • 1부터 1,000까지의 랜덤한 소수 10개를 추출하는 함수

텍스트파일

1. read(), write()

  • with open('경로', '수행형태') as f: 를 사용하여 이용할 수 있고 이 경우 close를 생략할 수 있음.

2. n의 약수 구하여 텍스트에 입력

3. n의 소수 구하여 텍스트에 입력

4. 2개 수의 공약수를 텍스트에 입력

5. 2개 수의 최대공약수를 텍스트에 입력

기초수학

1. 약수와 소수

1) 개념

  • 약수 : 어떤수를 나누어 떨어지게 하는 수
    - 4의 약수 : 1, 2, 4
  • 소수 : 약수가 1과 자신밖에 없는 수(단, 1은 제외)
    - 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 ...

2) 파이썬으로 구현

  • 약수
  • 소수

2. 소인수분해

1) 개념

  • 소수 + 인수(약수를 의미)를 합친 의미
    - 즉 소인수는 약수 중 소수인 것을 의미
  • 소인수 분해 : 1보다 큰 정수를 소인수의 곱으로 나타낸 것

2) 파이썬으로 구현

  • /=는 왼쪽 변수에 오른쪽 값을 나누고 그 결과를 왼쪽 변수에 할당

3. 최대공약수

1) 개념

  • 공약수 : 두 개 이상의 수를 공통으로 나눌 수 있는 수
  • 최대공약수 : 공약수 중 가장 큰 수
    - 공통된 소인수의 거듭제곱에서 지수가 작은 수를 모두 곱한다.

2) 파이썬의 코드로 구현

  • 첫 번째 입력하는 수보다 두 번째 입력하는 수가 크다는 전제로 구현하며, 수가 3개인 경우 if문의 and 조건을 추가하면 됨.

3) 유클리드 호제법으로 구현

  • (x와 y의 최대공약수)는 (y와 x를 y로 나머지로 나눈 값의 최대 공약수)와 같다.
  • 유클리드 호제법을 이용해 최대 공약수와 공약수를 구할 수 있음.

4. 최소공배수

1) 개념

  • 공배수 : 두 개 이상의 수에서 공통된 배수
  • 최소공배수 : 공배수 중 가장 작은 수
    - 공통인 소인수의 거듭제곱에서 지수가 크고 공통이 아닌 수를 모두 곱한다.

2) 파이썬(코드와 유클리드 호제법)의 코드로 구현

5. 프로그램의 10진법 사용방법

1) 개념

  • 진법 : 특정 숫자 몇개를 사용하여 수를 표시하는 방법(ex. 2진법은 숫자 2개를 이용해 표현)
    - 2진법(0, 1), 8진법(0 ~ 7), 10진법(0 ~ 9), 16진법(0 ~ 9(10) + A ~ F(6)) 사용

2) 파이썬을 이용한 진법 변환

  • method
    - binary : bin() : 2진수로 변환
    • octal : oct() : 8진수로 변환
    • integer : int() : 10진수로 변환
    • hexadecimal : hex() : 16진수로 변환
  • 변환 결과는 모두 문자열(str)
    프린트 안에 넣어 출력하는 법

    포맷을 추가로 넣어 표현하는 법

    중괄호 안에 넣어 표현하는 법
    진수를 대표하는 기호를 삭제하고 표현하는 법

  • 진법의 변경 2진수, 8진수, 16진수를 10진수로 변경하는 법

6. 수열

1) 개념

  • 규칙성을 가지고 나열되어 있는 수들

2)-1 등차수열

(1) 개념

  • 연속된 두항의 차이(d)가 일정한 수열
  • 등차중항
    - 연속된 세항에서 가운데 항
  • n번째 값 : an = a1 +(n-1)d
  • a1부터 an까지의 합 : sn = n(a1 + an)/2

2)-2 파이썬으로 등차수열 표현

  • while 문을 이용한 구현
  • an = a1 +(n-1)d과 sn = n(a1 + an)/2을 이용한 구현
profile
초심자 입니다!

0개의 댓글