아카이브/Python

[Python 기본문법] Python 기본 문법과 버전별 차이점

될성부른떡잎 2015. 6. 23. 15:08


[Python 기본문법] Python 기본 문법과 버전별 차이점


기본 문법

- 들여쓰기를 통해 블록을 구분한다. {}를 사용하지 않는다.

- 문장에 끝에 세미콜론이 붙지 않는다.

- 함수 선언, 조건문, 반복문 선언 뒤에 콜론(:)이 붙는다.

- 파이썬 2.x 버전은 기본 인코딩이 ascii이다.

(한글을 사용하고 싶다면 맨 첫줄에 #-*- encoding: utf-8 -*-을 써주어야 한다.)


아래 코드는 로또 번호를 생성해 주는 프로그램 코드이다.

참고 하도록 하자.(들여쓰기를 통해 블록을 구분한다는 점만 기억해도 좋다.)

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
import random
 
# 로또 번호를 생성해 주는 함수
def lotto_set(num):   
    # 원하는 로또 게임 수 만큼 반복 (0, 1, 2 ... num-1)
    for i in range(num):  
        # 로또 번호를 저장할 빈 집합 생성
        # 집합의 데이터는 중복되지 않고 순서가 없다.      
        result = set()
        # 집합의 원소의 개수가 6개가 될 때까지 반복        
        while len(result) < 6:
            # 집합에 1~45까지의 숫자 중 하나를 랜덤하게 추가            
            # 집합은 중복된 숫자를 허용하지 않기 때문에, 
            # 집합에 있는 숫자가 입력되는 경우 len(result)는 증가되지 않는다.
            result.add(random.randrange(146))    
            # 집합은 정렬되지 않기 때문에 리스트 형식으로 변경    
            res = list(result)    
            # res 데이터 정렬    
            res.sort()
 
        # res 출력        
        print(res)
 
# 함수 호출
lotto_set(5)
cs

결과 값


파이썬 2.x VS 3.x

2.x 

3.x 


 


 



 

print 함수와 input 함수 사용방법이 바뀌었다는 것만 간단히 보고 가자.

2.x 버전에서는 기본 인코딩 방식으로 ASCII, 3.x 버전에서는 Unicode를 사용한다.


2.x 버전은 한글 사용시 불편하다는 단점이 있지만 아직 3.x 버전을 지원하지 않는 모듈들이 있기 때문에 많이 사용되어지고 있다.