[데이터스쿨] 파이썬 중급 학습노트

이주희·2022년 12월 11일
0

학습범위: 파이썬 중급

함수, 인수, 매개변수, 데이터 반환, 지역변수, 전역변수, 중첩함수, lambda 함수, 모듈, 실행(메임)파일, 패키지, site-packages, 객체지향 프로그래밍, 클래스, 생성자, 다중 상속, 오버라이딩, 추상클래스, 예외, try~except~else, finally, Exception클래스, 텍스트 파일, with~as문, writelines(), readlines(), readline()

파이썬 함수

파이썬의 함수는 수학의 함수와 동일하다.
기본으로 제공하는 내장함수와 사용자가 직접 선언하는 사용자함수가 있다.
함수는 특정 기능을 재사용하기 위해 사용한다.

함수 선언

함수는 def 키워드, 함수명, : , 들여쓰기를 이용해서 선언한다.

def addCal():
    n1 = int(input('n1 입력: '))
    n2 = int(input('n2 입력: '))
    print(f'n1 + n2 = {n1 + n2}')
    
addCal()

함수는 선언 후 반드시 호출 해주어야 실행된다.

n1 입력: 2
n2 입력: 3
n1 + n2 = 5

또다른 함수 호출

인수와 매개변수

인수와 매개변수의 개수는 일치해야 한다.

return


함수 실행 결과 반환
return키워드를 이용하여 데이터를 호출부로 반환할 수 있다.
함수가 return을 만나면 실행을 종료한다.
(return 아래 코드 실행X, 바로 호출부로 반환된다.)

전역변수


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

지역변수

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

global


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

중첩함수

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

내부 함수를 함수 잒에서 호출할 수 없다.

lambda

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

모듈

특정 기능을 가지고 있는 파이썬 파일을 말한다.
이미 만들어진 훌륭한 기능으로 사용자는 쉽게 사용할 수 있다.
내부 모듈(기본 내장), 외부모듈(별도 설치), 사용자모듈로 구분한다.


__name__ 전역변수

패키지

자주 사용하는 모듈

math, random, time 모듈

math 모듈

math.fabs(절댓값), math.cell(올림), math.floor(내림), math.trunc(버림) math.gcd(최대공약수), math.factorial(팩토리얼), math.sqrt(제곱근)

time 모듈

lt = time.localtime(현재)
lt.tm_yera(년)
lt.tm_mon(월)
lt.tm_mday(일)
lt.tm_hour(시)
lt.tm_min(분)
lt.tm_sec(초)
lt.tm_wday(요일)

수학 관련 함수

sum(합), max(최댓값), min(최솟값), pow(거듭제곱), round(반올림)

객체지향 프로그리밍

객체(Object) = 속성(Attribute) + 기능(Function)
ex) 계산기 = 숫자 + (덧셈, 뺄셈 등)

객체는 클래스에서 생성된다.

객체 사용의 장점: 코드 재사용, 모듈화에 좋다.

class

객체와 메모리

얕은 복사, 깊은 복사

상속

다중상속

생성자

__init__()

super()

오버라이딩

추상클래스

예외







파일 읽기

파일 모드

파일 모드는 파일을 어떤 목적으로 open 할지 정한다.
'W' : 쓰기 전용(파일이 있으면 덮어씌움)
'a' : 쓰기 전용(파일이 있으면 덧붙임)
'x' : 쓰기 전용(파일이 있으면 에러 발생)
'r' : 읽기 전용(파일이 없으면 에러 발생)

with ~ as문

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

#기존
uri = 'C:/pythonStudy/'
file = open(uri + 'python.txt', 'a')
file.write('hi')
file.close()

#with ~ as문
with open(uri + 'python.txt', 'a') as f:
	f.write('hi')
#기존
uri = 'C:/pythonStudy/'
file = open(uri + 'python.txt', 'r')
print(file.read())
file.close()

#with ~ as문
with open(uri + 'python.txt', 'r') as f:
	print(f.read())

writelines()

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

readlines()

readline()

주차별로 학습노트를 작성하려다가 더 깔끔하게 기록하고 싶어서 파트별 포스팅으로 수정했다. 예전부터 코딩을 잘하는 사람이 되고싶다는 막연한 생각이 있었고, 열심히 해보기도 전에 한계를 느껴서 다른 분야를 고민해왔다. 물론 뭐든 잘하고 싶고 뭐든 배우고 싶은 내 욕심이 그동안 한 분야를 깊게 파지 못한 가장 큰 요인이었지만 이번만큼은 흔들리지 말고 끝까지 완주해보겠다는 생각으로 임하고 있다.

profile
데이터 입문자

0개의 댓글