반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Tableu
- 토픽 모델링
- 붕괴 스타레일
- 자연어 모델
- Roberta
- CTM
- LDA
- 코사인 유사도
- 클래스 분류
- KeyBert
- 트위치
- 데이터넥스트레벨챌린지
- 데벨챌
- 데이터리안
- 피파온라인 API
- 블루아카이브 토픽모델링
- NLP
- 블루 아카이브
- 다항분포
- 문맥을 반영한 토픽모델링
- BERTopic
- 포아송분포
- SBERT
- 조축회
- geocoding
- Optimizer
- 옵티마이저
- 구글 스토어 리뷰
- 개체명 인식
- 원신
Archives
- Today
- Total
분석하고싶은코코
(1)-3. Python 중급 본문
반응형
Python 중급 내용 정리. JupyterNotebook 사용.
In [1]:
def multiple2(n):
return 2*n
for i in range(1,10):
print(multiple2(i))
2 4 6 8 10 12 14 16 18
In [2]:
def function1():
print('Function1 Called')
function2()
def function2():
print('Function2 Called')
function1()
Function1 Called Function2 Called
In [11]:
num1 = 10
def function1():
global num1 #전역 변수 함수 내에서 사용하기 위해서 사용. 이후 num1 변경값은 전역변수에 그대로 적용
print('Function1 Called')
print(f'Num1 in Function1: {num1}')
num1 = 30
print(f'Change num1 in Function1 : {num1}')
def function2():
num2 = 0
print('Fucntion2 Called')
print(f'Num2 in Fucntion2: {num2}')
print(f'Function1 before Num1 : {num1}')
function1()
print(f'Function1 After Num1 : {num1}')
#print(f'Function2 before Num2 : {num2}') -- 지역변수 num2로 인해 오류 발생 라인
function2()
#lambda
print('')
#lambda 간단한 함수 설정
lamSum = lambda x, y : x+y
#lambda 정의한 함수 호출
print(f'lambdaSum : {lamSum(1,2)}')
Function1 before Num1 : 10 Function1 Called Num1 in Function1: 10 Change num1 in Function1 : 30 Function1 After Num1 : 30 Fucntion2 Called Num2 in Fucntion2: 0 lambdaSum : 3
클래스¶
In [22]:
class Car:
def __init__(self, color, weight):
self.color = color
self.weight = weight
self.state = 0
def drive(self):
print('주행 변경.')
self.state = 1
print('')
def printCarInfo(self):
print(f'Car Info')
print(f'Color : {self.color}')
print(f'Weight : {self.weight}')
if self.state == 0:
print('정지 상태입니다')
elif self.state == 1:
print('주행 상태입니다.')
else:
print('상태를 알 수 없습니다.')
print('')
myCar = Car('red', 300)
myCar.printCarInfo()
myCar.drive()
myCar.printCarInfo()
Car Info Color : red Weight : 300 정지 상태입니다 주행 변경. Car Info Color : red Weight : 300 주행 상태입니다.
In [21]:
class Car:
def __init__(self, color, weight):
self.color = color
self.weight = weight
self.state = 0
def drive(self):
print('주행 변경.')
self.state = 1
print('')
def printCarInfo(self):
print(f'Car Info')
print(f'Color : {self.color}')
print(f'Weight : {self.weight}')
if self.state == 0:
print('정지 상태입니다')
elif self.state == 1:
print('주행 상태입니다.')
else:
print('상태를 알 수 없습니다.')
class turboCar(Car):
def __init__(self, color, weight, grade):
super().__init__(color, weight) # 색상과 무게 초기화 함수는 부모 클래스에서 구현되어 있기 때문에 자식 클래스에서는 따로 구현하지 않음
self.grade = grade
#Override(덮어쓰기) 터보카에는 상태가 2번까지 있기 떄문에 수정해줘야함
#자식 클래스보다는 부모 클래스에서 수정해주는게 좋음. 2번이 터보모드가 아닐 가능성이 있다면 터보카(자식) 클래스 안에서만 수정해주는게 맞음.
#추가로 표시할 정보가 많다면 자식 클래스에서 수정하는게 맞음.
def printCarInfo(self):
print(f'Car Info')
print(f'Color : {self.color}')
print(f'Weight : {self.weight}')
print(f'Grade : {self.grade}')
if self.state == 0:
print('정지 상태입니다')
elif self.state == 1:
print('주행 상태입니다.')
elif self.state == 2:
print('터보모드 상태입니다.')
else:
print('상태를 알 수 없습니다.')
print('')
myCar = turboCar('red', 300, 'A')
myCar.printCarInfo()
myCar.drive()
myCar.printCarInfo()
Car Info Color : red Weight : 300 Grade : A 정지 상태입니다 주행 변경. Car Info Color : red Weight : 300 Grade : A 주행 상태입니다.
예외처리¶
In [40]:
num1 = 10
num2 = 0
try:
print(f'{num1} / {num2} = {num1/num2}')
except Exception as e:
print('에러가 발생했어요') #에러 발생시 사용자 출력 문구
print(e) #에러 발생시 무슨 에러인지 출력
# 0나누기는 당연히 안되는 것이기 떄문에 시스템적으로 구현이 되어 있음.
# 1로 나누기가 불가능하게 하려면??
# 사용자정의클래스로 에러 함수를 만들어주면됨
class DivisionByOne(Exception):
def __init__(self, str):
super().__init__(f'{str} 로 나눌 수 없습니다.')
num2=1
try:
if num2 == 1:
raise DivisionByOne(str(num2))
else:
print(num1/num2)
except DivisionByOne as e:
print(e)
#예외발생 했을때와 하지 않았을때 + 상관없이 출력
#try 실행하여 오류가 발생하면 except, 발생하지 않으면 else 구문을 실행하고 except,else 구문 실행후 finally구문 실행
try:
zeroDiv = 10/0
notZeroDiv = 10/1
except:
print('Error!')
else:
print('Div success!')
finally:
print('End Try')
에러가 발생했어요 division by zero 1 로 나눌 수 없습니다. Error! End Try
반응형
'Python > 기초' 카테고리의 다른 글
Python 중급 연습문제 (0) | 2022.10.12 |
---|---|
(1)-2. Python 기초 정리 (0) | 2022.10.06 |