파이썬 중급

엄상원·2023년 4월 18일

함수

인수와 매개변수

함수 호출 시 함수에 데이터를 전달할 수 있다

인수와 매개변수 개수는 일치해야 한다.
인수의 갯수가 정해지지 않을때 * 를 이용해서 처리를 할 수있다

실습

데이더 반환

함수 실행 결과 반환
(return 키워드를 이용하면 함수 실행 결과를 호출부로 반환 할 수 있다 )

함수가 return 을 만나면 실행을 종료한다.

실습1

지역변수와 전역변수

  • 전역 변수
    함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다

  • 지역 변수
    함수 안에 선언된 변수로 함수 안에서만 사용 가능하다

  • global 키워드
    global을 사용하면 함수 안에서도 전역변수의 값을 수정할 수 있다

실습1

실습 2

중첩함수

함수안에 또 다른 함수가 있는 형태이다

(내부 함수를 함수 밖에서 호출할 수 없다)

실습

lambda 함수

lambda 키워드를 이용하면 함수 선언을 보다 간단하게 할 수 있다

실습


모듈

모듈이란, 이미 만들어진 훌륭한 기능으로 사용자는 쉽게 사용할 수 있다

  • 내부모듈 -> 파이썬 설치 시 기본적으로 사용할 수 있는 모듈
  • 외부모듈 -> 별도 설치 후 사용할 수 있는 모듈
  • 사용자모듈 -> 사용자가 직접 만든 모듈

모듈제작

모듈은 특정기능을 가지고 있는 파이썬 파일을 말한다.

모듈 사용

import 키워드를 이용해서 모듈을 임포트 한다

as 키워드를 이용해서 모듈 이름을 단축 시킬 수 있다

from~as 키워드를 이용해서 특정 기능만 사용할 수 있다

실행(메인) 파일

-name- 에는 모듈 이름이 저장되거나 '-main-' 이 저장된다

실습

(모듈)

실행파일

패키지

패키지를 이용하면 관련 있는 모듈을 그룹으로 관리할 수 있다

site - packages

site-packages에 있는 모듈은 어디서나 사용할 수 있다

자주 사용하는 모듈

math 모듈 , random 모듈 , time 모듈

math모듈
sum (합), max (최대값), min(최솟값), pow(거듭제곱), round(반올림), math.fabs(절대값), math.ceil(올림), math.floor(내림), math.trunc(버림), math.gcd(최대공약수) math.factorial(팩토리얼), math.sqrt(제곱근)

객체지향 프로그래밍

객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성된다

객체 = 속성 + 기능

객체 만들기(생성)

객체는 클래스에서 생성된다
(클래스는 1개 객체는 무한대다 : 객채는 클래스를 만들기 위한 틀이다)

객체 사용의 장점

코드 재사용, 모듈화에 좋다

클래스 만들기

클래스는 class 키워드와 속석(변수) 그리고 기능(함수)를 이용해서 만든다

(클래스 앞글자는 대문자로)

객체생성 (객체는 클래스의 생성자를 호출한다)

객체 속성 변경

객체 속성은 변경할 수 있다

객채와 메모리

변수는 객체의 메모리 주소를 저장하고 이를 이용해서 객체를 참조한다

얕은 복사 깊은 복사

얕은 복사 - 얕은 복사란, 객체 주소를 복사하는 것으로 객체 자체가 복사되지 않는다

깊은 복사 - 깊은 복사란, 객체 자체를 복사하는 것으로 또 하나의 객체가 만들어진다

클래스 상속

클래스는 또 다른 클래스를 상속해서 내 것처럼 사용할 수 있다

생성자

객채가 생성될 때 생성자를 호출하면 'init ()가 자동 호출된다

--init--() 가 속성을 초기화 한다 ,

super

다중 상속

2개 이상의 클래스를 상속한다

오버라이딩

하위 클래스에서 상위 클래스의 메서드를 재정의 한다

추상클래스

상위 클래스에서 하위 클래스에 메서드 구현을 강요한다

추상클래스를 사용하는 이유
(어떠한 특정기능을 각자 입맛에 맞게 사용하라)

예외 란?

예외란, 문법적인 문제는 없으나 실행 중 발생하는 예상하지 못한 문제이다

예외 관련 클래스는 Exception 클래스를 상속한다

예외처리
예상하지 못한 예외가 프로그램 전체 실행에 영향이 없도록 처리함 - 발생한 예외에 대해서 별도 처리함

예외 발생 예상 구문을 try ~ except 로 감싼다

try ~ except ~ else (예외가 발생하지 않으면 실행한다)

finally

예외 발생과 상관없이 항상 실행한다

Exception

예외 담당 클래스 Exception

raise

raise 키워드를 이용하면 예외를 발생시킬 수 있다

실습

텍스트파일 쓰기

  • 기본 함수
    1, open(), 2,read(), write(), 3, close() 를 이용한 텍스트 파일 다루기

1,open()
file = open('파일주소', 'w')

2, read()

3, close()

텍스트파일 열기 모드

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

with ~ as문(텍스트 파일)

with ~ as문을 이용하면 파일 닫기(close) 를 생략할 수 있다

ex) with open(uri + '주소', 'r') as f:

실습


writelines()

writelines()는 리스트 또는 튜플 데이터를 파일에 쓰기 위한 함수이다

readines(), readine()

  • readines()
    파일의 모든 데이터를 읽어서 리스트 형태로 반환한다
  • readine()
    한 행을 읽어서 문자열로 반환 한다
profile
2023.04.05시작

0개의 댓글