Language/Python / / 2021. 4. 27. 10:39

[Python] 3. 파이썬의 자료형과 기본 문법.

반응형

변수명
첫글자는 문자로 시작 되어야 하며,
두번째 문자부터 영문자, 숫자, _ 를 사용할 수 있다.

예약어
아래와 같은 문자는 예약어 이므로 변수명으로 사용할 수 없다.

>>> import keyword
>>> keyword.kwlist     # 예약어 목록을 보여준다.
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally',  'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

※ 변수 만들 때, 내장 함수 이름이나, 모듈 이름은 피하는 것이 좋다. 같은 이름으로 지정시 함수를 만들고 다시 변수로 지정시, 함수를 사용할 수 없게 된다.

줄바꾸기

>>> if(a == 1) and     # 다음 라인과 하나로 간주한다.
     (b == 3) :
 print 'test'

값 할당.

>> x = y = z = 0  # 여러 개를 같은 값 0으로 치환.
>> c, d = 3, 4    #여러개를 한꺼번에.
>> a = 3.1; b = 3.4    # ; 로 구분.

그러나
>> a = (b = c + d)
는 안된다.

새로운 값으로 치환되고 변수 형을 따로 지정하지 않으므로 문자열<-> 숫자 로 변형이 자유롭다.

>>> a = 1
>>> type(a)     # 자료형 확인
<type 'int'>
>>> a = 'Hello'
>>> a
'Hello'
>>> type(a)
<type 'str'>
>>>

변수명과 객체
다른 언어와 달리 a = 1 일 경우 숫자 1이 a라는 변수에 저장되는 것이 아니다.
a를 이름 1을 객체라고 한다.
그래서 a, 1 은 별도로 존재하며 a 가 1을 가르키는 형태로 되어 있다.


자료형

 자료형 설명 예 
 수치형(Number) 정수, 롱형, 실수, 복소수 등 표현   1,13L, 14.2, 1+2j
 문자열  문자  'aa'
 리스트  순서를 가지는 임의 객체의 집합  ['aa','bb']
 사전  순서를 가지지 않는 객체의 집합. 키 값으로 꺼냄. 자바의 Map 과 비슷.  {'aa':1, 'bb':2}
 튜플  순서를 가지는 임의의 객체의 집합.
 내용변경이 안됨
('aa', 'bb') 
 파일 파일에 자료를 입출력하기 위한 객체 f = open('aa') 

문자열

>>> str = 'Hello World'
>>> str[0], str[1]
('H', 'e')
>>> str[1:3]
'el'
>>> str[:]
'Hello World'
>>> str[:2]
'He'
>>> 'H' * 2
'HH'
>>> str[0] = 1         # 값은 변경 되지 않는다.
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    str[0] = 1
TypeError: 'str' object does not support item assignment
>>>

리스트

>>> list = [1,2,3]
>>> len(list)
3
>>> list[1]    # 0부터 시작한다.
2
>>> list[-1]
3
>>> list[1:3]
[2, 3]
>>> list + list
[1, 2, 3, 1, 2, 3]
>>> list = range(10)
>>> list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list[::2]     # :: 두개면 2개 건너 뛰어서 값을 가져옴.
[0, 2, 4, 6, 8]
>>> list[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
>>> 4 in list
True
>>> list.append(4)      # 추가하고 싶을때
>>> list
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4]
>>> del list[0]    #  값 삭제
>>> list
[1, 2, 3, 4, 5, 6, 7, 8, 9, 4]
>>> list.reverse()   #  순서 바꾸기
>>> list
[4, 9, 8, 7, 6, 5, 4, 3, 2, 1]
>>> list.sort()    #오름 차순 정렬
>>> list
[1, 2, 3, 4, 4, 5, 6, 7, 8, 9]
>>>

튜플
리스트와 비슷하다. 차이점은 값을 변경 하지 못한다.

>>> t = (1,2,3)
>>> t[0] = 100
Traceback (most recent call last):
  File "<pyshell#51>", line 1, in <module>
    t[0] = 100
TypeError: 'tuple' object does not support item assignment
>>>

사전

>>> d = {'a':1, 'b':2}
>>> d['a']
1
>>> d['c'] = 3
>>> d
{'a': 1, 'c': 3, 'b': 2}
>>> d['a'] = 1.0
>>> d
{'a': 1.0, 'c': 3, 'b': 2}
>>> 'a' in d
True
>>> d.keys()
['a', 'c', 'b']
>>> d.values()
[1.0, 3, 2]
>>> d.items()
[('a', 1.0), ('c', 3), ('b', 2)]
>>>
반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유