파일 입출력 파일열기 모드종류 r /rb (읽기모드 - 파일을 익기만 할 때 사용) r+/rb+ (파일을 읽고 쓸 경우 사용) w/wb (쓰기모드 - 파일에 내용을 쓸 때 사용) a/ab (파일을 읽고 쓸 경우 (기존 파일은 삭제)) a+/ab+ (파일끝에 추가 (읽기도 가능)) 그림1-1 그림1-1은 파일을 생성하는 방법이고"w" 모드를 이용하였다. 파일을 불러올때는 open을 이용하며 open의 ( )안에 파일이름, 그리고 확장자와 모드를 적어준다. 대표적인 모드는 'r'과 'a', 'w'가 있는데 w을 사용해보았다. 그리고 마지막엔 close( )로 입력을 마무리 해야한다. 정수, 실수등은 안되며 문자열만 가능하다. 그림1-2 그림1-1을 보면 출력창에 아무것도 뜨지 않지만 파일을 만드는 입력문이라..
연산자 오버로딩 연산자를 객체끼리 사용할 수 있게 하는 기법 그림1 그림1은 연산자 오버로딩을 기본적으로 출력해 보았다. __add__는 객체끼리 더하기를 할때 사용하는것이고 __sub__는 객체끼리 뺄셈을 이용할 때 쓰는 것이다. 그림2 그림2는 연산자 오버로딩의 다른 방식으로 출력해보았다. __add__와 __sub__의 뜻이 더하기와 뺄셈이라면 __truediv__와 __mul__은 나눗셈과 곱셈으로 생각하면 된다. a와 b의 값은 쉽게 서브에 있는 self와 aoa로 구분하면 알기 쉽다. 그림3 그림3은 연산자 오버로딩과 상속을 이용해서 뽑아 본 출력문이다. 단순히 계산하는 방식도 있지만 그림3처럼 %d를 지정해서 문제를 풀듯이 출력하는 것도 가능하고 상속을 이용하여 쉽게 출력 할 수도 있다.
상속 클래스를 하나 만들고 그 클래스를 이용하여 여러개의 클래스를 만들 수 있다. 부모클래스에서 자식클래스로 상속을 받는 개념 그림1 그림1은 간단한 클래스를 하나 만들어 보았다. 이 클래스는 부모 클래스이고 이제 이 부모 클래스를 이용하여 자녀 클래스를 만들어 상속받고 나아가 내용도 추가 해 보겠다. 그림2 그림2는 부모클래스를 이용하여 자녀클래스를 2개를 만든 것이다. 부모클래스는 기본적으로 (멤버변수, 메소드, 생성자)를 가지고 있으며 이것을 자녀클래스한테 그대로 넘겨주며 추가로 추가요소를 준다. 자녀 클래스로 받기 위해서는 그림2와 같이 클래스를 하나 만들고 ( )안에 상속받을 클래스 이름을 적기만 하면 된다. 그림3 그림3은 부모클래스의 내용을 자식클래스가 상속을 받고 그 자식클래스를 수정해보았..
생성자 인스턴스가 생성 될때 호출되는 인스턴스 초기화 메서드 객체가 만들어질때, 클래스가 인스턴스화 될때 가장 먼저 실행되면서 가장 먼저 초기값이 설정이 된다. 그림1 book라는 클래스를 만들고 클래스변수,멤버변수없이 메소드만 만들어 보았다. 매게변수로 올리지 아니하더라도 self는 넣어줘야 한다. self는 객체, 인스턴스를 가리킨다. 그림2 그림2는 생성자를 이용하여 class를 만들어 보았다. 생성자를 만들때는 def에 __init__를 적으며 뜻은 초기화를 한다는 뜻이다. class를 만들면서 매게변수 값을 입력한다고 생각하면 되고 그 덕에 메소드 하나가 줄어든것을 알 수 있다. 그림3 그림3은 소멸자라는 기능을 이용하여 객체를 지우는 것을 보여준다. 생성자는 인스턴스화 할때 가장 먼저 실행되고..
클래스와 객체 클래스의 인스턴스 클래스를 만들고 만들어진 클래스를 실제로 사용하기 위해서 인스턴스 즉 객체화 해야한다. 클래스변수와 인스턴스변수 클래스 변수는 클래스의 이름 공간에 생성하며 모든 인스턴스 객체에 의해서 공유 될 수 있고 인스턴스변수는 인스턴스 객체의 이름 공간에만 생성되며 가각의 인스턴스 객체 내에서만 참조된다. 그림1 그림1은 class을 이용하여 출력해본것이다. 함수같은 경우는 새로운 객체를 출력할때 처음부터 하나 하나씩 새로 만들어야 하지만 class같은 경우는 하나의 class를 만들면 거기서 여러개의 객체를 뽑아서 사용가능하다는 것이다. 위 그림1처럼 user1, 2, 3을 한 class안에서 뽑아서 사용하였다. 그림2 그림2는 stso 및 park라는 객체를 이용해서 변수와 매..
함수 그림1-1 간단한 함수를 만들어 보았다. 그림1에서보면 a와 b가 있는데 거기 짝에 맞게 num1, num2를 지정해주었고 변수로 만들어 출력해보았다. 그림1-2 그림1-2는 그림1과 같은 출력이지만 조금 더 편하게 해보았다. bigernum( )의 소괄호는 가 인수라고 불리며 res라는 변수에 들어가는 bigernum( )안의 소괄호는 실 인수라고 불리운다. 그 뜻은 가 인수는 형식적으로 받아주는 역할을 할뿐 실제로는 실 인수, 즉 실제로 받아주는 역할을 하는 실 인수가 하는 것이다. 그래서 그림2와 같이 간단하게 숫자를 입력해 큰 수를 받아낼수 있다. 그림2 그림2는 가변인자를 이용한 출력방식이다. 가변인자란 보통 함수안에 들어 갈 수 있는 입력값을 정하지만 가변인자를 사용 할 경우 입력값의 갯..
함수 어떤 특정한 기능을 수행하는 명령어들의 묶음, 묶음의 단위 함수를 사용할 경우 재사용성이 향상되고 에러수정이 용이하며 전체적인 코드의 안전성이 향상된다. 함수의 형태 입력값, 결과값이 모두 있는 함수 11 입력값, 결과값이 모두 없는 함수 00 입력값만 있고, 결과값이 없는 함수 10 입력값이 없고, 결과값만 있는 함수 01 뭐가 옳고 그름이 아니라 함수의 형태는 네가지가 있다라는 것을 알려주기 위해 네가지로 표현한 것이고 뒤에 숫자 01은 외우기 쉽게 숫자로 표현한 것이다. 입력값, 결과값이 모두 있는 함수 그림1 그림1은 입력값, 결과값이 모두 있는 함수형태를 출력해 보았다. def를 적은 후 함수를 지정하고 ( )안에 입력값을 입력하면 입력값이 있는 것이다. 그리고 return에 반환 할 sa..
반복문 while문 조건식이 'True"인 동안에만 while문 아래 들여쓰기 된 명령어들이 반복해서 수행된다. 그림1 whil문을 이용하여 출력해보았다. 기본적으로 for문이랑 동일하며 True때만 출력이 가능하다. 무한루프에 걸리기 때문에 뒤에 num += 1(num = num + 1)같은 출력서식을 적어줘야한다. 혹 무한루프에 걸리면 Ctrl + C를 이용하여 나올 수 가 있다. 그림2 그림2는 whil문으로 구구단을 출력해보았고 for문과 같이 if문을 이용하여 특정 출력문을 빼는 것도 가능하다. 중첩 whil문 그림3 그림3은 중첩 whil문을 출력한것이다. for문과 달리 num2가 다시 0으로 바뀌지않아 num1에도 num2적어줘야 한다.
반복문 동일한 명령어 및 비슷한 패턴의 명령어를 반복시켜서 동작해야 할 경우 사용하는 구문 for문 반복가능한 객체의 요소들이 처음부터 마지막까지 차례대로 변수에 대입되어 반복문이 수행된다. 그림1 그림1은 for문을 이용하여 튜플형태로 출력을 해보았다. for문은 숫자, 문자로도 가능하고 print( i )안에 end를 입력하면 띄우지 않고 붙여서 나온다. reang함수 reang( )함수는 for문과 밀접하게 연관이 되어있는 함수이고 연속된 정수, 리스트를 자동으로 만들어주는 함수이다. 그림2-1 그림2는 reang( )함수를 출력해보았다. 그림에서 보면 시작값을 1로 지정했지만 굳이 1을 쓸 필요가 없고 원하는 숫자부터 사용가능하다. 또한 증감값에 숫자를 입력하면 그 숫자의 배수들이 출력이 안되는걸..
조건문 조건을 주고 상황에 맞게 처리해야 할 경우 사용되는 구문 if문 조건을 주고 조건식이 반드시 'true'가 되어야 if아래 들여쓰기된 명령어들이 수행되는 구문 그림1 그림1은 간단한 방법으로 if문을 구현해보았다. if문은 다른 언어들과 다르게 들여쓰기라는 것을 해야하는데 if밑 primt( )를 띄어서 써야한다. 그러지 않을시에는 입력이 안되고 띄어쓸때의 횟수는 중요하지 않으나 서로간의 횟수가 맞고 정렬이 맞아야 출력이 된다. if ~ else문 두가지 조건 중에 반드시 하나를 선택해야 할 경우 사용되는 구문 그림2 그림2는 if문과 else문을 이용하여 간단하게 출력해보았다. else문은 if없이 단독으로 사용 할 수 없고 else뒤에 조건을 명시 할 수 없다. else문도 if문과 같이 들여..