
# 연산할 숫자 지정하기
class FourCal:
def setdata(self, first, second): # self는 FourCal 자기자신을 받음. 보통 암묵적인 룰이므로 쓰임
self.first = first
self.second = second
a = FourCal() # 클래스 객체 생성
a.setdata(4,2) # 클래스 내부 매서드 호출
a.first , a.second # 할당된 값 확인

class FourCal:
def __init__(self, first, second): # self는 FourCal 자기자신을 받음. 보통 암묵적인 룰이므로 쓰임
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result
def mul(self):
result = self.first * self.second
return result
def sub(self):
result = self.first - self.second
return result
def div(self):
result = self.first / self.second
return result
a = FourCal(4,2) # 호출하면서 값을 바로 넣었다 (4,2)
a.first, a.second

-> 변수가 함수 밖으로 나와도 값을 유지하는 것을 알 수 있다.
a.add(), a.mul(), a.sub(), a.div()

-> 받은 값으로 객체에 개산
class 새클래스명(상속받을 클래스명):class MoreFourCal(FourCal): # FourCal의 기능화 변수를 그대로 받음
def pow(self):
result = self.first * self.second
return result
a = MoreFourCal(4,2) #MoreFourCal 객체 생성
a.pow() # 매서드로 계산

class FourCal:
def __init__(self, first, second): # self는 FourCal 자기자신을 받음. 보통 암묵적인 룰이므로 쓰임
self.first = first
self.second = second
def add(self):
result = self.first + self.second
return result
def mul(self):
result = self.first * self.second
return result
def sub(self):
result = self.first - self.second
return result
def div(self):
result = self.first / self.second
return result
class SafeFourCal(FourCal):
def div(self):
if self.second ==0:
return 0
else :
return self.first/self.second
a = FourCal(4,0)
a.div()

-> 나누기 오류. 나누는 수가 0이므로 부모클래스에서 오류 발생
b = SafeFourCal(4,0)
b.div()

-> div() 매서드가 중복되어 있으므로, 자식매서드로 실행하여 0 출력
가상환경 만들기
conda create --name 가상환경이름 python=원하는버젼
가상환경 지우기
conda env remove --name 가상환경이름
패키지 설치하기
conda install 설치1, 설치2
패키지 지우기
conda env remove 가상환경이름
conda 가상환경 활성화
conda activate 가상환경이름
conda 가상환경 비활성화
conda deactivate
conda 가상환경 내보내기
conda env export > 원하는이름.ymlconda --version
conda --help
conda info
conda update --all
conda clean --all
import 모듈 이름모듈이름.함수명()잘 이해가 되지 않아서 찾아보았다.'인터프리터에서 직접 실행된 경우'에만, if문 이하의 코드를 돌리라는 명령이다. 만드는 이유는 강사님 말대로 실행되는지 실험해보는 것이였다.
1) 프롬프트 화면을 클리어 : cls
2) 프로그램 실행 중이라서, 입력 바가 없을 때 나타내기 : Ctr + c 연타
-> 이 문답을 통해서 생성자가 없을때는 클래스를 호출하고, 클래스를 사용하기 위해서는 해당하는 매서드를 객체에 호출하고 값을 넣은 뒤 사용한다는 것을 알았다. 그리고 그 이유는 클래스 안에서 쓰이는 변수에 값을 지정해줘야하기 때문인 사실도 알았다.
필수 매개변수 : 반지름
기능
원의 겉넓이 계산
원의 부피 계산
👉 해결한 코드
class circle:
def __init__(self, r):
self.r = r
def area(self):
result = self.r * 2 * 3.14
return result
def vol(self):
result = self.r ** 2 * 3.14
return result
a= circle(10)
print(a.area())
print(a.vol())

👉 시간이 남아서 같은 내용을 변수명만 다르게 해봄
# 똑같은데 실험해봄
class circle:
def set_one(self, r): # __init__ 말고 다른 명칭으로 하면 지정해서 따로 넣어줘야함
self.j = r # 매개변수 지정할때 받은값 r을 할당해줘야한다.
def area(self):
result = self.j * 2 * 3.14
return result
def vol(self):
result = self.j ** 2 * 3.14
return result
a= circle() #생성자가 없으므로 괄호 안에 값을 넣으면 오류가난다.
a.set_one(10) # 생성자가 없으므로 매서드를 지정해주고 값을 줘야한다.
print(a.area())
print(a.vol())

-> 생성자가 있으면 번거롭지 않고, 쉽게 매서드를 사용할 수 있다. 생성자가 없으면 호출한번하고, 값을 한번 더 넣어줘야하기 때문
또한 입력된 매개변수가 함수 내부에서 사용되기 때문에 첫 매서드는 없으면 안되는 것을 알았다.