python
이전 페이지 다음 페이지
변수는 값을 저장하기 위한 예약된 메모리 위치에 불과합니다. 즉, 변수를 생성하면 메모리에 일정한 공간을 예약하게 됩니다.
변수의 데이터 타입에 따라 인터프리터는 메모리를 할당하고 예약된 메모리에 무엇을 저장할지 결정합니다. 따라서 변수에 다른 데이터 타입을 할당하여 정수, 소수, 문자를 이 변수들에 저장할 수 있습니다.
파이썬 변수는 메모리 공간을 예약하기 위해 명시적 선언이 필요하지 않습니다. 변수에 값을 할당할 때 자동으로 선언됩니다. 등호(=)는 변수에 값을 할당하는 데 사용됩니다.
= 연산자 왼쪽의 피연산자는 변수 이름이고, 오른쪽의 피연산자는 변수에 저장되는 값입니다. 예를 들어:
Live Demo#!/usr/bin/python counter = 100 # 정수 할당 miles = 1000.0 # 부동소수점 name = "John" # 문자열 print counter print miles print name
여기서 100, 1000.0, "John"은 각각 counter, miles, name 변수에 할당된 값입니다. 다음 결과가 생성됩니다.
100 1000.0 John
파이썬은 단일 값을 여러 변수에 동시에 할당할 수 있습니다. 예를 들어:
a = b = c = 1
여기서 값 1을 가진 정수 객체가 생성되고, 세 변수 모두 같은 메모리 위치에 할당됩니다. 여러 객체를 여러 변수에 할당할 수도 있습니다. 예를 들어:
a, b, c = 1, 2, "john"
여기서 값 1과 2를 가진 두 정수 객체가 변수 a, b에 각각 할당되고, 값 "john"을 가진 문자열 객체가 변수 c에 할당됩니다.
메모리에 저장된 데이터는 여러 타입일 수 있습니다. 예를 들어, 사람의 나이는 숫자 값으로 저장되고 주소는 영숫자로 저장됩니다. 파이썬에는 연산 가능 여부와 각 타입의 저장 방식을 정의하는 다양한 표준 데이터 타입이 있습니다.
파이썬에는 다섯 가지 표준 데이터 타입이 있습니다.
숫자 데이터 타입은 숫자 값을 저장합니다. 숫자 객체는 값을 할당할 때 생성됩니다. 예를 들어:
var1 = 1 var2 = 10
del 문을 사용하여 숫자 객체에 대한 참조를 삭제할 수도 있습니다. del 문의 구문은 다음과 같습니다.
del var1[,var2[,var3[....,varN]]]]
del 문을 사용하여 단일 객체나 여러 객체를 삭제할 수 있습니다. 예를 들어:
del var del var_a, var_b
파이썬은 네 가지 다른 숫자 타입을 지원합니다.
다음은 숫자 예제들입니다.
| int | long | float | complex |
|---|---|---|---|
| 10 | 51924361L | 0.0 | 3.14j |
| 100 | -0x19323L | 15.20 | 45.j |
| -786 | 0122L | -21.9 | 9.322e-36j |
| 080 | 0xDEFABCECBDAECBFBAEl | 32.3+e18 | .876j |
| -0490 | 535633629843L | -90. | -.6545+0J |
| -0x260 | -052318172735L | -32.54e100 | 3e+26J |
| 0x69 | -4721885298529L | 70.2-E12 | 4.53e-7j |
파이썬은 long에 소문자 l을 허용하지만, 숫자 1과 혼동을 피하기 위해 대문자 L만 사용하는 것이 권장됩니다. 파이썬은 긴 정수를 대문자 L로 표시합니다.
복소수는 x + yj로 표시되는 실수 부동소수점 숫자의 순서쌍으로 구성되며, x와 y는 실수이고 j는 허수 단위(-1의 제곱근)입니다.
파이썬의 문자열은 따옴표로 표시된 연속된 문자 집합으로 식별됩니다. 파이썬은 단일 또는 이중 따옴표 쌍을 허용합니다. 문자열의 부분집합은 슬라이스 연산자([ ]와 [:])를 사용하여 인덱스 0부터 시작(문자열 끝에서 -1)하여 얻을 수 있습니다.
플러스(+) 기호는 문자열 연결 연산자이고, 별표(*)는 반복 연산자입니다. 예를 들어:
Live Demo#!/usr/bin/python str = 'Hello World!' print str # 전체 문자열 출력 print str[0] # 문자열의 첫 문자 출력 print str[2:5] # 3번째부터 5번째 문자 출력 print str[2:] # 3번째 문자부터 출력 print str * 2 # 문자열 두 번 출력 print str + "TEST" # 연결된 문자열 출력
다음 결과가 생성됩니다.
Hello World! H llo llo World! Hello World!Hello World! Hello World!TEST
리스트는 파이썬에서 가장 다재다능한 복합 데이터 타입입니다. 리스트는 쉼표로 구분된 항목들이 대괄호([]) 안에 포함된 형태입니다. 리스트는 C의 배열과 어느 정도 유사합니다. 차이점은 리스트의 모든 항목이 서로 다른 데이터 타입일 수 있다는 것입니다.
리스트에 저장된 값은 슬라이스 연산자([ ]와 [:])를 사용하여 인덱스 0부터 시작하여 접근할 수 있습니다. 플러스(+) 기호는 리스트 연결 연산자이고, 별표(*)는 반복 연산자입니다. 예를 들어:
#!/usr/bin/python list = ['abcd', 786, 2.23, 'john', 70.2] tinylist = [123, 'john'] print list # 전체 리스트 출력 print list[0] # 리스트의 첫 요소 출력 print list[1:3] # 2번째부터 3번째 요소 출력 print list[2:] # 3번째 요소부터 출력 print tinylist * 2 # 리스트 두 번 출력 print list + tinylist # 연결된 리스트 출력
다음 결과가 생성됩니다.
['abcd', 786, 2.23, 'john', 70.2] abcd [786, 2.23] [2.23, 'john', 70.2] [123, 'john', 123, 'john'] ['abcd', 786, 2.23, 'john', 70.2, 123, 'john']
튜플은 리스트와 유사한 또 다른 시퀀스 데이터 타입입니다. 튜플은 쉼표로 구분된 여러 값으로 구성됩니다. 리스트와 달리 튜플은 괄호로 묶입니다.
리스트와 튜플의 주요 차이점: 리스트는 대괄호([ ])로 묶이고 요소와 크기를 변경할 수 있지만, 튜플은 괄호(( ))로 묶이고 업데이트할 수 없습니다. 튜플을 읽기 전용(read-only) 리스트로 생각할 수 있습니다. 예를 들어:
Live Demo#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')
print tuple # 전체 튜플 출력
print tuple[0] # 튜플의 첫 요소 출력
print tuple[1:3] # 2번째부터 3번째 요소 출력
print tuple[2:] # 3번째 요소부터 출력
print tinytuple * 2 # 튜플 내용 두 번 출력
print tuple + tinytuple # 연결된 튜플 출력
다음 결과가 생성됩니다.
('abcd', 786, 2.23, 'john', 70.2)
abcd
(786, 2.23)
(2.23, 'john', 70.2)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.2, 123, 'john')
다음 코드는 튜플에서 유효하지 않습니다. 튜플을 업데이트하려 했기 때문입니다. 리스트에서는 가능한 경우입니다.
#!/usr/bin/python
tuple = ('abcd', 786, 2.23, 'john', 70.2)
list = ['abcd', 786, 2.23, 'john', 70.2]
tuple[2] = 1000 # 튜플에서 유효하지 않은 구문
list[2] = 1000 # 리스트에서 유효한 구문
파이썬의 딕셔너리는 일종의 해시 테이블 타입입니다. 펄(Perl)에서 발견되는 연관 배열이나 해시처럼 작동하며 키-값 쌍으로 구성됩니다. 딕셔너리 키는 거의 모든 파이썬 타입이 될 수 있지만, 보통 숫자나 문자열입니다. 반면 값은 임의의 파이썬 객체가 될 수 있습니다.
딕셔너리는 중괄호({ })로 묶이며, 값은 대괄호([])를 사용하여 할당하고 접근할 수 있습니다. 예를 들어:
Live Demo#!/usr/bin/python
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}
print dict['one'] # 'one' 키의 값 출력
print dict[2] # 2 키의 값 출력
print tinydict # 전체 딕셔너리 출력
print tinydict.keys() # 모든 키 출력
print tinydict.values() # 모든 값 출력
다음 결과가 생성됩니다.
This is one
This is two
{'dept': 'sales', 'code': 6734, 'name': 'john'}
['dept', 'code', 'name']
['sales', 6734, 'john']
딕셔너리에는 요소 간 순서 개념이 없습니다. 요소가 "out of order"라고 말하는 것은 잘못된 것입니다. 단순히 순서가 없을 뿐입니다.
때로는 내장 타입 간의 변환이 필요할 수 있습니다. 타입 간 변환하려면 타입 이름을 함수로 사용하면 됩니다.
한 데이터 타입에서 다른 타입으로 변환을 수행하는 여러 내장 함수가 있습니다. 이 함수들은 변환된 값을 나타내는 새 객체를 반환합니다.
| 번호 | 함수 및 설명 |
|---|---|
| 1 | int(x [,base]) x를 정수로 변환. base는 x가 문자열일 때 진법을 지정. |
| 2 | long(x [,base]) x를 긴 정수로 변환. base는 x가 문자열일 때 진법을 지정. |
| 3 | float(x) x를 부동소수점 숫자로 변환. |
| 4 | complex(real [,imag]) 복소수 생성. |
| 5 | str(x) 객체 x를 문자열 표현으로 변환. |
| 6 | repr(x) 객체 x를 표현식 문자열로 변환. |
| 7 | eval(str) 문자열을 평가하여 객체 반환. |
| 8 | tuple(s) s를 튜플로 변환. |
| 9 | list(s) s를 리스트로 변환. |
| 10 | set(s) s를 집합으로 변환. |
| 11 | dict(d) 딕셔너리 생성. d는 (키,값) 튜플 시퀀스여야 함. |
| 12 | frozenset(s) s를 불변 집합으로 변환. |
| 13 | chr(x) 정수를 문자로 변환. |
| 14 | unichr(x) 정수를 유니코드 문자로 변환. |
| 15 | ord(x) 단일 문자를 정수 값으로 변환. |
| 16 | hex(x) 정수를 16진수 문자열로 변환. |
| 17 | oct(x) 정수를 8진수 문자열로 변환. |
python
Java에서 변수란? 변수는 Java 프로그램 실행 중 데이터를 보관하는 명명된 메모리 위치입니다. 모든 변수는 저장할 값의 종류와 필요한 메모리 양을 지정하는 데이터 타입이 할당됩니다. Java 변수는 세 가지 주요 범주로 나뉩니다: 지역 변수(Local variables) — 메서드나 블록 내부 선언. 인스턴스 변수(Instance variables) — 클래스 내 메서드 밖 선언, 개별 객체에 속함. 정적 변수(Static variables) — static 키워드로 선언, 클래스 자체에 속하며 프로그램 시작 시 한 번 초
Python에서 변수란? Python 변수는 값을 저장하는 예약된 메모리 위치입니다. 프로그램에서 변수는 컴퓨터가 처리할 데이터를 제공합니다. Python 변수 타입 Python의 모든 값은 데이터 타입을 가집니다. 숫자, 리스트, 튜플, 문자열, 딕셔너리 등. 변수명은 a, aa, abc 같은 유효한 식별자 가능. 변수 선언과 사용 변수 a를 선언하고 값 출력하는 간단 예제: a=100 print(a) 변수 재선언 Python은 생성된 변수를 재할당할 수 있습니다. Python 2와 3 모두에서 시연: Python 2: #