본문 바로가기
  • 시 쓰는 개발자

프로그래밍 문법29

코테 문법정리 (4) - 딕셔너리{ } , 집합{ } 딕셔너리key : value 쌍으로 구성되는 자료형이다. 순서가 없기 때문에 인덱싱 불가능.key에는 불변 데이터만 사용되지만, value에는 가변 데이터도 사용될 수 있다.딕셔너리는 내부적으로 "해시 테이블"을 사용해서 검색 및 수정에 O(1)만 걸린다.가변 객체이다. (가변 : 리스트, 셋, 딕셔너리 / 불변 : 문자열, 튜플, 수 자료형)딕셔너리 메소드keys() : key 데이터만 뽑아서 리스트로 이용할 때 사용values() : value 데이터만 뽑아서 리스트로 이용할 때 사용items() : key, value 한쌍을 리스트로 이용할 때 사용https://100won-developer.tistory.com/entry/dictionary%EC%97%90%EC%84%9C-key-%EB%8B%A4.. 2024. 3. 16.
코테 문법정리 (3) - 문자열 " " , 튜플 ( ) 문자열파이썬의 문자열은 내부적으로 리스트처럼 처리된다. 따라서 인덱싱, 슬라이싱이 가능하다.불변 객체이다. 불변 객체이다. (가변 : 리스트, 셋, 딕셔너리 / 불변 : 문자열, 튜플, 수 자료형)문자열 초기화큰/작은 따옴표를 이용하여 문자열을 초기화 한다. 다만 큰따옴표로 감싸면 내부의 작은 따옴표는 그대로 표기되고, 작은 따옴표로 감싸면 내부의 큰 따옴표가 그대로 표기된다. 따옴표 표시하기백슬래시를 이용한다. \" 라고 표시하면 따옴표 자체를 프린트할 수 있다.str1 = "hello"str2 = "hi kwang's mom~" # hi kwang's mom~str3 = "\"hello\"" # "hello" 문자열 연산str1 + str2 : 두 문자열을 더하기 기호를 이용해 더한다.str1 * 3.. 2024. 3. 16.
코테 문법정리 (2) - 리스트 [ ] ★★★ 중요 자료형은 잘 알아두어야 한다. 자료형에 따라 쓰는 함수도 다르고 처리 방식도 달라지니 조심하자. 리스트 ★★★내부적으로 배열이다.가변 객체이다. (가변 : 리스트, 셋, 딕셔너리 / 불변 : 문자열, 튜플, 수 자료형)연결리스트라서 append(), remove() 등 사용 가능배열 혹은 테이블이라고 부르기도 함.리스트 초기화 방법a = [1,2,3,4,5] # 직접 값을 넣어서 초기화할 수 있다.a = list() # 빈 리스트 만들기 (1)a = [] # 빈 리스트 만들기 (2) TIP - 모든 값 0으로 초기화 하기n = 5a = [0]*n # [0,0,0,0,0]이런식으로 크기가 N이고, 모든 값이 0인 1차원 리스트를 초기화 할 수 있다. 리스트 인덱싱인덱스에 -1을 넣으면 맨 뒤에 값을 가져올.. 2024. 3. 15.
코테 문법정리 (1) - 실수형, 연산자 정수형대부분의 입출력 형태이다. pass 실수형제일 조심해야하는 게 바로 실수형이다. 일단 표현 방식부터 알아보자.1.231e9 # 10억67.22e1 # 672.265e-1 # 6.5우리가 아는 방식 외에도 e나 E를 이용해서 위와같이 표현할 수 있다. 큰 수는 저렇게 문제가 나오기도 하니 알아두자. 부동 소수점실수를 처리할 때 부동소수점 방식을 이용하기에 0.3 + 0.6은 0.89999999.... 로 저장된다.  보통 정수나 문자열 등으로 입출력을 받기에 이런 것 까지 고려하는 문제는 잘 나오지 않겠지만 알아는 두자. round 함수 - round(실수, 반올림하고자 하는 위치-1)위 상황처럼 소수점으로 곤란할 때 round함수를 쓸 수 있다. 윗줄에서 말한 반올림하고자 하는 위치-1 인 이유는,.. 2024. 3. 14.
6장 객체지향 (5) 오버로딩 , 생성자 , this , this() , 변수 초기화 JAVA의 정석 강의를 들으며 공부하며 정리했습니다. 너무 자잘한 내용은 안적었습니다. [자바의 정석 - 기초편] ch6-30,31 오버로딩 오버로딩 (overloading, 과적합) 한 클래스 안에 같은 이름의 메소드를 여러개 정의하는 것. 이름이 같다는 것은 하는 일이 같다는 것이다. Ex) 프린트문을 생각. println()은 println(char x), println(int x) 등 매개변수에 따라서 여러 형태이다. 오버로딩이 성립하기 위한 조건 메소드 이름이 같아야 한다. 메소드끼리 매개변수의 개수 또는 타입이 서로 달라야한다. (반환 타입은 상관 없다.) [자바의 정석 - 기초편] ch6-32~35 생성자, 기본 생성자 생성자 인스턴스 생성때마다 호출되는 인스턴스 초기화 메소드이다. 객체 만.. 2024. 3. 10.
6장 객체지향 (4) 기본형/참조형 매개변수 , static/인스턴스 메소드 JAVA의 정석 강의를 들으며 공부하며 정리했습니다. 너무 자잘한 내용은 안적었습니다. [자바의 정석 - 기초편] ch6-23 기본형 매개변수 기본형 매개변수 : 변수의 값을 읽기만 할 수 있다. (read only) 여기서 말하는 기본형은 다음 8개의 변수를 말함. int, float, char, String, byte, boolean, double, long 참조형 매개변수 : 변수의 값을 읽고 변경할 수 있다. (read & write) class Data { int x; } class PrimitiveParamEx { public static void main(String[] args) { Data d = new Data(); d.x = 10; System.out.println("main() : .. 2024. 3. 10.
6장 객체지향 (3) 메소드 , 호출스택 JAVA의 정석 강의를 들으며 공부하며 정리했습니다. 너무 자잘한 내용은 안적었습니다. [자바의 정석 - 기초편] ch6-14~16 메서드란? 메서드의 선언부와 구현부 메소드란? 메소드는 문장(명령문)들을 묶어놓은 것이다. 좀 더 구체적으로는 자주 쓰는 코드를 괄호로 묶고서 이름을 붙여놓으면 그게 메소드다. 메소드는 값을 받아서 처리하고 결과를 반환한다. 이때 값은 여러개 받을 수 있지만 반환하는 값은 항상 1개이다. 만약 여러개를 반환하고 싶으면 배열에 담아서 주거나 객체로 묶어서 줘야한다. 단, 하나의 메소드는 하나의 기능만 수행하도록 작성하는 것이 좋다. 메소드의 장점 코드 중복 줄임 코드 관리 쉬움 코드 재사용 가능 코드가 간결해져서 가독성에 좋다 메소드 = 선언부 + 구현부 선언부 : 메소드 이.. 2024. 3. 10.
6장 객체지향 (2) 클래스변수 , 인스턴스변수 JAVA의 정석 강의를 들으며 공부하며 정리했습니다. 너무 자잘한 내용은 안적었습니다. [자바의 정석 - 기초편] ch6-11 선언위치 변수종류 영역은 클래스 영역과 메소드 영역으로 나뉜다. 클래스 영역에는 선언문만 가능하다. 프린트문 같은 것들은 불가능하다. 1. 인스턴스 변수(iv) : 클래스 영역에 선언된 변수. 인스턴스 변수를 묶어놓은 것이 객체이다. 2. 클래스 변수(cv) : 클래스 영역에 선언된 변수. 인스턴스 변수에 static을 붙이면 클래스 변수가 된다. 3. 지역변수(lv) : 메소드 영역에 선언된 변수 변수의 종류 선언 위치 생성 시기 클래스 변수(cv) (static이 붙은 인스턴스 변수) 클래스 영역 클래스가 메모리에 올라갈 때 인스턴스 변수(iv) ★인스턴스가 생성됐을 때★ 지.. 2024. 3. 10.
6장 객체지향 (1) 객체 , 클래스 JAVA의 정석 강의를 들으며 공부하며 정리했습니다. 너무 자잘한 내용은 안적었습니다. [자바의 정석 - 기초편] ch6-1 객체지향 언어 - 6, 7장이 제일 중요하니 반복해서 공부한다. - 객체지향 규칙은 외워라. 그냥 a4용지에 적어서 외우기!! [자바의 정석 - 기초편] ch6-2~4 클래스와 객체 클래스(설계도) : 객체를 정의하는 것. 객체 생성에 사용 객체(제품) : 실제로 존재하는 것. 객체가 가지고 있는 기능과 속성에 따라 용도가 달라짐. 객체 = 속성(변수) + 기능(메소드) 인스턴스 : 객체랑 똑같다. 다만, 객체는 모든 인스턴스를 대표하는 general한 용어이고, 인스턴스는 특정 클래스로부터 생성된 객체를 말한다. Q. 클래스가 필요한 이유는? A. 객체를 생성하기 위해 ↓ Q. .. 2024. 3. 10.
반응형