변수 - 저장 공간
즉, 변수는 값을 담는 저장 공간이다.
예를 들어 x = 10이라고 선언하면 x라는 이름의 저장 공간이 RAM에 만들어지고 10이라는 값이 들어간다.
자료형(Type) - 저장 공간의 종류, 값
파이썬은 동적 체계를 가진 해석된 객체 지향 고급 프로그래밍 언어이다. 즉, 동적 바인딩이다.
바인딩 - 프로그램 구성 요소의 성격을 결정해주는 것
데이터 타입이 무엇인지 정해지는 것
파이썬 - 동적 바인딩 -> 실행 시간(runtime)에 성격이 결정되는 것
Python(Interpreter 언어) 런타임에 값에 따라 변수의 데이터 타입이 결정
정수(int) 0, 10, -187, ...
실수(float) 0.0, 10.58, -77.568, ...
문자열(str) '0', "0.0", """한동석""", '''Python''', ...
리스트(list) [1, 2, 3], [0], [3,], ...
튜플(tuple) (1, 2), (), 1, 2, 3, (1,), ...
딕셔너리(dict) {key:value,}, ...
집합(set) {1, 2, 3}, {1}, ...
불린(bool) True, False
⭐️ 변수명 주의 사항
- 문자로 시작해야 한다.
- 특수문자는 사용할 수 없다. 단, _는 허용한다.
- 소문자로 시작한다.
- 공백을 사용할 수 없다.
- 되도록 한글은 사용하지 않는다.
- 명사로 사용한다.
- 뜻이 이는 단어를 사용한다.
- - a, b, c, d, e , ... (X)
- - data, number, age, name, ... (0)
⭐️표기법
❤️ 파스칼(클래스명, 오류) = PascalCase / 대문자로 시작하고 이어지는 단어의 시작은 대문자로 작성한다.
카멜(Java 등에서 사용) = camelCase / 소문자로 시작하고 이어지는 단어의 시작은 대문자로 작성한다.
❤️ 스네이크(변수, 함수) = snake_case / 단어 사이에 _를 작성한다. => python
케밥(html, css, URL 등에서 사용) = kebab-case
서식문자
따옴표 안에서 변수 또는 값을 사용해야 할 때 작성한다.
반드시 따옴표 안에서 작성해야 한다.
----------------------------------
서식문자 설명
----------------------------------
%d 10진수 정수 표현
%f 실수 표현
%s 문자열 표현
----------------------------------
변수 사용
반복되는 값을 쉽게 관리하고자 할 때 사용
값에 의미 부여를 할 때 사용(자료구조)
알고리즘과 자료구조
1. 알고리즘이란, 문제가 발생했을 때 해결할 수 있는 절차
ex) 3과 1을 더해서 결과를 출력하시오
- 두 정수를 담을 변수 선언
- 두 정수의 합을 담을 변수 선언
- 형식에 맞게 작성한 문자열 값을 담을 변수 선언
- 형식을 출력한다.
2. 자료구조란, 의미 없는 값을 하나의 정보로 변환하고 이는 저장공간의 종류를 의미한다.
ex) 3개의 정수가 있을 때, 이를 빠르게 가져오는 서비스를 제작해야 한다.
빠르게 가져올 때에는 list에 담아주는 것이 효과적이다.
형변환
bin(), oct(), hex(), int(), float(), bool, ...
python = 순수 객체지향 언어(class) -> heap 메모리만 사용 -> pvm이 heap 메모리에 위치
# 여러 개의 변수를 한 줄에 선언
a = 10; b = 20; c = 30
print(a,b,c, sep=', ')
# 10, 20, 30
a, b, c = 100, 200, 300 #(a,b,c) = (100, 200, 300) -> tuple
print(a,b,c, sep=', ')
#100, 200, 300
# 변수의 값 서로 바꾸기
temp = a
a = b
b = temp
print(a, b)
a, b = b, a
print(a, b)
# 동적 바인딩
a = 10
print(type(a))
a = 10.5
print(type(a))
a = 'A'
print(type(a))
a = 'abc'
print(type(a))
a = ['a', 'b', 'c']
print(type(a))
#<class 'int'>
#<class 'float'>
#<class 'str'>
#<class 'str'>
#<class 'list'>
#<class 'dict'>
#<class 'bool'>
# 변수명 주의사항
variable_int = 10
print(type(variable_int))
variable_float = 10.5
print(type(variable_float))
variable_char = 'A'
print(type(variable_char))
variable_string = "ABC"
print(type(variable_string))
variable_list = ['A', 'B', 'C']
print(type(variable_list))
variable_dict = {'A': 1, 'B': 2, 'C': 3}
print(type(variable_dict))
#<class 'int'>
#<class 'float'>
#<class 'str'>
#<class 'str'>
#<class 'list'>
#<class 'dict'>
# 서식문자
name = '장태훈'
print("이름: %s" %name)
print("이름: %s" %'abc')
age = 20
print("나이: %d" %age)
height = 15.55
print("키: %.1f" %height)
height = 15.45
print("키: %.1f" %height)
# 5의 경우에는 5의 앞자리가 홀수인 경우에 올림을 하고 짝수인 경우 버림을 하여 짝수로 만들어준다.
# 예를 들어 53.45는 53.4로, 32.75는 32.8로 반올림한다.
# 이를 오사오입(round-to-nearest_even) -> 평균값 오차가 가장 적다.
formatting = "이름: %s\n나이: %d살\n키:%.1fcm" %(name, age, height) #문자열로 담긴다.
# format 함수
name = '장태훈'
age = 80
height = 156.26
print('이름: {}\n나이: {}\n키: {:.1f}\n'.format(name, age, height))
print('이름: {0}\n나이: {1}\n키: {2:.1f}\n'.format(name, age, height)) #list
print('이름: {1}\n나이: {0}\n키: {2:.1f}\n'.format(name, age, height))
print('이름: {name}\n나이: {age}\n키: {height}\n'.format(name=name, age=age, height=height)) #dictionary
#이름: 장태훈
#나이: 80
#키: 156.3
#이름: 장태훈
#나이: 80
#키: 156.3
#이름: 80
#나이: 장태훈
#키: 156.3
#이름: 장태훈
#나이: 80
#키: 156.26
'Python' 카테고리의 다른 글
딥러닝으로 구현한 한식 구별 - 한식 도감 만들기 배포, AWS (0) | 2024.11.18 |
---|---|
Python(4) (0) | 2024.09.09 |
Python(3) (0) | 2024.09.09 |
python(1) (0) | 2024.01.16 |