점프 투 파이썬 5강 - 파이썬 날개 달기

Jongsung Shin·2021년 3월 26일
0

조코딩 Python

목록 보기
6/8

Immutable( 변하지 않는 자료형)
(정수, 실수, 문자열, 튜플-변하지 않는다)

a = 1
def vartest(a):
a = a + 1

vartest(a)
print(a)

mutable(변하는 자료형)
(리스트, 딕셔너리, 집합)

b = [1,2,3]
def vartest2(b):
b = b.append(4)

vartest(b)
print(b)

클래스
모듈, 패키지,
예외 처리,
내장 함수, 외장 함수

클래스(Class)

변수(result) & 메서드(함수)를 미리 정해놓은 틀(설계도)

클래스는 도대체 왜 필요한가?
함수랑 변수가 똑같은 구조를 계속 여러번 써야되니까 이거 는 하나로 묶어서 그냥 설계도로 만들어보자! 해서 만든 것이 class

클래스를 쓰는 방법!
1. Class 입력
2. 대문자로 시작하는 클래스의 이름을 작성
3. 안에 들어갈 함수와 변수 설정

class Calculator:
	def _init_(self):
    	self.result = 0 
    
    def add(self, num):
    	self.result +=num
        return self.result

cal1 = Calculator()
cal2 = Calculator()

print(cal1.add(3))
print(cal1.add(4))
print(cal1.add(3))
print(cal1.add(7))

클래스라는 설계도를 만들고 그거를 똑같은 걸 여러 개 찍어낼 때 사용한다
과자틀 같은 느낌.
과자 틀(클래스)와 이 틀로 찍어 만든 과자(객체)

a가 셀프인 것. npc 설계도? 여러개의 객체들을 만들 때사용.

class FourCal:
def stdata(self, first, second):
self.first = first
self.second = second

a = FourCal()
a. FourCal(1,2)
print(a.first)
print(a.second)

class FourCal:
def stdata(self, first, second):
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result

a. FourCal()
a.setdata(4,2)
print(a.add())

class FourCal:
def init(self, first, second):
self.first = first
self.second = second
def stdata(self, first, second):
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result

a = FourCal(1,2)

실행하면서 시작하는 게 init(생성자)이다. 맨 앞에 쓰는 것이 관례이다. 모든 클래스마다 한 번 만 써주면 된다.

클래스의 상속

class FourCal:
def init(self, first, second):
self.first = first
self.second = second
def stdata(self, first, second):
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result

class MoreFourCal(FourCal):
pass

a = MoreFourCal(4,2)
print(a.add())

부모가 만든 거는 자식이 상속받으면 다 똑같이 쓸 수 있다.
상속은 기존에 짠 class를 활용하기 위해서 쓴다.

class FourCal:
def init(self, first, second):
self.first = first
self.second = second
def stdata(self, first, second):
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result
class MoreFourCal(FourCal):
def

부모이기는 자식 없다. 자식 함수가 부모함수를 이긴다. 메서드 오버라이딩 . 부모의 함수를 덮어 씌운다.

공통으로 쓸 때는 클래스 변수를 쓰고
각각 객체마다 다르게 줘야 될 때는 객체 변수를 쓴다.

모듈이란?

= 미리 만들어 놓은 .py파일
(함수, 변수, 클래스)

import는 불러오는 것.

model.py 에
def add(a,b):
return a+b
def sub(a,b):
return a+b

import model
print(model.add(1,2))

from model import add
이런식으로 특정함수만 간편하게 불러오기 가능.

같은 폴더에 있으면 import가능. 만약에 하위폴더 안에 있으면 찾을 수가 없다.

sys.path.append 라고 path 해줘야함.

import sys
sys.path.append("c://windows// ~~)

if name=="main"
이런 언더바들은 다 특별한 의미를 가진다.
name의 경우, 현재 그 실행하는 파일이 실행하는 파일이면 메인이라는 게 들어와서 구분지을 수 있다.

조금 헷갈릴 수 있는 개념인데
python mod1.py 명령어를 입력하여 실행시킨다고 하면 시작 지점이 "mod1.py"(현재 그 파일)인 것이고 그때만 name == main이 됩니다.
다른 파일에서 import 하는 방식으로 코드를 작동시키게 되면 name은 다른 것이 되어 main이 되지 않습니다!

패키지란?

=모듈 여러 개 모아놓은 것 = 웹크롤링할 때 필요한 beatifulsoup 같은 것

from game.sound.echo import echo_test as e
e()

as ~로서 e 를 쓰면 축약해서 쓰기 가능

from game.sound.echo import *
echo.echo_test()

(*)를 쓰면 싹다 불러오라는 뜻

모듈들을 다 가져온다.

예외처리

오류가 발생했을 때 어떻게 할지 정하는 것
try:
#오류가 발생할 수 있는 구문
except Exception as e:
#오류 발생. 오류 잡기. 어떤 오류든 다 잡힌다
else:
#오류 발생하지 않음
finally:
#무조건 마지막에 실행

내장함수

파이썬에서 기본적으로 포함하고 있는 함수,
ex) print(), type() 같은 것
abs => 절대값
all => 모두 참인지 검사
filter => 함수를 통과하여 참인 것만 돌려줌
len => 길이
list => 리스트로 변환
map => 각 요소가 수행한 결과를 돌려줌
sorted => 정렬
필요할 때 구글링해서 찾아쓰면 된다. 외울필요 X

외장함수

라이브러리에 있는 것을 가져다 import해서 쓰는 것
beautifulsoup 같은 것
pickle => 데이터 형 그대로 저장해주는 라이브러리
타임, 타임슬립, 랜덤, 웹브라우저 등
한 번 쓱 보고 필요할 때 아 이게 필요하구나 이럴 때 찾아서 쓰면된다.

https://wikidocs.net/27

profile
사장님

0개의 댓글

관련 채용 정보