파이썬에서 클래스는 사용자 정의 자료형으로, 멤버변수와, 멤버함수(메서드)로 이루어져 있고, 클래스를 사용하기 위해서는 객체로 찍어내서 사용한다. 객체는 각자 고유한 성격을 가지고, 조금 변형 된다고 하더라도 다른 객체나, 클래스에 영향을 주지 않는다. 또한 다중상속이 가능하다. class 클래스명: def 메서드명(self,매개변수1,매개변수2,...): pass def __inif__(self): pass 객체명1 = 클래스명() 객체명1.메서드명(입력인수1,입력인수2) 객체명2 = 클래스명() 클래스명.메서드명(객체명2, 입력인수1, 입력인수2,...) => 클래스명은 대문자로 시작한다. => 객체는 클래스를 담는다. 특정객체는 특정클래스의 인스턴스라고도 부른다. => self는 자기참조변수로 인스..
프로그래밍언어
f = open(파일이름, 파일 열기 모드,encoding='인코딩방식') f.close() 파일모드 r : 읽기 w : 쓰기 - 새로운 내용을 덮어쓰기 a : 쓰기 - 기존 파일의 내용에 추가방식 t : text. 기본값 b : 이진모드. binary모드. 이미지,동영상 파일 생성하기 경로 생략시 현재 디렉토리에 생성된다. 생성하려는 파일이 없는 상태에서 w(쓰기)모드로 열면 새로운 파일이 생성된다. 만약 이미 존재할 경우에는 기존 파일의 내용이 사라지고 덮어쓰기 된다. f = open("경로/새파일.txt",'w') f.close() 파일 쓰기 파일을 w(쓰기)모드로 열고, 출력할 내용을 작성 후 write함수를 사용해서 출력해준다. f = open("경로/새파일.txt",'w') for i in r..
파이썬 함수의 구조 def 함수명(매개변수) 수행할 문장1 수행할 문장2 ... 변수명 = 함수명(인수) print(변수명) 매개변수(parameter)는 함수에 입력으로 전달된 값을 받는 변수를 의미한다. 인수(arguments)는 함수를 호출 할 때 전달하는 입력값을 의미한다. 1. 일반적인 함수 : 입력값과, 결과값이 있는 함수 결과값을받을변수=함수명(입력인수1, 입력인수2, ...) def add(a,b) result = a+b return result a=add(3,4) #결과값을받을변수=함수명(입력인수1, 입력인수2, ...) print(a) 2. 입력값이 없는 함수 : 결과값만 있는 함수 결과값을받을변수=함수명() def say(): return 'Hi' a=say() #결과값을받을변수=함수..
컴프리헨션(Comprehension) 파이썬에서는 컴프리헨션이라는 문법을 지원한다. 컴프리헨션은 list, dictionary, set을 간단하게 생성 하는 방법이다. 컴프리헨션 방식으로 리스트(list) 데이터 저장하기 ### 리스트에 1~10까지의 데이터 저장하기 # for문 방식 numbers=[] for n in range(1, 11): numbers.append(n) # comprehension 방식 numbers=[x for x in range(1,11)] ### 조건걸기 - 1~10까지의 숫자 중 홀수만 저장하기 # for문 방식 odd = [] for n in range(1,11): if n % 2 == 1: oddNums.append(n) # comprehension 방식 oddNums=..
불(bool) 불(bool) 자료형은 참(True)과 거짓(False)을 나타내는 자료형이다. 불 자료형은 이 2가지만 가능하며, 첫 문자를 항상 대문자로 사용해야 한다. 불 사용법 a = True b = False print(type(a)) # print(type(b)) # 1==1 # True 1>2 # False 1!=3 # True 자료형의 참과 거짓 자료형 값 참 or 거짓 문자열 "python" 참 "" 거짓 리스트 [1,2,3] 참 [] 거짓 튜플 () 거짓 딕셔너리 {} 거짓 숫자형 0이 아닌 숫자 참 0 거짓 None 거짓 bool(None) # False bool(0) # False bool("abc") # True
집합(set) 집합은 파이썬 2.3부터 지원하기 시작한 자료형이다. 집합에 관련된 것을 쉽게 처리하기 위해 만들어졌다. 중복을 허용하지 않고, 순서가 없어서(Unordered) 인덱싱으로 값을 얻을 수 없다. 인덱싱을 하고 싶으면 리스트나(list(집합명)), 튜플(tuple(집합명))로 변환해서 사용해야 한다. 집합 사용법 집합명 = set(집합으로 만들 값들) 집합으로 만들어주는 값에 중복이 있다면 중복 된 값은 한 하나만 추가된다. s1 = set()#비어있는 집합 자료형 s2 = set([1,2,3])#s2={1,2,3} s3 = set("Hello")#s3={'H', 'e', 'l', 'o'} 1. 교집합(&, intersection()) s1 = set([1,2,3,4,5,6]) s2 = se..
딕셔너리(Dictionary) 대응 관계를 나타내는 자료형을 연관배열(Associative array) 또는 해시(Hash)라고 한다. 파이썬에서 이런 자료형을 딕셔너리라고 부른다. 딕셔너리는 'Key'와 'Value'를 한쌍으로 갖는다. 또한 딕셔너리는 리스트나 튜플처럼 순차적으로(sequental) 해당 요솟값을 구하지 않고 Key를 통해서 Value을 얻는다. 딕셔너리 사용법 딕셔너리명={key1:value1, key2:value2, key3:value3, ··· ···} key 값으로는 변하지 않는 값을 사용하기 때문에 리스트를 사용 할 수 없고 중복된 값을 사용 할 수 없다. value값은 변하는 값과 변하지 않는 값 모두를 사용 할 수 있다. dic1={'name':'ksm', 'birth':..
import oop.ex04.UI코드분리하기.Exam; public class Program { /* 재사용 : 소스코드가 아닌 배포코드를 재사용 * 1. 컴파일 -> Exam.class * 2. 압축 -> Exam.zip * 3. jar -> Exam.jar(zip을 jar로 확장명 바꿔주기) * =>이클립스에서 export(java -JAR file)를 통해 한번에 해준다. * jar 파일을 라이브러리에 추가해주면 import해서 재사용이 가능해진다. */ public static void main(String[] args) { Exam exam = new Exam(1,1,1); System.out.println(exam.total()); } } 다른 프로젝트에서 이미 만들어 놓은 class들을 재사..
package oop.ex04.UI코드분리하기; import java.util.Scanner; public class ExamConsole { //Composition Has A 일체형 private ExamList list;// = new ExamList(); public ExamConsole() { list = new ExamList(); } public void inputList() { Scanner scan = new Scanner(System.in); System.out.println("┌────────────────────────┐"); System.out.println(" │ 성적입력 │"); System.out.println("└────────────────────────┘"); Syste..
//Exam 자료형 캡슐화하기. //변수 수정시 외부에서 사용할시 영향을 준다. //get으로 빌려주면 여기서 변수명이 변경되어도 외부에서 오류가 나지 않는다. //private한 변수도 set을 사용하면 외부클래스에서도 값을 넣어 줄 수 있다. package oop.ex03.Getters와Setters; public class Exam { private int kor; private int eng; private int math; public Exam() { //생성자 오버로드 시 꼭 기본 생성자 설정. 코드집중화로 중복 코드 삭제 this(0, 0, 0); } public Exam(int kor, int eng, int math) { //this를 생략해서 지역변수명과 헷갈릴 수 있을때는 생량하지 않..