Python 기초 - 1.변수, 연산자

2 분 소요

프로그래밍 언어

프로그램 언어 = 관련된 작업을 위한 명령어의 집합

CPU = 컴퓨터의 뇌, 계산을 담당하는 부분, 명령을 주면 CPU가 판독하여 실행한다.

메모리(RAM) = 컴퓨터의 기억을 담당하는 부분

언어의 종류:

저급언어: assembly & binary(이진수, 또는 기계어/Machine language) 바이너리로는 사람이 명령을 작성하기가 어렵기 때문에 어셈블리어로 작성하고 기계어로 변환(assemble)

고급언어: C, Java, Python 등 프로그래밍 언어 어셈블리어도 여전히 어렵고 불편하여 프로그래밍 언어를 개발. 번역방식에 따라 컴파일드 언어와 인터프리티드 언어로 구분된다.

  • Compiled Language: 다수의 명령어로 이루어진 소스코드를 한 번에 기계어로 번역해서 실행 파일을 만들어 냄. Runtime 속도가 빠른 장점. C, C#, Java 등
  • Interpreted Language: 소스코드를 한 줄씩 기계어로 번역해서 실행. 그래서 스크립트 언어라고도 부름. 한 줄씩 읽고 번역하기 때문에 컴파일드 언어에 비해 상대적으로 속도가 느림. 다만, 빌드과정이 없어서 바로 Runtime 실행이 가능한 장점이 있음. R, Python, Ruby, javascript 등

언어 전달순서: 소스 작성 -> 컴파일(컴퓨터의 언어인 바이너리로 번역) -> 프로그램 실행

문법은 따로 외우는 것보다 코드를 많이 짜면 자연스럽게 외워진다!

변수(variable)

변수: 값을 담는 그릇. 변수는 값이 바뀔 수 있다. 파이썬은 변수를 선언하지 않고도 바로 사용이 가능하다!

변수 이름 규칙:

  • 영문 (대소문자 구분), 한글도 가능, 숫자도 포함 가능하지만 첫 글자로는 안됨, 언더바_
  • 변수 이름은 어떤 값을 갖고 있는지 예측할 수 있는 이름을 부여해주는 것이 좋다

  • = , 대입연산자를 사용하여 변수의 값을 정의한다

메모리에는 주소가 정해져 있는데 매번 주소를 기억하기 어렵기 때문에 변수에 이름을 부여하고 값을 입력한다. (파이썬은 참조형)

변수 예)

  • name=’aaa’ (문자열)

  • age=12 (정수)

  • height=170.4 (실수)

정의한 변수 이름을 호출하면 값을 호출하는 것과 같다

함수(기초)

  • 함수 == 기능

  • print() : 콘솔 출력기능

  • 상수(constant): 변하지 않는 값 (예를 들어 a=1 이라고 정한 후 a가 더이상 바뀌지 않는 경우)

  • 리터럴(literal): 데이터 그 자체를 의미 (a=1에서 1, 값 그 자체를 의미)

  • input(): 키보드 입력 함수. 키보드 입력값은 문자열로 받아들여진다(str)

  • 파라미터 (출력내용, 입력된 값을 대입할 변수)

  • 캐스팅 함수

    • int(‘123’) → 문자 ‘123’을 정수 123으로 변환
    • float(‘23.345’) → 문자 ‘23.345’를 실수 23.345로 변환
    • str(12) → 숫자 12를 문자 ‘12’로 변환

값의 종류(type)

  • 문자열(str - string) : ‘asd’, “asdf”
  • 숫자
    • 정수(int - integer) : 12, 45, -123
    • 실수(float) : 12.234, 3.14159
  • boolean(bool) : True, False

파이썬은 다른 데이터 타입 간의 수식이 불가능 (예, ‘abc’ + 3 은 불가능 (자바에서는 가능하다고 함))

변수의 타입은 할당된 값에 의해 지정된다

연산자

산술연산자

  • + : 덧셈
  • - : 뺄셈
  • * : 곱셈
  • / : 나눗셈, 나눈 몫을 소수점까지 반환
  • // : 나눗셈, 나눈 몫을 정수로 반환
  • % : 나눗셈, 나눈 나머지를 반환 (예, 5 % 2 → 1 )
  • ** : 거듭제곱

비교연산자

  • > : 왼쪽보다 오른쪽이 작다
  • >= : 왼쪽보다 오른쪽이 작거나 같다
  • < : 왼쪽보다 오른쪽이 크다
  • <= : 왼쪽보다 오른쪽이 크거나 같다
  • == : 같다
  • != : 같지않다

논리연산자

  • and : 두 조건을 다 만족해야 True, 하나라도 안 맞으면 False
  • or : 두 조건 중 하나만 만족해도 True, 둘 다 안 맞으면 False
  • not : 논리부정. 조건이 False면 True, True면 False

대입연산자

  • = : 오른쪽의 값을 왼쪽에 대입
  • += (a+=10 → a=a+10) 앞의 값에 뒤의 값을 더해서 대입. 누적효과.
  • -= (a-=10 → a=a-10)
  • = (a=10 → a=a*10)
  • /= (a/=10 → a=a/10)
  • %= (a%=10 → a=a%10)
  • 왼쪽은 반드시 변수가 되어야 한다. 상수 입력 불가.

댓글남기기