본문 바로가기

Python/Python 기초13

[Python] 예외처리 오류의 종류 프로그램 실행 전에 발생하는 오류Syntax Error 괄호 갯수, 들여쓰기 문제 등등 프로그램 실행 중에 발생하는 오류예외, Exception 프로그램 실행 중 function 안에서 줄 단위로 발생 정상 종료 = 0 비정상 종료 = -1 # 입력으로 문자를 넣으면 비정상 종료됨! r = int(input("숫자입력: ")) print('원둘레', r * 3.14* 2) try except 실행시간에 에러가 발생하여 코드가 중단되는 것을 방지할 때 사용 try: 예외가 발생할 가능성이 있는 코드 except: 예외 발생시 처리해야 하는 코드 프로그램이 비정상종료 되는 것만 막으면 된다면 이곳에 아무것도 입력하지 않고 pass만 입력 try: r = int(input("숫자입력: ")) #예.. 2022. 3. 15.
[Python] 파이썬 모듈 사용하기 모듈이란? 여러 코드를 묶어 다른 곳에서 재사용 할 수 있는 코드의 모음 내장모듈 - 파이썬에서 기본적으로 제공되는 모듈 - 다양한 모듈을 제공 문자열(string), 날짜(date), 시간(time), 수학(math), 랜덤(random), 파일(file), sqlite3, os, sys, xml, http 등 약 200개 정도의 다양한 모듈들 제공 - 패키지 전체를 불러와서 사용할 때 파일 가장 윗 줄에 import 함수 구문 입력 - 패키지의 특정 모듈을 사용할 때 파일 가장 윗 줄에 from 모듈 import 함수 - from : 특정 모듈을 지정해서 메모리에 탑재할 때 사용하는 구문 - import : 특정 함수를 지정해서 메모리에 탑재할 때 사용하는 구문 사용자 정의 모듈 - 파이썬에서 기본적.. 2022. 3. 15.
[Python] 상속과 다형성 상속이란? 부모 클래스의 모든 멤버를 자식에게 물려줄 수 있는 것 부모 클래스 → 자식 클래스 일반화 → 특정기능추가 새로운 메서드를 추가 인스턴스에 새로운 속성 추가 기존 메서드 일부를 재정의(redefine,overriding) 다형성이란? 상속받은 메소드의 바디를 덮어쓰기 class Employee: total_count = 0 def __init__(self, name, birthdate, salary): self.name = name self.birthdate = birthdate self.salary = salary Employee.total_count += 1 def show_info(self): print(f'이름: {self.name}, 생년월일: {self.birthdate.get_da.. 2022. 3. 15.
[Python] 클래스 | 정적 메소드, private 멤버 정적 메소드란? 정적 메소드 또는 스태틱 메소드로 혼용 클래스에서 직접 호출할 수 있는 메소드 메소드를 정의할 때 인스턴스 객체를 참조하는 self라는 인자를 선언하지 않음 정적 메소드의 특징 클래스 인스턴스에는 적용되지 않는 메소드 클래스.메소드 명으로 호출 가능 class MyCalc(object): @staticmethod def my_add(x,y): return x+y MyCalc.my_add(3,4) # 7 private 멤버변수란? 클래스 내부의 멤버 변수 중 숨기고 싶은 변수 private 멤버변수 특징 클래스의 내부 변수는 일반적으로 public 속성을 갖기 때문에 외부에서 마음대로 접근하거나 변경 가능 이름 변경 외부에서 접근이 어렵도록 하는 파이썬의 특징 외부에서 클래스 내부의 멤버 .. 2022. 3. 15.
[Python] 클래스 정의와 인스턴스 생성 클래스란? 개발자에게 필요한 새로운 형식을 정의하는 것을 의미 속성과 데이터를 변형하는 함수를 같은 이름 공간에 묶음 인스턴스란? 클래스를 복사해서 생성한 복사본 객체지향프로그래밍의 3가지 특성 1. 추상성 : 꼭 필요한 부분만 구현하는 것 2. 상속성 : 부모 클래스에서 공통부분을 상속받는 것 3. 다형성 : 동일한 인터페이스에 대해 구체적인 인스턴스마다 다른 동작을 할 수도 있는 것 객체 생성 생성자 호출과 초기화 함수가 자동으로 호출된다 객체를 생성하기 위해서 java나 C# 등의 언어가 new 키워드를 사용하는 것과는 다르게 new 키워드를 사용하지 않는다. 대신에 내부적으로 new() 호출과 --> init() 호출이 순차적으로 일어난다 init은 멤버변수 초기화 작업을 위해서 필요하지만 new.. 2022. 3. 15.
[Python] 함수 파이썬 함수의 구조 def 함수명(매개변수): # 함수 선언 # 함수 구현 ... 함수 내에서 전역변수, 지역변수 변경 x = 1 print('전역변수 주소',id(x)) # 전역변수 주소 2984273930544 def func(a): x = 2 print('함수 내부에서 x변수 주소',id(x)) # 함수 내부에서 x변수 주소 2984273930576 return a+x print(func(1)) # 3 print(x) # 1 함수 내에서 x값을 바꿨어도 전역변수로 취급하지 않기 때문에 두 x는 다른 객체임 print('전역변수 주소',id(x)) # 전역변수 주소 2984273930544 가장 위에 선언한 x = 1이라는 전역변수를 초기화하였다. func() 함수 내부에서 x 값을 변경하였지만 함수.. 2022. 3. 12.