python 69

[numpy] 1차원 배열 - 벡터

1차원 벡터 s,ndim => 1 (1차원) s.shape => (요소의 개수(열 개수), ) s.dtype => ndarray 에 저장된 요소의 타입을 반환 정리 1. np.array(리스트) 이용해서 1차원 배열(벡터) 생성이 가능하다. 2. 반드시 동일한 타입을 지정해야 된다. 타입이 다르면 일치 시킨다. ( upcasting ) 3. 정수는 기본이 4byte인 int32이고 실수는 기본이 8byte인 float64이다. 4. 차원 정보는 ndim, 모양은 shape, 저장된 데이터타입은 dtype 으로 알수 있다. ''' import numpy as np # numpy의 별칭은 np # 1. 1 차원 배열인 벡터 생성 , np.array(리스트) x = [1, 2, 3] s = np.array(x..

python 2022.09.28

[python] 파일 처리

-파일 읽기 open 으로 열면 파일 스트림을 반환한다. read() : 파일 전체 내용을 한 번에 읽어온다. 따라서 각 행을 하나씩 처리하기보다는 파일 전체의 내용을 다루어야할 때 사용함 readline() : 파일의 내용을 한 줄씩 읽어옴 파일에 몇 줄이 있는지 모름 , while 문과 함께 써주어야함 readlines() : 파일의 내용을 한 줄씩 리스트 형태로 가져옴. ''' 파일 포맷 종류 1. .txt 파일 읽기/ 쓰기 2. .csv 파일 읽기/ 쓰기(,(쉼표)로 구분된 문자열 의미) 예> 홍길동,20,서울 .json 파일 읽기/쓰기 (json:javascript object notation, 자바스크립트에서 사용하는 객체 표현식, 매우 범용적으로 사용됨) ==> 현재 사용중인 프로그램 언어의..

python 2022.09.28

[python] 예외 처리

* 예외처리 ① 예외 (exception) 일반적으로 '에러' (error) 라고 부름 에러가 발생하면 프로그램이 비정상적으로 종료된다. ②예외 처리(exception handling) 문제 발생 코드를 수정하는 것이 아닌 그 이후의 코드를 이용하여 끝까지 프로그램이 실행될 수 있도록 한다. ''' 예외 처리 ''' print("1>") n = 0 result = 50 / n print("result", result) print("end 정상종료") 위 프로그램을 실행하면 ZeroDivisionError가 발생하기 때문에 end 정상종료가 출력되지 않고 비정상 종료된다. print("1>") try: n = 0 result = 50 / n print("result", result) except Arith..

python 2022.09.27

[python] 강제성 부여 추상클래스 | 매직 메서드

''' 추상 클래스 ( abstract class ) 1. abstract(추상적) 의미: 구체화되지 않음을 의미 2. 특징: - 메모리에 못 올라간다. 즉, 객체생성이 불가능하다. - 추상 메서드(abstract method)를 갖는다. ==> 자식클래스에서 반드시 사용해야 되는 메서드를 추상메서드로 만든다. (강제성 부여) @abstractmethod def eat(self): pass ==> 상속받은 자식클래스에서 부모의 추상메서드를 반드시 재정의해야 자식을 객체생성할 수있다. 3. 문법 from abc import ABC, abstractmethod class Pet: ==> 일반클래스 ==> p = Pet() #객체생성 가능 class Pet(ABC): ==> 추상클래스 ==> p = Pet()..

python 2022.09.26

[python] class 메서드 오버라이딩

''' 오버라이딩(overriding) 메서드 개념: 부모에 있는 메서드를 그냥 사용하지 않고 수정(재정의)해서 사용한 메서드 의미. 목적: 재사용 class Pet: def a(self): print("hello") class Cat(Pet): * 아쉬운 점은 강제성이 없다. 자식으로 이전처럼 자기 마음대로 메서드를 만들어서 사용해도 무관. ===> 해결: ( python: 추상 클래스 ) (자바: 추상클래스 ,인터페이스 ) ''' print(type('str'), type(10)) class Pet: def __init__(self, username, age): # 공통적인 속성을 추출해서 부모인 Pet에서 선언 # 공통적인 속성 추출 self.username = username self.age = ..

python 2022.09.26

[python] class 상속 (inheritance)

클래스 상속 ''' 상속 ( inheritance ) ''' # 애완동물 관리 어플리케이션 개발중입니다. ( 강아지와 고양이, 새, 거북이, ....... ...) ''' 고양이 ======================> Cat 속성: 이름, 나이 ,성별 =========> 인스턴스 변수 ( 생성자 이용해서 초기화 ) 동작: 먹기, 자기, 뛰기 =========> 메서드 강아지 =========================> Dog 속성: 이름, 나이, 색상 =========> 인스턴스 변수 ( 생성자 이용해서 초기화 ) 동작: 먹기, 자기, 수영 ========> 메서드 ''' class Cat: def __init__(self,username, age, gender): self.username = u..

python 2022.09.26

[python] 클래스 변수 | 클래스 매서드

''' 클래스 변수 1. 메서드 밖에서 선언한 변수 의미 2. 프로그램 실행 시 생성 ~ 프로그램 종료시 제거된다. 3. 객체 생성과 무관 4. 참조는 클래스명.클래스변수 형식으로 사용한다. 5. 용도는 누적용(여러 인스턴스가 공유해서 누적하면서 사용하는 용도) ''' class Cat: x=10 def __init__(self,name,age):# 인스턴스 메서드 ==> 객체 생성후에 사용가능하다. self.name=name self.age=age def cum_up(self): #인스턴스 메서드 ==> 객체 생성후에 사용가능하다. Cat.x=Cat.x+1 self.age=self.age+1 print(Cat.x)# 클래스 변수는 객체생성과 무관하다. # 객체 생성 c1=Cat("야옹이",2) c1.c..

python 2022.09.26

[python] class 중간 정리

''' 분석단계 고양이객체 추출 ===============> 클래스 속성: 이름, 나이, 성별,.. =====> 인스턴스 변수 동작: 먹기(), 자기(), 나이변경(),.... =======> 인스턴스 메서드 실제 고양이 2마리 이름: 야옹이 나이: 2 성별: 암컷 이름: 나비 나이: 3 성별: 숫컷 ''' ''' 1. 로컬변수 => self없는 변수들 => 용도: 임시적으로 임의의 값을 저장하는 용도 => 메서드 호출할때마다 생성 ~ 메소드 실행이 끝날때 제거 2. 인스턴스 변수 => self있는 변수들 => 용도: 고양이(객체)의 속성 정보저장( 이름, 나이, 성별) => 객체 생성마다 매번 생성 ~ 객체 소멸할때 제거 * 객체소멸 시점? ==> 참조하는 변수가 없을 때 ''' class Cat: ..

python 2022.09.26