CodeGym /자바 코스 /Python SELF KO /변수 사용하기

변수 사용하기

Python SELF KO
레벨 2 , 레슨 1
사용 가능

1.1. 변수란 무엇인가?

Python에서 변수란 객체에 할당된 이름으로, 데이터 저장, 변경 및 접근에 사용된단다. Python은 동적 타이핑 언어로, 변수의 타입은 그 값이 할당될 때 결정되고, 코드 실행 중에 그 타입이 바뀔 수 있어.

Python 변수의 주요 측면:

1. 선언 및 할당:

Python에서는 변수를 선언할 필요가 없어 메모리를 예약하려고. 변수에 값을 할당하면 자동으로 메모리가 예약되고 타입이 결정되지. 예를 들어, x = 10x라는 이름의 변수를 만들고 그 값으로 10을 할당해줘.

2. 명명 규칙:

변수 이름은 설명적이어야 하고, Python 식별자 규칙을 따라야 해, 예를 들어 숫자로 시작하면 안 되고 특수 문자도 포함하면 안 돼, 밑줄은 빼고.

예시:

name1 = "Alex" name1 — 좋은 이름이야.
user_age = 5 user_age — 좋은 이름이야.
%city% = 7 %city% — 나쁜 이름, 특수 문자가 들어있어.
1234qwerty = 1234 나쁜 이름 — 숫자로 시작해.

3. 동적 타이핑:

언급했듯이, Python의 변수 타입은 프로그램 실행 중에 결정되므로, 언어가 유연하고 개발에 편리하다. 프로그램 진행하면서 타입이 변하는 예: x = 10 코드는 x에 숫자 값을 할당하고, x = "hello" 코드는 x에 문자열 값을 할당해줘.

예시:

age = "Alexander" 변수 age는 "Alexander"라는 텍스트 문자열을 담고 있어
age = 35 변수 age는 35라는 숫자를 담고 있어
age = "London" 변수 age는 "London"이라는 텍스트 문자열을 담고 있어
age = 3.14 변수 age는 3.14라는 부동 소수점 숫자를 담고 있어

4. 변수의 참조 특성:

Python에서 변수는 객체에 대한 참조야. 즉, 변수에 값이 할당되면, 그 값이 담긴 객체에 대한 참조가 만들어지는거야. 만약 xy가 같은 객체를 가리키면, x를 통해 이루어진 변경은 y에도 반영되는데, 두 변수 모두 메모리의 같은 객체를 참조하고 있기 때문이지.

5. 스코프:

변수의 스코프는 프로그램 중에서 변수가 접근 가능한 부분을 결정해줘. Python은 로컬, 글로벌, 그리고 (내포된 함수의) 넌로컬 변수를 지원해. 이 주제는 좀 나중에 자세히 알아볼 거야. 한번에 전부 다룰 순 없으니까.

6. 메모리 관리:

Python은 변수를 위해 자동으로 메모리를 관리하며, 가비지 컬렉터를 사용해 사용되지 않는 메모리를 추적하고 해제해줘.

7. 불변 객체:

Python의 몇몇 데이터 타입, 예를 들어 문자열과 튜플은 불변이야. 이는 그 내용을 생성 후 변경할 수 없다는 걸 의미해. 이런 데이터를 변경하려고 시도하면 새로운 객체가 만들어져.

8. 다중 할당:

Python에서는 한 줄에 여러 할당 작업을 할 수 있어. 예시:

x = 1
y = 2 x, y, z = 1, 2, 3
z = 3

1.2. 데이터 타입

Python은 프로그램 내에서 데이터 저장과 조작에 사용되는 여러 기본 데이터 타입을 지원해. 여기 int, str, float 그리고 bool이 포함돼.

int (정수)

int 데이터 타입은 소수 부분이 없는 정수를 나타내는 데 사용돼. 양수와 음수를 모두 저장할 수 있지. 예를 들어, x = 5는 변수 x에 정수 5를 할당해.

str (문자열)

str 타입은 텍스트 정보, 즉 문자열을 저장하는 데 사용돼. Python에서는 문자열을 홑따옴표나 쌍따옴표로 묶어. 예를 들어, name = "John"는 변수 name에 문자열 "John"을 할당해. Python의 문자열은 연결, 복사 등 여러 가지 작업을 지원하고, 텍스트 처리를 위한 다양한 메서드도 제공해.

float (부동 소수점 숫자)

float 타입은 소수점이 있는 숫자를 나타내는 데 사용돼. 이런 숫자는 소수점을 사용해 기록해. 예를 들어, pi = 3.14는 변수 pi에 π 값을 소수점 두 자리로 반올림한 값을 할당해.

bool (불값)

불 데이터 타입 bool은 두 가지 값 중 하나를 취해: True 또는 False. 주로 조건문과 루프에서 조건의 실행을 제어하는 데 사용돼. 예를 들어, is_valid = True 는 변수 is_validTrue라는 불 값을 가졌음을 나타내.

이런 데이터 타입들은 Python에서 더 복잡한 데이터 구조와 알고리즘을 구축하는 기반이 되며, 프로그래머들이 데이터와 로직을 효과적으로 관리할 수 있게 해줘.

1.3. 변수 이름

Python에서, 변수 이름은 단순히 데이터를 참조하는 방법이 아니라 코드의 핵심 요소로, 코드의 이해를 돕고 유지보수를 편리하게 만들어. 올바른 변수 이름 선택은 코드 이해와 디버깅을 크게 도와주고, 나쁜 선택은 혼란과 오류를 초래할 수 있어.

Python 변수 명명 규칙:

명확한 이름 사용: 변수 이름은 그 변수가 담고 있는 데이터를 반영해야 해서 코드가 쉽게 읽히도록 만들어야 해. 예를 들어, сountx보다는, 변수가 뭔가를 세기 위해 사용된다면 더 나아.

스타일 기준 준수: Python에서 일반적으로 받아들여지는 기준은 PEP 8로, 변수 이름에 소문자와 밑줄을 사용하는 걸 권장해 (예를 들어, my_variable).

키워드 충돌 피하기: Python의 문법을 위한 예약어는 사용하면 안 돼, 예를 들어 if, else, class, return 등이야. 이는 실행 오류를 초래할 수 있어.

작은 규모 변수에 짧은 이름 사용: 코드의 작은 블록에서 사용되는 로컬 변수에는 ij와 같은 짧은 이름이 종종 적합하고 코드를 더 간결하게 만들어.

글로벌 변수에 길고 설명적인 이름 사용: 프로그램의 여러 부분에서 사용되는 글로벌 변수와 상수는 더 길고 설명적인 이름을 가져야 해서 그 목적이 분명해.

좋은 변수 이름 예:

user_age 대신 age (컨텍스트에 여러 나이가 있을 때)

total_price 대신 total (이 가격임을 명확히 함)

max_height 또는 min_height 대신 max_h 또는 min_h

특별한 경우:

많은 알고리즘, 특히 수학적 및 과학적 알고리즘에서는 단일 문자 변수를 사용하는 것이 일반적이야 (예: 좌표에서는 x, y, z). 이런 스타일이 산업 표준이고 코드 이해를 높이는 경우에 허용돼.

Python에서 변수 이름은 효과적이고 유지 가능한 코드를 만드는 데 중요한 역할을 해. 그러니까 귀찮아하지 말고 좋은 이름을 고민해봐. 그래야 디버깅과 코드 유지 관리가 훨씬 쉬워지고, 다른 프로그래머들에게도 더 접근 가능해질 수 있어.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION