1. 개념 비교추상화구현 세부사항을 숨기고 필요한 기능한 보여주는 개념캡슐화데이터를 은닉하고 메서드만 외부에 노출하는 구조다형성동일한 메서드를 여러 클래스에 재정의하는 구조상속성기존 클래스를 재사용해서 새로운 클래스를 만드는 구조// 1. 추상화: Animal이라는 추상 클래스(필요한 기능만 정의)abstract class Animal { private String name; // 2. 캡슐화: private 변수 (외부에서 직접 접근 못 함) public Animal(String name) { // 생성자 this.name = name; } public String getName() { // getter 메소드만 외부에 제공 return name; ..
1. GIL이란?- python 인터프리터가 동시에 하나의 스레드만 실행하도록 제한하는 락- 단일 바이트코드 실행 중엔 다른 스레드가 끼어들지 못함=> 복잡한 여러 바이트코드 작업(예: 리스트 두번 접근)은 중간에 끼어들 수 있다 => threading.Lock으로 보호=> 멀티스레드를 써도 한 번에 하나의 스레드만 실행된다=> 동시에 여러 CPU 코어를 못쓴다 => 병렬 처리에 제한이 있다.# threading.Lock 없으면# GIL만 있고 Lock 없이 공유 변수 접근counter = 0def add(): global counter for _ in range(100000): counter += 1 # 읽고 → 계산 → 쓰는 사이에 다른 스레드가 끼어들 수 있음!threads..
1. Json- 왜 사용할까? 웹 환경에서 데이터를 주고 받는 가장 표준적인 방식이기 때문에- 키를 이용해 원하는 데이터만 빠르게 추출할 수 있다- 데이터가 쉽게 오염되지 않는다 => 데이터의 구조가 명확하고 규칙이 엄격하기 때문!- 다른 포맷에 비해 용량이 조금 크다 1) JSON과 딕셔너리 변환(*s가 있으면 문자열 다루기)- JSON 문자열을 파이썬 객체(딕셔너리 등)로 : json.loads(JSON문자열)- 파이썬 객체를(딕셔너리를) JSON 문자열로: json.dumps(파이썬객체) 2) 파일 다루기- JSON 파일을 읽어 파이썬객체로(딕셔너리 등): json.load(JSON파일) => python 객체가 됨- 파이썬객체를(딕셔너리 등) JSON 파일에 쓰기: json.dump(파이썬객체를,..
0. 클래스와 함수- 함수는 동작만- 클래스는 함수+상태 저장 가능 1. 상속 : 같은 기능인데 이름만 다름 => 중복 방지 - 예: 좋아요, 싫어요 기능class Like: def __init__(self, post, user): self.post = post self.user = user class Sad: def __init__(self, post, user): self.post = post self.user = user # 공통된 부모 클래스를 만들어줌class React: def __init__(self, type, post, user): self.type = type self.post = post ..
1. 컴퓨터의 실수 계산print(0.1+0.2) # 0.30000000000000004- 부동소수점 오차 => 컴퓨터는 2진수로 숫자를 저장한다.- 0.1이나 0.2는 2진수로 정확히 표현할 수 없기 때문에 조금 부정확하게 됨* 부동소수점이란? 실수를 컴퓨터에서 표현하는 방식(10진수 0.1을 2진수로 완벽하게 표현할 수 없어 근사값으로 저장)- 대안: 소수점 둘째 자리까지만 보고 반올림print(round(0.1+0.2,2)) # 0.3 2. 0.5를 반올림하면 반드시 짝수가 나옴print(round(0.5)) # 0print(round(1.5)) # 2print(round(2.5)) # 2print(round(3.5)) # 4print(round(4.5)) # 4print(round(5.5)) # ..
1. 검사- str.isdigit() : 숫자인지 확인(공백, 기호, 알파벳, 소수점 등은 모두 허용하지 않음)print("1234".isdigit()) # Trueprint("1234a".isdigit()) # Falseprint("".isdigit()) # False (빈 문자열)print("1 2 3 4".isdigit()) # False (공백있으면 안됨)print("1234".isdigit()) # True (ㅈ+한자로 입력한 특수문자(유니코드 숫자)- isalpha() : 알파벳인지- isalnum(): 알파벳+숫자인지- isspace(): 공백"만" 있는지(공백 개수 상관 없음)print(' '.isspace()) # Trueprint(' '.i..
1. random- random.randrange(a,b): a이상 b미만의 수 중 무작위로 하나 반환 2. math- math.pi= 파이(=3.14...)- math.e = e(=2.71...)- math.log(b,a) : a^x = b 일때, x = log(a)b- math.factorial(n) 3. time- time.ctime(): 요일 "월 일 시간 년" 순으로 현재 시간을 문자열로 반환 4. urllib- urlopen(): 해당url의 html 파일을 가져옴 - read(): 결과를해독해 문자열로 반환- decode(): 문자열을 특정 인코딩 방식으로 해독from urllib.request import urlopenurl = 'https:example.com'webpage = urlop..
정수형양의 정수, 음의 정수, 0a = 777print(a) # 777 2. 실수형소수점 아래의 데이터를 포함하는 수 자료형e나 E를 이용한 지수 표현 방식 사용 가능IEEE754 표준에서는 실수형을 저장하기위해 4바이트 혹은 8바이트의 메모리를 할당하므로, 컴퓨터 시스템은 실수 정보를 표현하는 정확도에 한계를 가진다10진수 → 0.3 + 0.6 = 0.92진수 → 0.9와 최대한 가깝게 표현하지만, 미세한 오차 발생round를 이용해 특정 자리까지 반올림을 하는 것으로 문제 해결나머지(%), 몫 (//), 거듭제곱(**)3. 복소수형복소수: 실수와 허수로 이루어진 숫자z = a +bj(a는 실수부, b는 허수부, j는 허수 단위, i^2=-1)complexz1 = 3 + 4j # 실수부 3, 허수부 ..
- Total
- Today
- Yesterday
- 고득점 Kit
- 다이어트
- C언어
- 기초
- 티스토리챌린지
- 줄넘기
- 경제
- IH
- 프로그래머스
- 영어회화
- ChatGPT
- Ai
- 아침
- SQL
- 뉴스
- 실기
- 오블완
- 스크랩
- 아침운동
- 미라클모닝
- 30분
- opic
- Python
- 갓생
- 운동
- 루틴
- llm
- 습관
- 오픽
- 빅데이터 분석기사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |