데이터 취업 스쿨 스터디 노트 - 파이썬 기초 문제풀이, 파이썬 중급 (2주차)

박해민·2024년 3월 21일

데이터 분석

목록 보기
2/8

[2주차 Study Note]

  • 변수 & 함수

    • 변수 : 보통 명사
    • 함수 : 보통 동작을 나타냅 (기능)
  • 함수의 종류

    • 내장 함수 : 파이썬에 기본으로 내장된 함수 ex. print
    • 사용자 함수 : 사용자가 직접 선언하는 함수 ex. def ~ return 등
  • 함수 선언

    • def 함수():
      (들여쓰기) 실행문
      (들여쓰기) print()
    • 함수 호출은 들여쓰기 x / 형태 : 함수명()
    • pass 사용해 실행문 생략 가능
  • 인수와 매개변수 사용

    • def 함수(매개변수):
      (들여쓰기) 실행문 ({~})
      (들여쓰기) prinnt(인수)

    • 인수 값을 매개변수에 적용

    • 인수와 매개변수 개수는 일치해야 함
      (매개변수가 지정되지 않을 때는 매개변수 앞에 추가)
      ex. 함수(
      numbers):

  • return 문
    return (함수 결과 반환 / 반환 받아야할 경우에만 사용)
    ※ Return 이후 나오는 코드는 실행x (즉시 종료)

  • 전역 변수/ 지역 변수

    • 전역 변수 : 함수 밖에서 선언된 변수
      (함수 내외로 다 사용가능 / 그러나 함수 내에서는 수정 불가-동명이인 형태)
      ※ global 키워드 사용시 함수 내에서도 전역변수 수정 가능

    • 지역변수 : 함수 내에서 선언된 변수 (함수 내에서만 사용 가능)

  • 중첩함수

    • 함수 내에 다른 함수가 또 있는 형태 (그중 내부 함수는 밖에서 호출 불가)
  • lambda 함수

    • lambda 함수 사용시 간단하게 함수 선언 가능
    • ex. 변수 = lambda 매개변수: 함수식
  • 모듈 (소스의 개념)

    • 내장모듈) 파이썬에 내장
    • 외부모듈) 별도 설치 후 사용 (넘파이, 판다스 등)
    • 사용자 모듈-사용자 제작
  • 모듈 사용

    • import 모듈명 (뒤에 as 새로운 모듈명 사용 시 모듈 이름 단축가능)
      ex. from 모듈명 import 함수명, 추가, 추가 •••
    • 입력 시 모듈의 여러 기능 중 특정 함수 기능만 불러와 사용 가능
  • name 전역변수
    : name = 실행파일인 ‘main’ or ‘해당 모듈명’ 으로 저장됨

if name == 'main'
print()
(이렇게 사용시 불필요한거 실행을 막을 수 있음)

  • 패키지

    • 모듈을 패키지화해서 구분 (이름 겹치지 않게 사용 가능)
    • site-packages 에 있는 모듈은 어디에서든지 사용 가능
    • 가상환경 만들어 활용 가능 (ex. 파이썬 다른 버전 등)
  • 수학 관련 함수
    : sum, max, pow(거듭제곱), round(반올림/기본 숫자, 반올림 자리)

  • 자주 쓰이는 모듈
    1) 수학 모듈
    - import.math
    : math.fabs (절댓값) / math.ceil (올림) / math.floor (내림) / math.trune (버림) / math.gcd (최대공약수) / math.factorial (팩토리얼) / math.sqrt (제곱근)

    2) random 모듈

    3) time 모듈
    : time.localtime (현재 날짜의 모든 시간) / tm_year / tm_mon / tm_mday / tm_hour / thm_min / tm_sec (초) / tm_wday (요일)

  • 객체지향 프로그래밍

    • 정의 : 객체(Object) = 속성(Attribute) + 기능(Function)
    • 객체는 class에서 생성 (클래스 안에 여러 객체 생성)
  • class

    • 형태) class 키워드:
      (class 키워드 첫글자는 대문자)

      <예시>
      class 클래스명:
      def init(self, 속성1, 속성2, •••)
      self. 속성1

  • 변수
    : 변수는 객체의 메모리 주소를 저장하고,
    이를 이용해 객체를 참조함 (레퍼런스 변수라고도 함)
    : ¥¥¥ .copy 사용시에는 메모리주소가 아닌 객체 자체가 복사됨!

  • 복사

    • 얕은 복사 : 객체 주소를 복사 (객체 자체는 복사x)
      객체 중 하나를 변경 시 타 객체도 변경됨
      (ex. num2 = num1 등)
    • 깊은 복사 : 객체 자체를 복사 (동일한 객체를 추가로 생성)
      객체 중 하나를 변경해도 나머지 객체에는 영향 x
      +++ for~in 함수 / copy 함수 사용 등..다양히게 깊은 복사 가능
  • 상속

    • 클래스는 타 클래스에 상속 가능
      (ex. 클래스명(상속받을 클래스명) 이런식으로 사용가능)
  • 오버라이딩
    -하위(상속받은) 클래스에서 상위 클래스의 메서드를 재정의 (오버라이드) 가능
    (like 업그레이드)
    -형태 : 클래스 상속 → 함수 재정의

  • 추상클래스
    -상위 클래스에서 하위 클래스에 메서드 구현 강요
    -상위클래스에는 선언만 함 (실행x)
    하위클래스에서 실행
    (하위클래스에서 불러온뒤 실행 x 시 에러가 남)

0개의 댓글