Programming Language41 [파이썬] DAY7 파일 & 객체 입출력 1. 텍스트 파일 입출력 메모리에 전적으로 데이터를 저장하면 안되는 이유 1) 저장 용량이 적다. 2) 휘발성: 전원이 꺼지면 데이터 날아간다. → 보조기억장치로 하드 디스크에 데이터를 저장한다. 하드 디스크 ←→ 메모리 데이터 주고 받는 방식 경로를 설정한다. EOF(end-of-file): 마커의 위치 위치 표시자(position indicator): 입출력하는 위치 텍스트 파일: '\n'(공백 문자)으로 끝지점을 인식한다, 텍스트 데이터로 되어 있는 파일만 가져올 수 있다. 프로그래밍은 메모리 기준으로 봐야한다. 파일에 데이터 저장: 메모리 기준으로 데이터 출력(메모리에 들어옴) 파일 데이터 읽어옴: 메모리 기준으로 데이터 입력(메모리에서 나감) 컴퓨터는 텍스트를 ASCLL 또는 유닛커드로 바꿔서 .. 2022. 1. 24. [파이썬] DAY7 입학 시험 마지막 문제 클래스로 풀어보기 오늘 배울 것들 예외 처리 파일 입출력 6가지 자동차 정보가 주어져 있고, 자동차 정보 하나 당 객체로 구현하기 6가지 기능이 동작하기만 하면 된다. 3번 같은 경우 내가 원하는 자동차 이름 입력하고 존재하면 가격 출력 없으면 목록에 없는 자동차 입니다. 출력 리스트가 아닌 클래스로 작성하면 좋은 이유 리스트로 작성하면 lst[0], lst[1] ... 등 다른 사람이 코드를 리뷰할 때 각 인덱스가 어떤 항목을 의미하는지 알아보기 어렵다. 클래스로 작성하면 a.name로 하면 된다. 제약 조건 은닉성 함수화 프로그램 내가 직면했던 문제는 각각의 자동차의 이름으로 인스턴스를 만들고 싶은데 어떻게 입력된 이름값으로 인스턴스 이름을 쓸 수 있을까.. while 할 때 else를 꼭 넣는 연습을 하자 그리고 b.. 2022. 1. 24. [파이썬] DAY6 다형성 1. 다형성 오버라이딩 다형성 : 다양한 형태를 갖는 성질 동일한 동작을 다르게 동작하도록 한다. 메소드 오버라이딩(Method Overriding) 메소드 무시하기 부모(슈퍼) 클래스의 메소드를 무력화 한다. 항상 자식(서브) 클래스에 오버라이딩한 메소드가 실행되도록 보장된다. 오버라이딩 조건 같은 메소드를 호출한다. 부모 클래스 메소드의 원형(메소드 이름, 인자 타입 및 개수) 동일하게 작성해야 한다. 2. 연산자 오버로딩 교재 476p 오버로딩은 다른 함수(+ 연산의 함수가 달라진다. int 덧셈 연산자가 아닌 object 덧셈 연산자로 작요한다.) 오버라이딩은 같은 함수(다른 내용이지만 같은 함수로 동작한다.) 파이썬에서 같은 이름 , 같은 매개변수를 쓰면 같은 함수가 되므로 오버로딩은 없다. 따.. 2022. 1. 21. [파이썬 ] DAY6 상속 관계 3가지 집합관계 사용관계 상속관계 1. 상속 * 상속을 쓰는 이유부모 클래스를 재사용해서 자식 클래스를 빨리 개발 가능하다. 부모의 멤버를 수정하면 상속된 자식들도 자동적으로 바뀌므로 유지보수가 변하다.객체 다형성 구현이 가능해진다. 현실 세계처럼 자식은 부모가 가지고 있는 멤버를 물려받는다. 현실과 달리 자식은 물려받은 멤버를 선택할 수 있다. new(cls) 는 다루지 않을 거임. 클래스 초기화 자식 객체를 만들면 자동으로 부모가 생성된다.(new(cls)) 자식의 객체를 만들면 부모의 생성자(init(self))는 동작하지 않는다. ↓ 2/8 까지 파이썬할 것임 Numpy 다룰 것임(기능 + 쓰임) SLAM ROS 할 때 수학적 접근 안 할 것임. 그래도 선형대수학 공부하자 (트랜스포즈, 역행.. 2022. 1. 21. [파이썬] DAY6 복습 인스턴스 : 클래스에서 만들어진 객체 다음주는 쓰레드 관련한 것들, 멀티쓰레드 https://dojang.io/mod/page/view.php?id=2427 파이썬 코딩 도장: 42.1 데코레이터 만들기 Unit 42. 데코레이터 사용하기 파이썬은 데코레이터(decorator)라는 기능을 제공합니다. 데코레이터는 장식하다, 꾸미다라는 뜻의 decorate에 er(or)을 붙인 말인데 장식하는 도구 정도로 설명할 수 있습 dojang.io @classmethod 는 무엇일까 데코레이터 함수(메서드)를 장식한다는 의미로 기본 서식을 준다. 시작점이 클래스인지 클래스 필드인지 다르다. 이론적으로는 클래스는 정적할당이라고 가정하지만(공부하기 쉽기 위해서) 실제로는 클래스도 또 다른 객체이므로 동적할당이다. 은닉.. 2022. 1. 21. [파이썬] DAY5 코딩확인 문제 20번 점검 7가지 정보를 하나의 객체가 가지고 있어야 한다. -> 인스턴스 필드 1. 클래스로 문제풀기 class Car_data: def __init__(self,이름="", 엔진가격=0, 타이어가격=0, 옵션유무="", 옵션이름="", 최고속도=0): self.이름 = 이름 self.엔진가격 = 엔진가격 self.타이어가격 = 타이어가격 self.옵션유무 = 옵션유무 self.옵션이름 = 옵션이름 self.최고속도 = 최고속도 self.구매가격 = 엔진가격 + 타이어가격 c1 = Car_data() # 차 한대의 정보를 담은 객체 c1.이름 = "자동차" c1.엔진가격 = 400 c1.타이어가격 = 100 c1.옵션유무 = "있음" c1.옵션이름 = "썬루프" c1.최고속도 = 300 c1.구매가격 = c1.엔.. 2022. 1. 20. [파이썬] DAY5 클래스 클래스: 객체 만들려고 존재한다. 객체의 아이덴티티는 동적 할당된 이름이 없는 변수이므로 주소로 구분한다. 이름은 두 개 인데 객체는 하나인 경우를 설명한다. 클래스 : 붕어빵 틀 객체 : 붕어빵 필드 : 붕어빵 속 앙금 객체는 이름이 없다. 리스트, 딕셔너리의 기본 호출법은 즉 클래스를 호출하여 list 객체를 만드는 과정이다. : int라는 클래스로 만든 객체임을 의미한다. 1. 클래스로 인스턴스 생성하기 객체를 아직 찍어내지 않았는데도 데이터가 나온다. 용어 정리 cls: 클래스를 지칭하는 약어로 해당 클래스를 지칭한다. self: 자기 자신, A라는 클래스로 만들어진 인스턴스를 지칭한다. 인스턴스 메소드: 인스턴스 안에 있다. 인스턴스가 생성되어도 접근할 수 없으면 쓸 수 없다. 올바른 호출 2... 2022. 1. 20. [파이썬] DAY5 객체 지향론 * 객체지향을 사용하는 이유 코드의 재사용성이 높고 코드의 관리가 쉬워진다.(상속이라는 개념이 있기 때문에 통합 관리가 쉬워졌다.) 1) 소프트웨어의 생산성 향상: 기 작성된 코드를 재사용할 수 있으므로 생명 주기 단축 문제를 해결해준다. 2) 실세계에 대한 쉬운 모델링: 과거 수학 계산, 통계 처리 등 순서대로 풀어야 하는 알고리즘 뿐 아니라 실세계의 객체를 중심으로 하는 객체 지향 언어가 세계를 모델링하기 쉬워졌다. 3) 부품별로 나눠져있기 때문에 오류가 나도 부분만 고치면 된다. 객체지향의 4대 성질 캡슐화(은닉성) 상속성 다형성 추상화 cf) 객체는 인스턴스랑 같다. 객체는 인스턴스와 다르다. 둘 다 맞는 표현 객체 지향 특징 1) 객체들의 상호작용이 중요 서로 데이터를 주고 받는다. 객체가 가지.. 2022. 1. 20. [파이썬] DAY3 그 동안의 개념으로 문제 풀어보기 다음 수업 메모리 영역 2022. 1. 20. 이전 1 2 3 4 5 다음