달력

9

« 2024/9 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
2017. 10. 22. 21:19

파이썬 기초1 Python2017. 10. 22. 21:19

업무를 하면서 문자열 등을 다룰 일이 꽤 생긴다. 쉘 스크립트로 처리하면 가장 이상적이겠지만, 워낙 불편해서 펄을 해볼까 하다 업데이트도 잘 안되는 듯 하고... 파이썬이 적합할 것 같아서 기초적인 공부를 해보기로 했다.


파이썬 패키지를 일일이 설치하기가 귀찮을 것 같아서 배포판을 선택, 그 중에서도 Anaconda로 설치했다.

(다운로드 : https://www.anaconda.com/download/)


C 밑에 바로 설치했는데, C:\Anaconda3\Lib\idlelib <- 이 경로로 가보면 idle.bat 이라는 파일이 있다. 이 것을 실행하면 python shell이 실행되면서 여기에서 간단한 테스트를 해 볼 수 있다.


다음은 파이썬 기초 및 특징

1. { }, ( ) 를 쓰지 않는다

쉘 스크립트나 PL/SQL을 쓰면서도 가장 적응이 안되는 부분인데, JAVA나 Javascript와 다르게 { }, ( )를 쓰지 않는다.

코드의 포함관계는 들여쓰기로 해결한다. 때문에 함부로 들여쓰기를 해서는 안된다. (Syntax error가 발생한다)

또한 if문 for문 에서는 괄호 없이 바로 조건문을 적는다.

2. 기본 데이터 타입

int, float, string 세 가지의 기본적인 데이터 타입이 존재한다.

3. 문자열은 ''와 ""로 표현가능

Javascript와 마찬가지로 문자열은 '' 안이나 "" 안에 넣어서 쓰면 된다.

4. 변수 타입을 정하지 않는다

int, char, float 등 타입을 명시하지 않고 바로 var = 'test_var' <- 이와 같이 변수를 선언하여 사용한다.

5. 기본 자료구조

리스트, 튜플, 딕셔너리라는 파이썬 자체의 기본 자료구조가 있다.

1) 리스트 : 일반적인 그 리스트와 비슷하다. list1 = ['a','b','c']와 같이 선언하며, 요소에 접근하기 위해서는 list1[0]과 같이

[] 안에 인덱스 번호를 주면 된다. 특이하게도 list1[-1]처럼 뒤에서부터 세는 방법도 있는데 이는 튜플에서도 쓸 수 있다.

아래와 같은 주요 메서드가 있다.

(1) append : list1.append('d')의 형태로 사용하며, 리스트 맨 끝에 요소를 추가한다.

(2) insert : list1.insert(2, 'd')의 형태로 사용하며, 지정한 인덱스에 요소를 추가한다.

  2) 튜플 : 조작이 불가능한 배열이라고 해야할 듯 싶다. tu = ('a', 'b', 'c')와 같이 선언하며, 삽입이나 삭제가 되지 않는다.

리스트보다 속도가 빠르다는 장점이 있다. 접근은 리스트와 동일한 방식으로 한다.

3) 딕셔너리 : 맵 자료구조와 같다. dic = {'key1':'value1', 'key2':'value2'}와 같이 선언하며, dic['key1']과 같이 키 값을

인자로 주면 해당하는 값을 꺼낼 수 있다. 아래와 같은 주요 메서드가 있다.

(1) keys : dic.keys()의 형태로 사용하며, 딕셔너리가 가진 키 값들을 반환한다.

(2) values : dic.values()의 형태로 사용하며, 딕셔너리가 가진 밸류 값들을 반환한다.

(3) items : dic.items()의 형태로 사용하며, 키와 밸류의 쌍을 반환한다.

6. 자료구조 다루기

자료구조를 다루는 공통적인 함수 및 방법들이 있다.

1) del : del(list1[0])의 형태로 사용하며 인자로 넣은 요소를 삭제한다.

위에서 언급했듯이 튜플은 선언 이후 데이터 조작이 불가능하기 때문에 del을 사용하면 에러가 발생한다.

(del(tup)의 형태로 변수 자체를 삭제하는 것은 가능하다)

2) len : len(tup)의 형태로 사용하며 인자로 넣은 변수의 요소의 수, 문자열의 길이 등을 반환한다.

3) list : list(dic.keys())의 형태로 사용하며 인자로 넣은 값을 리스트로 변환하여 반환한다.

(list("abcd")와 같이 문자열을 넣으면 ['a','b','c','d']와 같은 형태로 바꾸어 준다)

4) slicing : 리스트 등의 자료구조에서 원하는 범위의 값을 가져올 때 쓰는 방법이다. list1[2:5]와 같은 형태로 사용하는데,

이는 앞의 인덱스의 요소를를 포함하고 뒤의 인덱스의 요소는 포함하지 않는 범위를 선택하게 해준다.

list1[0:], list1[:3]처럼 써서 ~부터 끝까지, 혹은 처음부터 ~까지의 범위를 지정할 수도 있다.

7. 조건문

다음과 같은 형태로 조건문을 사용한다.

1) if 문 : 

if a < 0:

print('OK')

2) if ~ else 문 :

if a < 0 :

print('OK')

else :

print('NOT OK')

3) if ~ else if 문 :

if a == 0 :

print('1')

elif a == 1 :

print('2')

elif a == 2 :

print('3')

8. 반복문

다음과 같은 형태로 반복문을 사용한다.

for var in range(1, 10):

print(var)

위 코드에서 range(1, 10)은 1 이상 10 미만을 반환해준다. range 대신 리스트나 튜플이 올 수도 있고 딕셔너리를 써도 된다.

딕셔너리 자료구조를 쓸 경우에는 아래와 같이 사용한다.

for k, v in dic.items():

print("%s : %s", %(k, v))

위 코드에서 %s로 표현된 부분은 C의 printf처럼 사용하는 것이며, 쉼표(,)뒤에 % 이후 작성한 변수를 읽어들인다.

'Python' 카테고리의 다른 글

파이썬 기초2  (0) 2017.10.24
:
Posted by SK