일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 대학원 월급
- 의료 ai 대학원 월급
- 대학원 급여
- Dehaze
- 자바
- 머신러닝
- 자바 프로젝트
- 인공지능
- 자바 영화 api
- 경사하강법
- MLP
- 딥러닝
- 코딩테스트
- 정규화
- 통계학
- C# 프로젝트
- 로스트아크
- 영화 api
- 활성화 함수
- 디자인 패턴
- pandas
- 인공지능 깃 버전관리
- 파이썬 경사하강법
- API
- DCP
- 백준
- 딥러닝 실험 깃 버전관리
- python
- 파이썬
- 디자인패턴
- Today
- Total
대학원 일기
파이썬 기초 문법 I 본문
파이썬 기초 문법
Variables & Memory
변수(Variables)
- 가장 기초적인 프로그래밍 문법 개념
- 값을 저장하는 장소
- 데이터(값)을 저장하기 위한 메모리 공간(물리적인 공간)의 프로그래밍상 이름
- 변수는 메모리 주소(물리적인 주소)를 가지고 있고, 변수에 들어가는 값은 메모리 주소(물리적인 주소)에 할당된다.
- 변수 선언(작명)은 의미있는 단어로 해야한다.
기본 자료형(Primitive data types)
- data type: 파이썬이 처리할 수 있는 데이터 유형

연산자(Operator)와 피연산자(Operand)
- +, -, *, /, % 같은 계산 기호들을 연산자라고 한다.
- 연산자에 의해 계산되는 숫자들을 피연산자라고 한다.
- a = a + 1 은 a += 1로 나타낼 수 있다.
리스트(List) 또는 Array
- 시퀀스 자료형, 여러 데이터들의 집합
- int, float 같은 다양한 데이터들의 집합 포함
리스트(List)의 특징
- 인덱싱(indexing): 리스트에 있는 값들은 주소(offset)를 가진다. → 주소를 통해 할당된 값을 호출함

- 슬라이싱(slicing): 리스트에 있는 값들을 잘라서 사용 → 리스트의 주소값을 기반으로 부분 값을 반환

- 리스트 연산: concatenation, is_in, 연산 함수들

- 추가 삭제: append, extend, insert, remove, del 등 활용

- 메모리 저장 방식: 파이썬은 해당 리스트 변수에는 리스트 주소값이 저장됨

- 패킹과 언패킹: 패킹은 한 변수에 여러 개의 데이터를 넣는 것이고, 언패킹은 한 변수의 데이터를 각각의 변수로 반환하는 것임

- 이차원 리스트: 리스트 안에 리스트를 만들어 행렬(Matrix) 생성함

Function and Console I/O(Input/Output)
함수
- 어떤 일을 수행하는 코드의 덩어리
- 반복적인 수행을 1회만 작성 후 호출
- 코드를 논리적인 단위로 분리
- 캡슐화: 인터페이스만 알면 타인의 코드 사용

- 함수는 상단에 적는 것이 좋다.
- 함수 사이는 두 줄씩 띄우는 것이 좋다.
Console in/out (CLI 환경(터미널))
- input() 함수는 콘솔창에서 문자열(string type)을 입력받는 함수
- print() 함수는 출력하는 함수

- 문자열을 입력받아 float로 형변화한 것을 확인할 수 있다.
print formatting
프린트문은 기본적인 출력 외에 출력의 양식(형식)을 지정 가능
(1) %string (2) format 함수 (3) fstring

- old-school formatting: 일반적으로 %-format과 str.format() 함수를 사용함

- %-format: "%datatype" %(variable) 형태로 출력 양식을 표현함

- str.format() 함수: "~~~~{datatype}~~~~".format(argument)

padding
- 여유 공간을 지정하여 글자배열 + 소수점 자릿수 맞추기

naming
- 해당 표시할 내용을 변수로 표시하여 입력

f-string
- python 3.6 이후, PEP498에 근거한 formatting 기법

Conditionals and Loops
조건문
- 조건에 따라 특정한 동작을 하게하는 명령어
- 파이썬에서 조건문 예약어: if, else, elif

조건 판단 방법
- if / elif 다음에 조건을 표기하여 참 또는 거짓을 판단함
- 참 / 거짓 구분을 위해 비교 연산자를 활용

Tip) 프로그래밍에서 '=' 하나만 쓰는 것은 뒤에 있는 값을 앞에 값에 할당하는 것임. ex) a = b → a에 b를 할당
따라서, ==으로 값을 비교해야함.
논리 키워드
- 조건문을 표현할 때, 집합의 논리 키워드를 함께 사용하여 참과 거짓을 판단하기도 함


삼항 연산자
- 조건문을 사용하여 참일 경우와 거짓일 경우의 결과를 한 줄에 표현

반복문(loop)
정해진 동작을 반복적으로 수행하게 하는 명령문
- 반복문은 반복 시작 조건, 종료 조건, 수행 명령으로 구성됨
- 반복 구문은 들여쓰기와 block으로 구분됨
- 파이썬에서는 반복문 키워드로 for, while 등의 명령 키워드를 사용함

반복문 변수명
- 임시적인 반복 변수는 보통 i, j, k를 사용함
- 이것은 수학에서 변수를 x, y, z를 사용하는 것과 유사한 관계
0으로 시작하는 반복문
- 반복문은 대부분 0부터 반복을 시작
- 이것도 일종의 관례로 1부터 시작하는 언어도 존재함
- 2진수가 0부터 시작하기 때문에 0부터 시작하는 것을 권장
무한 loop
- 반복 명령이 끝나지 않는 프로그램 오류
- CPU와 메모리 등 컴퓨터의 리소스를 과다하게 점유함
for문의 다양한 반복문 조건 표현
- 문자열을 한 자씩 리스트로 처리

- 각각의 문자열 리스트로 처리

- 간격을 두고 세기

- 역순으로 반복문 수행

While문
조건이 만족하는 동안 반복 명령문을 수행


반복의 제어 - break, continue
- break 특정 조건에서 반복 종료

- continue 특정 조건에서 남은 반복 명령 skip

String and advanced function concept
문자열
- 시퀀스 자료형으로 문자형 data를 메모리에 저장
- 영문자 한 글자는 1byte의 메모리 공간을 사용.
문자열의 특징 - 인덱싱(Indexing)
- 문자열의 각 문자는 주소(offset)를 가짐
- 이 주소를 사용해 할당된 값을 가져오는 것
- List와 같은 형태로 데이터를 처리함

문자열의 특징 - 슬라이싱(Slicing)
- 문자열의 주소값을 기반으로 문자열의 부분값을 반환

문자열 함수


특수문자

함수 호출 방식
(1) 값에 의한 호출 (Call by Value): 함수에 인자(parameter)를 넘길 때 값만 넘김
(2) 참조에 의한 호출 (Call by Reference): 함수에 인자(parameter)를 넘길 때 메모리 주소를 넘김. 함수 내에 인자 값 변경 시, 호출자의 값도 변경됨
(3) 객체 참조에 의한 호출(Call by Object Reference): 객체의 주소가 함수로 전달되는 방식. 전달된 객체를 참조하여 변경 시 호출자에게 영향을 주나, 새로운 객체를 만들 경우 호출자에게 영향을 주지 않음

변수의 범위(Scoping Rule)
- 변수가 사용되는 범위(함수또는 메인 프로그램)
- 지역변수(Lacal variable): 함수 내에서만 사용
- 전역변수(Global variable): 함수 밖, 코드 전체에서 사용

재귀 함수(Recursive Fenction)
- 자기 자신을 호출하는 함수
- 점화식과 같은 재귀적 수학 모형을 표현할 때 사용
- 재귀 종료 조건 존재, 종료 조건까지 함수호출 반복

function type hints
- 파이썬의 가장 큰 특징: 동적 타이핑(dynamic typing)

(1) 사용자에게 인터페이스를 명확하게 알려줄 수 있다.
(2) 함수의 문서화 시 인자(parameter)에 대한 정보를 명확히 알 수 있다.
(3) mypy 또는 IDE, linter 등을 통해 코드의 발생 가능한 오류를 사전에 확인할 수 있다.
(4) 시스템 전체적인 안정성을 확보할 수 있다.
function docstring
- 파이썬 함수에 대한 상세 스펙을 사전에 작성 → 함수 사용자의 이행도 UP
- 세 개의 따옴표로 docstring 영역표시(함수명 아래)

'Computer programming > python' 카테고리의 다른 글
[Python] re 모듈(regex: 정규식 모듈) (0) | 2022.01.21 |
---|---|
파이썬으로 데이터 다루기 (0) | 2022.01.19 |
파이썬 기초 문법 III (0) | 2022.01.19 |
파이썬 기초 문법 II (0) | 2022.01.11 |
파이썬/AI 개발 환경 준비하기 (0) | 2022.01.08 |