반응형
1. 변수
1.1 숫자
- 사용되는 숫자는 기본적으로 '정수'를 사용하는 것으로 제한 ( c 와 동일)
1.2 문자열
- 변수에 문자열을 할당할 경우 자동으로 인식 & 저장 수행
test_string = "coffee" // 인터프리터는 test_string에 대해서 문자열이라는 선언을 하지 않았음에도, 저장되는 "coffee"문자열을 저장한다.
// python에서는 변수에 모든 data 형의 저장이 가능하다. ( 문자열, 숫자 가리지 않고 모두 저장 가능)
1.3 객체
- Python에서 모든 것은 객체로 취급된다.
- 모든 data는 객체로 저장된다. (그러나, 코드 개발에서 클래스를 작성해야하는 것은 아니다)
2. Python의 자료 구조
- 리스트(list), 튜플(tuple), 딕셔너리(dictionary), 집합(set) 의 자료 구조 종류를 갖는다.
2.1 리스트
- 배열 (array)와 유사
- index를 통해서 객체로의 접근이 가능
- 리스트의 크기는 동적으로 변화 가능
- 각 객체는 콤마(,)로 분리
- 각 객체를 일일이 대입해서 만들 경우 리터럴 리스트 라고 한다 ( literal list )
- 서로 다른 자료형의 객체를 자유롭게 섞어서 사용이 가능하다.
2.1.1 리스트 생성
- 좌측은 변수명 = 우측은 리스트 선언
test_list = [] ; // test_list 라는 이름의 리스트를 생성한다. 이때, 리스느는 비어있다.
2.1.2 append
vowels = ['a', 'e', 'i', 'o','u'] // vowels 이라는 이름의 리스트 생성
print(vowels)
vowels.append('y') // 'y'를 추가 함
print(vowels)
vowels.append('y') // 'y'를 추가 함
print(vowels)
['a', 'e', 'i', 'o', 'u']
['a', 'e', 'i', 'o', 'u', 'y']
2.1.3 리스트 내의 데이터 확인
- 'in' 또는 'not in' 키워드를 통해서 데이터를 확인
vowels = ['a', 'e', 'i', 'o','u']
word = "milliways"
word = "milliways"
for letter in word:
if letter in vowels:
print(letter)
if letter in vowels:
print(letter)
i
i
a
vowels = ['a', 'e', 'i', 'o','u']
word = "milliways"
found = []
for letter in word:
if letter in vowels:
if letter not in found:
found.append(letter)
for vowel in found:
print(vowel)
i
a
vowels = ['a', 'e', 'i', 'o','u']
word = input("Provide a word to search for vowels: ") // key 입력을 받아서 문자열 리스트를 생성한다.
found = []
for letter in word:
if letter in vowels:
if letter not in found:
found.append(letter)
for vowel in found:
print(vowel)
=============== RESTART: D:/프로그래밍/파이썬/example file/vowels3.py ===============
Provide a word to search for vowels: aaaaeidujdkskdj
a
e
i
u
2.1.4 remove
- 리스트 내에서 특정 객체를 삭제하고, 전체 사이즈를 1 만큼 줄인다.
>>> nums = [1,2,3,4]
>>> nums
[1, 2, 3, 4]
>>> nums.remove(3)
>>> nums
[1, 2, 4]
2.1.5 pop
- 인텍스를 기준으로 객체를 리스트에서 삭제하고 반환한다.
- 인덱스를 지정하지않을 경우에는 리스트의 마지막 객체를 삭제하고 반환한다.
>>> nums
[1, 2]
>>> nums.pop()
2
>>> nums
[1]
2.1.6 extend
- 다른 리스트를 인자로, 기존 리스트에 추가한다.
>>> nums
[1]
>>> nums.extend([1,3])
>>> nums
[1, 1, 3]
2.1.7 insert
- append, extend 는 리스트의 마지막 위치에만 데이터를 추가할 수 있게 해준다.
- insert를 이용해서 지정한 인덱스에 객체를 추가할 수 있도록 해준다.
>>> nums
[1, 1, 3]
>>> nums.insert(0,9)
>>> nums
[9, 1, 1, 3]
2.1.8 copy
- 동일한 리스트를 다른 변수로 복사할 경우
- copy를 사용하지 않고 변수를 생성하게 되면, 복사가 아닌 레퍼런스가 추가된다.
- 즉, a= [1,2,3,4] = b 이런 식으로 두개의 변수는 동일한 리스트를 갖게 해준다.
- b = a.copy() 를 사용할 경우 동일한 리스트가 복사되어 b와 연결된다.
2.1.9 리스트의 인덱스
- 리스트의 인덱스는 양의 인덱스와 음의 인덱스로 사용가능
- 양의 인덱스: 리스트의 처음 부터 0 으로 시작해서 증가
- 음의 인덱스: 리스트의 끝에서 -1로 시작해서 앞으로 오면서 감소 (리스트를 검색할때 끝 위치를 알면 정확한 offset 을 알지 못해도 정확하게 지정 가능)
2.2 튜플
- 리스트와 유사
- 변경할 수 없는 리스트
- index 를 통해서 객체로 접근 가능
2.3 딕셔너리
- 순서가 없는 키/값의 쌍
- 지정해서 임의의 순서로 출력은 가능
- 저장하는 순서와 상관이 없음 --> ch3에서 사용 방법을 설명
2.4 집합
- 중복된 객체가 없음
- 순서가 없음
반응형
'스터디자료 > Python 스터디' 카테고리의 다른 글
[Python] Word문서에서 Excel로 데이터 추출하기 (0) | 2021.03.26 |
---|---|
ch1 - 기초 (0) | 2018.09.15 |
python study 시작과 최종 계획 (0) | 2017.12.29 |