한줄요약:
보안을 위한 파이썬 - 파이썬의 동적 타입 특징을 이해하고, 리스트, 딕셔너리, 튜플, 집합 등의 핵심 자료구조와 인덱싱/슬라이싱, 다양한 문자열 포맷팅 기법을 학습하며 기초 프로그래밍 능력을 다지는 과정입니다.
오늘 공부한 내용:
1. 🖥️ 프로그래밍 언어의 이해와 파이썬 특징
컴파일 vs 인터프리터:
컴파일 기반: 소스 코드를 기계어(바이트 코드)로 번역(컴파일) 후 실행 (예: Java).
인터프리터 방식: 코드를 한 줄씩 읽고 즉시 실행 (예: Python).
파이썬 변수 타입:
묵시적(동적) 타입: 변수에 값이 할당될 때 타입이 지정되며, 인터프리터 방식이라 별도의 타입 선언이 없다.
내장 타입: str, int, float, list, tuple, dict, set, bool 등.1. 🖥️ 프로그래밍 언어의 이해와 파이썬 특징
컴파일 vs 인터프리터:
컴파일 기반: 소스 코드를 기계어(바이트 코드)로 번역(컴파일) 후 실행 (예: Java).
인터프리터 방식: 코드를 한 줄씩 읽고 즉시 실행 (예: Python).
파이썬 변수 타입:
묵시적(동적) 타입: 변수에 값이 할당될 때 타입이 지정되며, 인터프리터 방식이라 별도의 타입 선언이 없다.
내장 타입: str, int, float, list, tuple, dict, set, bool 등.
2. 📝 변수 및 코딩 스타일
변수(Variable): 데이터를 담는 그릇. (규칙: 숫자로 시작 불가, 예약어 사용 불가).
예약어 확인: import keyword 후 keyword.kwlist로 확인 가능하며, 대소문자를 구분한다.
변수 명명 규칙:
Camel Case: numberOfColleageGraduates (가장 일반적).
Pascal Case: NumberOfColleageGraduates (클래스 명명 시 주로 사용).
Snake Case: number_of_colleage_graduates.
연산자: =는 할당 연산자이다.
함수 vs 메서드:
함수: 단독 실행 가능 (print(), type()).
메서드: 객체에 종속적이며 단독 실행 불가 (strTemp.split()).
3. 🧩 핵심 자료 구조 (데이터 타입)
타입,표기,특징,주요 개념 및 활용
List (Sequence),[],"순서 O, 가변(mutable).","인덱싱, 슬라이싱"
String (Sequence),""""" or ''","순서 O, 불변(immutable).","인덱싱, 슬라이싱, split()"
Tuple (Sequence),"(), 혹은 생략","순서 O, 불변(immutable).","인덱싱, 슬라이싱, 패킹/언패킹. (단일 요소 시 , 필수)"
Dict (Mapping),{},"순서 X, key:value 쌍.","Key 접근, JSON 형태."
Set (Set Types),{} or set(),"순서 X, 중복 X, 가변.","집합 연산 (합, 교, 차집합), 보안 (중복 감지)에 활용."
Boolean (bool),True/False,조건 및 논리 연산에 사용.,"Trusy (1, 'a'), Falsy (0, '', [])"
4. 🖨️ 출력 및 포맷팅
print 함수: 표준 출력 장치에 출력. sep 옵션으로 구분자 변경 가능.
문자열 포맷팅:
f-string (3.6+): 가장 권장되며 {} 안에 변수/표현식 삽입. (예: {score:.2f}, {num:,}, 정렬).
str.format(): {}와 format() 메서드 사용.
서식 지정 연산자: C 스타일 포맷 (%s, %d, %f).
다중 라인: """...""" 를 사용하여 여러 줄의 문자열(쿼리, 메시지 등) 출력.
형 변환: int(), bool(), str() 등을 사용해 명시적으로 타입 변경.
25/10/27
수업
우리나라 금융권은 java를 많이 쓴다 si쪽
데이터 인공지능 쪽은 python
프로그램 언어는 두가지로 나뉘는것 같다
컴파일 기반
인터프리터 방식
컴파일
소스코드를 기계어로 번역해줘야 컴퓨터가 이해할 수 있다
바이너리 혹은 바이트 코드로 만든다
바이트 코드로 만드는 과정을 컴파일 이라고 말한다
컴퓨터가 이해하기 쉽게 바꾸는것
인터프리터
한줄 씩 읽고 실행한다
컴파일과 인터프리터의 차이점
프로그램은 변수와 행위가 필요함
변수에 데이터 타입의 존재 유무에 따라서 컴파일인지 인터프리터 인지
인터프리터에는 데이터 타입이 존재하지 않는다
변수의 타입을 체크하는게 중요하다
휴먼에러나 논리적 오류를 발생 시킬 확률이 높아진다
파이썬은 묵시적인 변수의 타입을 가지고 있다
Python Built-In Types
Text Type: str
Numeric Types: int, float, complex
Sequence Types: list, tuple, range
Mapping Type: dict
Set Types: set, frozenset
Boolean Type: bool
Binary Types: bytes, bytearray, memoryview
None Type: NoneType
파이썬은 변수가 들어갈때에는 값에따라 타입이 지정된다
다양한 변수 선언 방식
- Camel Case : numberOfColleageGraduates
- Pascal Case : NumberOfColleageGraduates
- Snake Case : number_of_colleage_graduates
Camel Case를 제일 많이 쓴다
Pascal Case는 클래스를 만들때 많이 쓴다
변수(variable) : 데이터를 담는 그릇 (숫자로 시작 불가, 특수문자 _ , $ 허용됨)
- 예약어는 변수로 사용할 수 없다.