3 분 소요

2-1 Variables

Variable

:가장 기초적인 프로그래밍 문법 개념

변수는 어디에 저장될까?

변수는 메모리 주소를 가지고 있고

변수에 들어가는 값은 메모리 주소에 할당됨

컴퓨터의 구조 - 폰노이만 아키텍쳐

a = 8 의 의미 : a라는 이름을 가진 메모리 주소에 8을 저장하라

변수의 작명 : 알파벳, 숫자, 언더바(_) 로 작명 / 의미있는 단어로 표기

Basic Operation(간단한 연산)

자료형 : int, float, str, bool

자료형에 따라 메모리 크기가 달라짐

Dynamic Typing: 코드 실행시점에 데이터의 type를 결정하는 방법

ㄴ 따로 type 결정안해줘도 됨

ㄴ 파이썬에서 가능한 방법.

ㄴ 사용자 친화적이긴 하지만 연산은 조금 느릴 수 있다.

List & Array

list 에 있는 값들은 주소를 가짐

리스트 추가 삭제

append, extend, remove, del

python list 의 특징

다양한 data type를 하나의 list에 넣을 수 있음

리스트 복사

그냥 b = a 하면

같은 주소를 지정하게 되어 a의 값들을 바꾸면 b도 같이 바뀌게 된다.

  • 1차원
b= a[:]

를 하면 같은 주소를 지정하지 않고도 리스트를 복사할 수 있음 (1차원에서만 가능)

  • 2차원
import copy
b = copy.deepcopy(a)

* 컴퓨터의 반올림 오차

단순한 실수(소수)도 이진수로 변환하면 무한소수가 됨

2-2 Functions and Console IO

Function

어떤 일을 수행하는 코드의 덩어리

ㄴ 코드를 논리적 단위로 분리 (캡슐화)

일단 알고 있는 기초 내용이다.

(Ai tech 코딩테스트 준비하면서 공부했던 내용들)

함수 형태

parameter 유무 / 반환여부에 따라 함수의 형태가 다름

Console In/Out

CLI : Command Line Interface

mac 에서는 terminal 사용

콘솔창 입출력

  1. input()

    input (“~~ “) : 사용시 ~~ 출력후 입력 받음

  2. print()

​ 출력형식

​ 1) %string %(‘~’)

​ *padding

​ ex) %10.3f : 10칸을 비우고 3칸은 소수로 사용

​ 2) ‘’{}’’ .format

​ 3) f-string

name = "Suntae"
age = 39

print(f"My name is {name}\, and I'm {age}") 

print(f'{name:20}')
#20칸 비워놔
print(f'{name:>20}')
#20칸 비워놓고 오른쪽 정렬
print(f'{name:*<20}')
#20칸 비워놓고 *로 채워 왼쪽 정렬
print(f'{name:*^20}')
#20칸 비워놓고 *로 채워 가운데 정렬

3. Conditionals and Loops

Conditions : 조건문

파이썬에서는 if / else/ elif 의 ‘‘예약어’‘를 사용해서 함.

  • (a == b) 와 (a is b) 의 차이

    a is b : 주소를 비교함

    a == b : 값을 비교함

    • -5~256까지는 같은 메모리 주소를 사용하는 초창기 관습이 남아있음.

debugging

: 코드의 오류를 발견하여 수정하는 과정

1) 문법적 에러 2) 논리적 에러

4.String & advanced function concept

string 은 1byte 크기로 한 글자씩 메모리 공간이 할당 됨.

1 byte = 8 bit = 2^8 = 256 까지 저장 가능

기본적으로 UTF-8으로 가장 많이 쓰이고 있다.

  • 정수

int -> 4 바이트

long -> 무제한

  • 실수

float -> 8 바이트

Raw string

(r 붙이면 그대로 나옴)

raw_string = "자면 큰일난다.\n 진심"
print(raw_string)
# 자면 큰일난다
# 진심

raw_string = r"자면 큰일난다.\n 진심"
print(raw_string)
# 자면 큰일난다.\n 진심

Call by Object Reference

파이썬은 value, reference 로 호출되는것이 아니라

객체의 주소가 함수로 전달되는 방식이다.

ㄴ swap 할 때 꿀 떡

Scoping Rule

변수의 번위

  • local variable : 함수 내에서만 사용

  • global varialble: 프로그램 전체에서 사용

Recursive Function

재귀 함수

Function type hints

파이썬의 큰 특징 : dynamic typing

(변수 선언시 type 까지 지정함)

def do_function(var_name: str)
	return 

ㄴ 사용자에게 인터페이스, parameter 정보를 명확히 알려줄 수 있다.

Docstring

상세 스펙을 미리 작성

따옴표 세개 사이에 주석 달아주는 느낌 ㅇㅇ

vscode에서 cmd shift p 로 docstring 키면 자동으로 생성해주기도 함

def ans(a,b,list):
    """_summary_

    Args:
        a (_type_): _description_
        b (_type_): _description_
        list (_type_): _description_
    """    
    return
  

함수작성 가이드 라인

함수는 짧게, 이름은 역할과 의도 드러나게

공통적으로 많이 사용되는 코드,

복잡한 수식, 복잡한 조건은 함수로 처리

코딩 컨벤션 (통용되는 규칙)

중요한 건 일관성

읽기좋은 코드가 좋은 코드

들여쓰기는 Tab or 4 space

한 줄은 최대 79자까지

불필요 공백 피함

연산자는 1칸 이상 안 띄움

주석 갱신 필수(간단 명료하게 작성)

코드 마지막에는 항상 한 줄 추가

소문자 l, 대문자 I, 대문자 O 금지 (햇갈림)

함수는 소문자로 구성

PEP8

cmd에서 활용할 수 있음

  • flake8 모듈로 체크

    flake8 <파일명>

    conda install -c anaconda flake8

  • black 모듈로 알아서 고쳐주기

    black <파일명>

    conda install black

카테고리:

업데이트:

댓글남기기