Python 기초 - 1.변수, 연산자
프로그래밍 언어
프로그램 언어 = 관련된 작업을 위한 명령어의 집합
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)
- …
- 왼쪽은 반드시 변수가 되어야 한다. 상수 입력 불가.
댓글남기기