분류 전체보기 501

파이썬 파일 한 줄씩 읽기

첫번째 방법 infile = open("ILoveYou.txt", "r") line = infile.readline().rstrip() while line != "": print(line) line = infile.readline().rstrip() infile.close() readline() - 한번에 한줄만 읽어서 문자열로 반환한다. rstrip() - 문자열 오른쪽의 문자 이외의 것은 삭제한다. *but, readlines()와 함께 사용하면 오류가난다. 두번째 방법 infile = open("ILoveYou.txt", "r") for i in infile: i = i.rstrip() print(i) infile.close()

python/파일 2019.05.26

파이썬 파일 읽기 종류

read infile = open("ILoveYou.txt", "r") line = infile.read() print(line) infile.close() 이렇게 할 경우에는 메모장에 저장된 글을 출력을하는데 메모장에 써있는 그대로 출력이된다. I Love you Darling. You are my life. I love you forever♡ read() 메소드 - 파일 객체에서 전체 텍스트를 읽는다. - 지정된 개수의 문자 읽기 -> ex) read(10) 이렇게 쓸 경우에는 I Love You 만 출력이된다. readlines infile = open("ILoveYou.txt", "r") line = infile.readlines() print(line) infile.close() 이렇게 할 경우..

python/파일 2019.05.26

파일사용하기

파일을 사용하려면 이러한 순서를 거쳐야 한다. infile = open("input.txt", "r") 파일객체 = 연다("파일의 이름", "파일읽는모드") ... infile.close() 파일 모드 모드 이름 설명 "r" 읽기 모드(read mode) 파일의 처음부터 읽는다. "w" 쓰기 모드(write mode) 파일의 처음부터 쓴다. 파일이 없으면 생성된다. 만약 파일이 존재한다면 기존의 내용은 지워진다 "a" 추가 모드(append mode) 파일의 끝에 쓴다. 파일이 없으면 생성된다. "r+" 읽기와 쓰기 모드 파일에 읽고 쓸 수 있는 모드이다. 모드를 변경하려면 seek() 가 호출되어야 한다. 파일에서 읽기 1. 파일이름 지정 - 백슬래시(\)는 특수 문자(이스케이프 코드)를 입력할때 사용..

python/파일 2019.05.26

자바 ArrayList

ArrayList는 자바에서 가장 많이 사용되는 데이터 스트럭쳐이다. 생성 ArrayList numbers = new ArrayList(); ArrayList는 java.util.ArrayList에 포함되어 있으므로 import 해준다. 추가 element를 추가할때는 add 메소드를 사용한다. add는 단순히 배열 뒤에 데이터를 더하기 때문에 빠르다. numbers.add(19); numbers.add(40); 자바 배열의 크기는 고정되어 있다. 내부의 배열이 꽉 찼는데 새로운 데이터를 추가하려면 기존 배열보다 2배 긴 새 배열을 만들어, 기존 데이터를 새로운 배열로 복제해야한다. 덕분에 프로그래머는 ArrayList의 크기를 신경쓰지 않아도 된다. 하지만 배열의 크기를 키우는 데는 많은 부하가 걸린다..

java/자료형 2019.05.25

Mouse와 MouseMotion 이벤트

마우스 이벤트(Mouse Event)는 사용자가 마우스 버튼을 누르거나 마우스를 움직일 때 발생한다. 사용자가 버튼을 누르거나 메뉴를 선택할 때는 마우스 이벤트를 처리할 필요가 없다(앞에서 학습한대로 이러한 경우는 액션 이벤트로 처리하면 된다). 하지만 사용자가 화면에 마우스로 그림을 그리게 하려면 마우스 이벤트를 처리하여야 한다. 마우스 버튼의 클릭을 처리하려면 MouseListener를 구현하여서 MouseEvent를 받으면 된다. 마우스가 이동할 때 마우스의 위치를 받으려면 MouseMotionListener를 구현하여서 MouseMotionEvent를 받아야 한다. 마우스에 대한 이벤트를 이렇게 분리하는 이유는 마우스의 움직임을 추적하는 것이 시스템의 오버헤드를 증가시키기 때문이다. MouseLi..

키 이벤트

키 이벤트(key event)는 사용자가 키보드를 이용하여 입력을 하는 경우에 발생한다. 키를 누를 때도 발생하지만 키에서 손을 떼는 경우에도 발생한다. 어떤 클래스가 키보드 이벤트를 처리하려면 keyListener 인터페이스를 구현하여야 한다. KeyListener 인터페이스는 다음과 같은 가상 메소드를 가지고 있다. public class MyListener implements KeyListener { public void keyPressed(KeyEvenet e) { } // 사용자가 키를 눌렀을 경우에 호출 public void keyReleased(KeyEvent e) { } // 사용자가 키에서 손을 떼었을 경우에 호출 public void keyTyped(KeyEvent e) { } // 사..

java/GUI 2019.05.22

for 문

for문의 기본적인 구조는 다음과 같다. for 변수 in 리스트(또는 튜플, 문자열): 수행할 문장1 수행할 문장2 1. 전형적인 for 문 >>> test = ['one', 'two', 'three'] >>> for i in test: print(i) one two three 리스트의 첫번째 요소인 one이 먼저 i 변수에 대입된 후 print(i)라는 문장을 수행한다. 다음에 two라는 두번째 요소가 i변수에 대입된 후 print(i) 문장을 수행하고 리스트의 마지막 요소까지 이것을 반복한다. 2. 다양한 for문의 사용 >>> a = [(1,2), (3,4), (5,6)] >>> for (first, last) in a: print(first+lasat) 3 7 11 위에 예는 a 리스트의 요소값..

python/제어문 2019.05.22

리스트

어떤 경우에는 여러 개의 데이터를 하나로 묶어서 저장하는 것이 필요함. [ ] 기호를 사용한다. heroes = [] heroes.append("아이언맨") heroes.append("닥터 스트레인지") print(heroes) ['아이언맨','닥터 스트레인지'] append() 함수 - 리스트에 항목을 추가한다. cf. 점의 의미 : 파이썬에서 모든 것은 객체이다. 리스트도 당연히 객체이며, 객체 안에 무엇인가를 사용하기 위해서 객체 이름을 쓰고 점(.)을 붙인 후에 함수의 이름을 적는다. 슬라이싱 리스트에 한번에 여러 개의 항목을 추출하는 기법이다. letters = ['A', 'B', 'C', 'D', 'E', 'F'] print(letters[0:3]) ['A','B','C'] [0:3] : 인덱..

람다식

람다식(lambda expression)은 이름이 없는 메소드(함수)라고 할 수 있다. 우리가 람다식을 사용하는 이유는 간결함 때문이다. 람다식을 이용하면 메소드가 필요한 곳에 간단히 메소드를 보낼 수 있다. 특히 메소드가 딱 한번만 사용되고 메소드의 길이가 짧은 경우에 유용하다. 이전 버전의 자바에서는 메소드를 객체로 만들 수 있는 방법이 없었다. 하지만 JDK8부터는 함수를 객체로 만들 수 있다. import javax.swing*; import java.awt.event.*; public class MyFrame extends JFrame { private JButton button; private JLabel label; int counter = 0; public MyFrame() { this.s..