목록전체 글 (212)
** 오늘은 너무 졸려서 그만 공부하고 싶기 때문에 필자가 좋아하는 볼링공에 대한 클래스를 생성하고, 마이볼을 객체로 생성해보겠다. 이름 , 퍼포먼스, 커버스탁, rg, diff, 가격등이 주요한 기능/속성으로 정의되기 때문에 그정도만 하겠다. ** 잘맞는 코어 종류나 지공 까지는 모르니까 그냥 고려하지 않겠다. ** 볼링은 정말 재밌다 ** 아무튼, 이미 선언했던 객체일지라도 도트할당연산자를 통해 속성은 변경할 수 있다. ( 수정할 수 있다 ) object_name.attribute_1 = "renewal information input" ** 클래스 선언 및 기능 / 속성 정의 ( 예시에서는 피곤해서 구체적으로 안함 ) ** self.attribute1 ..... self.attribute2.... ..
** 클래스는 class 키워드(=클래스 선언)와 속성(=변수) 기능(=함수)를 이용해서 만든다 ** 관례상 클래스의 첫 알파벳은 대문자로 입력한다
** 객체를 이용한 프로그램으로 객체는 속성과 기능으로 구성된다. ** 객체는 우리 주변에 존재하는 그 모든것이 대상이 될 수 있다. 프로그래밍 적으로 바라본 것. ** '객체'라는 것을 소프트웨어 상에서 구현하기 위해 객체의 속성과 기능을 정의한다. ** 객체(Object) = 속성(Attribute) + 기능(Function) 계산기 -> 속성 : 숫자 -> 기능 : 덧셈, 뺄셈 마우스 -> 속성 : 색상, 크기, dpi 등등 -> 기능 : 입력(좌/우 클릭, 스크롤, bw, fw 등등) ** 객체는 클래스에서 생성된다 . 클래스는 객체를 만들기 위한 하나의 '틀'이다. 명령을 통해 클래스에서 객체들을 생산한다. ex) 피자 클래스 -> 아이리쉬 포테이토 객체 -> 올미트 객체 -> 슈퍼 파파스 객체..
** 예외란, 실행 중 발생하는 예상하지 못한 문제이다. 예외가 발생하면 발생장소를 기점으로 실행이 중단된다. ex) ZeroDivisionError : division by zero > Arithmetic Error 산술적 에러 / Environment Error 환경 에러 / LookupError / Syntax Error구문에러 대표적으로는 zerodivisionerror / IOError / IndexError / IndentationError(들여쓰기 ) ** exception 클래스 : 예외를 담당하는 클래스 except Exception as e: print(f'{e}) 로 어떤 에러인지 에러의 종류를 확인할 수 있음 ** raise Exception("user input details")키..
** 텍스트 파일 -> open(열기) -> read(읽기) / write(쓰기) -> close(닫기) ** 텍스트 파일 쓰기 : 텍스트 파일은 외부자원이기에, 오픈할 경로를 명시해야 한다 , 기본경로 + 파일명.포맷 식으로 지정해놓으면 편하다 ** encoding 오류 시, open("path", read type, encoding="encoder -> txt file 에 맞는 포맷") 'r' : read mode, 읽기 전용 'w' : write mode, 해당 파일이 없으면 텍스트 파일을 생성 , 새로 쓸때 이어쓰기를 설정하지 않으면 매번 새로 쓰게 된다 file.write() file.close()
** 패키지를 이용하면 관련 있는 모듈을 그룹으로 관리할 수 있다. ** 디렉토리를 통해 편하게 그룹으로 묶어서 관리, calculatingmodules. add.py -> sub.py -> div.py -> mul.py ** site - packages 에 있는 모듈은 어디서나 사용할 수 있다 ** sys 모듈을 사용하여, sys.path 파이썬 경로에 있는 폴더들을 확인해본다. ** venv or library안 site-packages경로가 있고, 여기에 패키지를 옮길 경우, 디렉토리가 달라도 범용적으로 모듈을 사용할 수 있다. ** 경로는 설정마다 다를 수 있다, 앞에는 /users/userid/가 붙어있었다 ** venv가 경로명에 포함된 경우 독립적인 가상공간에서 작업중인 것 ** site-p..
** 모듈이란 : 이미 만들어진 훌륭한 기능으로 사용자는 쉽게 사용할 수 있다. ** 반복되는 업무를 처리할 때 모듈을 만들어 놓으면 요긴하다 ** 모듈구분 내부 모듈 : 파이썬 설치 시 기본적으로 사용할 수 있는 모듈 외부 모듈 : 별도 설치 후 사용할 수 있는 모듈 사용자 모듈 : 사용자가 직접 만든 모듈 ** 모듈 제작 : 확장자 .py로, 파이썬 파일을 만들어 놓는 것이다. ** 모듈 사용 ( import, from, as ) import 모듈명 모둘명.기능
** 쉬운 개념 : 함수 선언을 간단하게 할 수 있는 방법 ** 람다란? 수학적으로는 고차 함수의 인자를 지정하거나 추상화를 할 때 쓰인다. 통계적으로는 명목변수간의 상관계수의 크기를 비교할때 쓰이는 등 많은 곳에서 다른 방식으로 사용하고 있다. 사회과학 학부에서 논문을 읽을때 자주 보던 녀석이다. 필자는 수학적으로는 지식이 없다. 프로그램에서는 익명 함수(anonymous function)을 지칭하는 용어로, 코드의 간결함, 지연 연산을 통한 퍼포먼스 향상, 이터레이션 코드 구현의 깔끔함 등 상당히 요긴한 녀석이다. ** 사용 방법 : 사용자 정의 함수의 경우 함수를 선언할 때, def 함수명(변수1,변수2..): \n return(변수1 + 변수2 + ..) 이런식이였다면 람다 함수를 사용할 경우 함..
** 함수 안에 또 다른 함수가 있는 형태. 함수 밖에서는 중첩된 함수를 호출할 수 없다. 왜냐? 함수안에서만 정의된 함수니까. 좌측 부터 우측 까지 상하단 모두 1 > 2 > 3 1. 함수를 호출하였으나, 내부에 있는 중첩함수를 호출하지 않은 상태 -> 중첩된 함수는 호출되지 않음 2. 함수를 호출하였고, 내부의 중첩함수도 함수 안에서 호출한 상태 -> 중첩된 함수도 호출됨 3. 함수를 호출하였고, 추가적으로 함수 내부의 중첩 함수를 외부에서 호출한 상태 -> 해당 부분은 not defined (정의되지 않았다) 오류. ** 중첩문 실습 사용자 정의 함수 def안에 중첩함수 def를 만들고 , input조건을 받아 if문과 elif문을 중첩하여, 호출된 조건문 결과로 중첩함수 def()실행
** 전역 변수 : 함수 밖에 선언된 변수로 어디에서나 사용은 가능하지만 함수 안에서 수정할 수는 없다. 변수를 선언하고 값을 1 할당 > 함수 안에서 2로 값을 할당 > 함수를 호출했을때만 바뀐 값이 출력 > 기본적으로 선언한 변수값은 불변 ** 지역변수 : 함수 안에 선언된 변수로 함수 안에서만 사용 가능하다. ( 전역 변수와 반대개념 ) ** global 키워드 : 지역 변수만 지정할 수 있는 함수 내에서 전역 변수를 수정하고 싶을때 global 변수명 (들여쓰기) 변수명 = 할당 기존에는 함수 내에서 변수를 수정하면 지역변수로 선언이 되어 바뀐 값이 함수 내에서 호출했을 경우에만 출력 됐다. 하지만 global 변수명을 시행하고 나서 함수를 호출하고 난 뒤, 함수 밖에서 전역 변수를 호출했을 때도..