함수

  • 내장함수와 사용자 함수가 존재

사용자 함수 > def 함수이름 (변수):

  • def 뒤에는 원하는 함수의 이름을 만들어 적음
  • 들여쓰기를 이용해서 선언
  • pass 실행문 생략
  • 함수 호출시 함수에 데이터 전달 가능 (인수와 매개변수 : 두 개의 개수는 일치해야 함)

    def 함수(매개변수):
    print(f'{매개변수})
    *f' : f-string
    함수(인수)

     
  • return : 함수 실행 결과 반환
  • 전역 변수 : 함수 밖에 선언된 변수로 사용 용이, 함수 안에서는 수정할 수 없음
    cf. 지역 변수 : 함수 아네서만 사용
    cf. global : 함수 안에서도 전역변수의 값 수정 가능
  • 중첩함수 : 함수 안의 함수, 내부 함수를 밖에서 호출할 수 없음.
  • lambda : 함수 선언 간단하게 가능
    ex. def calculaor(n1, n2):
    return n1+n2
    returnValue = caculator(10, 20)
    print(f'returnValue: {returnValue}')
     calculator = lambda n1, n2 : n1+n2
     returnValue = calculator (10,20)
     print(f'returnValue: {returnValue'}
     

모듈

모듈

이미 만들어진 기능 : 계산모듈, 난수 모듈, 날짜/시간 모듈
특정한 기능을 가지고 있는 파이썬 파일

import

  • 모듈을 임포트
  • as를 이용해서 모듈 이름 단축 가능
  • from ~ as : 모듈의 특정 기능만 사용 ex) from calculator import add

실행

-전역변수 name : 모듈 이름이 저장되거나 'main'이 저장

객체지향 프로그래밍

객체(object)=속성(attribute)+기능(Function)
-객체는 각 클래스에 저장
-객체 사용시 , 코드 재사용과 모듈화에 용이

Class

  • class : class 키워드와 속성, 기능을 이용해 만듬
  • 객체 속성 변경 가능
  • 변수는 객체의 메모리 주소를저장하고 객체를 참조
  • 얇은 복사 vs 깊은 복사
    얇은 복사 : 객체 주소를 복사
    깊은 복사 : 객체 자체를 복사
  • 상속 : 클래스는 또 다른 클래스 상속 가능
  • 생성자 : 생성자 호출 init() 자동 호출, 속성 초기화
    super : 상위 클래스의 속성 초기화
  • 오버라이딩 : 하위 클래스에서 상위 클래스의 메서드를 재정의

예외

  • 예상하지 못한 문제로 프로그램 실행이 어려운 상태

  • 문법적인 문제는 없으나 실행 중 발생하는 예상하지 못한 문제
    *exception클래스 상속
    raise : 키워드 이용시 예외 발생 가능

  • 예외처리 : 발생된 예외를 별도 처리함으로써 프로그램 전체 실행에 문제 없도록
    try ~ except

    -finally : 예외 발생과 상관없이 항상 실행

텍스트

  • write()
  • read()
  • open() : w '쓰기 전용 / 파일이 있으면 덮어씌움'
    a '쓰기 전용 / 파일이 있으면 덧붙임'
    x '쓰기 전용 / 파일이 있으면 에러'
    r '읽기 전용 / 파일이 없으면 에러'
  • close
    with ~ as 를 이용하면 파일 닫기 생략 가능
  • writelines() : 리스트 또는 튜플 데이터를 파일에 쓰기 위한 함수
  • readlines() : 파일에 있는 모든 데이터 리스트화
  • readline() : 한행을 읽어서 문자열로 반환
profile
비전공자 Will be 전문가

0개의 댓글