[A Byte of Python] PySummary 01

PySummary

Book.
A Byte of Python_Korean

Python Version : 2.7.12
OS : Windows 10


목차

  1. Python install
  2. Python 코드 실행
    1. 도움말
  3. Base (A Byte of Python)
  4. 연산자와 수식
  5. 연산 순서
  6. 흐름 제어(조건문, 반복문)
    1. if – elif – else 문
    2. while 문
    3. for 문
    4. break, continue 문
  7. 함수
    1. 지역 변수
    2. Global 문
    3. 기본 인수값과 키워드 인수
    4. VarArgs 매개 변수
    5. DocString

1. Python install 

https://www.python.org/downloads/ 에 들어가 Python 2.7.x 버전을 설치

명령 프롬프트(CMD)에서 사용하기 위해선 환경변수에 등록해야 한다.
    1. (윈도우키)+(S)를 누른 뒤 “환경 변수” 검색
    2. “시스템 환경 변수 변경”을 클릭
    3. 오른쪽 아래 “환경 변수(N)…” 클릭
    4. 시스템 변수(S)[아래쪽 창]에서 Path를 선택하고 “편집(I)…”을 클릭
    5. 오른쪽 위 “새로 만들기(N)”을 클릭
    6. 입력창이 깜빡이면 “C:\Ptython27” 입력 후 확인
이후 (윈도우키)+(R) 누르고 “cmd”를 입력한 후 “확인”을 눌러
명령 프롬프트를 실행해 “python“을 입력해 python이 실행 되는지 확인
   + python을 종료하기 위해선 exit()을 입력하거나 Ctrl+Z를 입력하면된다.

2. Python 코드 실행

1. 명령 프롬프트에서 “python” 입력해 python실행
2. print "Hello World" 입력
    출력 : Hello World

2-1 도움말

만약 어떠한 함수(print 등..)에 대한 도움말이 필요하다면
help(‘print’)라고 입력하면 관련 도움말이 나온다.

|| 하지만 프롬프트에선 Python 코드의 입력과 수정이 불편하다.
|| 따라서 필자는 앞으로 Pycharm Education Edition을 사용하겠다.
|| 사용 방법은 A Byte of Python을 참고 하길 바란다.

3. Base (A Byte of Python)

A Byte of Python 7장 참고

해당 내용은 다른 언어를 해봤다면 가볍게 훑고 지나가도 되는 내용이다.

4. 연산자와 수식

해당 내용은 다른 언어를 해봤다면 가볍게 훑고 지나가도 되는 내용이다.
아래 내용은 아주 짧게 정리한 내용이다.

  • 사칙 연산
    1. “+” : 더하기
    2. ” : 빼기
    3. ” * ” : 곱하기
      • ” ** ” : 거듭제곱
    4. ” / ” : 나누기
      • ” % ” : 나머지 연산
      • ” // ”  : 나눈 후 내림 연산 
  • ” = ” : 대입 연산
  • 비트 연산
    1. “>>” : 오른쪽 시프트
    2. “<<” : 왼쪽 시프트
    3. ” & ” : AND
    4. ” | ”  : OR
    5. ” ^ ” : XOR
    6. ” ~ ” : NOT
  • 비교 연산
    1. <, >: 작음, 큼
    2. == : 등호
    3. <=, >= : 작거나 같음, 크거나 같음
    4. != : 같지 않음
  • 논리 연산
    1. not : 논리 not 연산
    2. and : 논리 and 연산
    3. or : 논리 or연산
  • 연산 및 할당 연산자
    • x (연산자)=y
      >> x = x (연산자) y

5. 연산 순서

우선 순위 연산자
1 lambda (람다 수식)
2 if – else (조건 수식)
3 or (논리 연산)
4 and (논리 연산)
5 not (논리 연산)
6 in, not in, is, is not
(비교, 요소, 관계 연산)
7 | (비트 연산)
8 ^ (비트 연산)
9 & (비트 연산)
10 << >> (시프트 연산)
11 + – (덧셈 뺄샘)
12 *, /, //, %
(곱셈, 나눗셈, 나눈후 내림, 나머지 연산)
13 +x, -x, ~x (단항 연산)
14 ** (거듭 제곱)
15 x[index], x[index:index], x(argumenets), x.attribute
원소 접근, 슬라이스, 함수 호출, 속성 참조
16 (expressions), [expressions], {key: value…}, {expressions…}
괄호 또는 튜플, 리스트, 집합

6. 흐름 제어(조건문, 반복문)

6.1 if – elif – else 문

==생김새==

if 조건:
(띄어쓰기 4번) Code

elif 조건:
(띄어쓰기 4번) Code
else:
(띄어쓰기 4번) Code

위와 같은 형식으로 작성하며 “조건”이 참이때 아래 문장이 실행 된다.
또한 else는 “조건”이 없고, if – elif의 조건이 모두 거짓일 때 실행 된다.

== 예제 ==

number = 23
guess = int(raw_input('Enter an integer : '))

if guess == number:
    # New block starts here
    print 'Congratulations, you guessed it.'
    print '(but you do not win any prizes!)'
    # New block ends here
elif guess < number:
    # Another block
    print 'No, it is a little higher than that'
    # You can do whatever you want in a block ...
else:
    print 'No, it is a little lower than that'
    # you must have guessed > number to reach here

print 'Done'
# This last statement is always executed,
# after the if statement is executed.

==실행 결과==

$ python if.py
Enter an integer : 50
No, it is a little lower than that
Done

$ python if.py
Enter an integer : 22
No, it is a little higher than that
Done

$ python if.py
Enter an integer : 23
Congratulations, you guessed it.
(but you do not win any prizes!)
Done

++ Python에는 switch문이 없습니다.
대신 if .. elif .. else를 사용해야 됩니다.

6.2 while 문

==생김새==

while 조건:
(띄어쓰기 4번) CODE

위와 같은 형식으로 씌여지며 “조건”이 참일 때
즉, “조건”이 거짓이 될 때 까지 CODE를 반복한다.

== 예제 ==

number = 23
running = True

while running:
    guess = int(raw_input('Enter an integer : '))

    if guess == number:
        print 'Congratulations, you guessed it.'
        # this causes the while loop to stop
        running = False
    elif guess < number:
        print 'No, it is a little higher than that.'
    else:
        print 'No, it is a little lower than that.'
else:
    print 'The while loop is over.'
    # Do anything else you want to do here

print 'Done'

== 실행 결과 ==

$ python while.py
Enter an integer : 50
No, it is a little lower than that.
Enter an integer : 22
No, it is a little higher than that.
Enter an integer : 23
Congratulations, you guessed it.
The while loop is over.
Done

6.3 for 문

==생김새==

for 변수 in [열거형]:
(띄어쓰기 4번) CODE
else:
(띄어쓰기 4번) CODE

for 문은 다른 제어문과 다르게 “변수 in [열거형]”을 사용하는데
그대로 ‘ “[열거형]”에서 하나씩 꺼내 ‘변수’에 ‘넣는(in)’다.” 라는 의미이다.
* 여기서 [열거형]은 [1, 2, 4, 7, 9]처럼 “자료들의 집합”을 의미한다.

== 예제 ==

for i in [1,2,3,4]:
    print i
else:
    print 'The for loop is over'

== 실행 결과 ==

$ python for.py
1
2
3
4
The for loop is over

6.4 break, continue 문

C언어와 유사하므로 짧게 설명하고 넘어가겠다.

이 두개는 반복문에서만 사용이 가능하다.

break는 반복문 중간에 빠져 나올 때 사용하는 것이고
continue문은 반복문에서 아래 내용을 무시하고
반복문의 처음으로 돌아갈 때 사용한다.

7. 함수

함수의 선언
    def 함수명(인자):
   (띄어 쓰기 4번) CODE
   (띄어 쓰기 4번) return
함수의 호출
    함수명(인자)

+ C와는 달리 인자의 전달에 대해서 자유롭다. 

== 예제 ==

def print_max(a, b):
    if a > b:
        print a, 'is maximum'
    elif a == b:
        print a, 'is equal to', b
    else:
        print b, 'is maximum'
# directly pass literal values
print_max(3, 4)
x = 5
y = 7
# pass variables as arguments
print_max(x, y)

== 실행 결과 ==

$ python function_param.py
4 is maximum
7 is maximum

7-1 지역 변수

C를 했다면 가볍게 훑고 넘어가도 된다.
A Byte of Python 10.2 
++ “지역(local)변수”가 사용 가능한 범위를 “변수의 스코프(scope)”라고 함

7-2 Global 문

C에서의 static처럼 해당 변수를 모든 함수에서 변경이 가능한
전역 변수를 만드는 문법입니다.

== 예제 ==

x = 50

def func():
    global x

    print 'x is', x
    x = 2
    print 'Changed global x to', x

func()
print 'Value of x is', x

==실행 결과==

$ python function_global.py
x is 50
Changed global x to 2
Value of x is 2

7-3 기본 인수값과 키워드 인수

기본 인수값 : 매개변수로 입력하지 않아도 기본값을 가지고 있는 인수
                        + 다만 기본값은 “불변값”이어야 한다.
                        ++또한 매개변수의 마지막 변수에만 설정이 가능하다.
키워드 인수 : 원하는 값을 선택해 매개변수로 넘길 수 있다.

== 예제 ==

def func(a, b=5, c=10):
    print 'a is', a, 'and b is', b, 'and c is', c

func(3, 7)
func(25, c=24)
func(c=50, a=100)

==실행 결과==

$ python function_keyword.py
a is 3 and b is 7 and c is 10
a is 25 and b is 5 and c is 24
a is 100 and b is 5 and c is 50

7-4 VarArgs 매개 변수

가끔 함수에 임의의 개수의 매개 변수를 지정해주고 싶을 때가 있다.
이때 VarArgs 매개 변수를 사용한다.
아래 예제와 같이 별 기호를 사용하여 임의의(Variable) 개수의 인수(Arguments) 를 표현한다.

== 예제 ==

def total(initial=5, *numbers, **keywords):
    count = initial
    for number in numbers:
        count += number
    for key in keywords:
        count += keywords[key]
    return count

print total(10, 1, 2, 3, vegetables=50, fruits=100)

==실행 결과==

$ python function_varargs.py
166

++ 마치 C에서의 *argc와 **argc같은 느낌이다.

7-5 DocString

Python에서는 함수의 설명을 쉽게 하기 위한 DocString이라는 기능을 가지고 있다.
DocString은 함수 제일 처음에 “삼중 따옴표(”’)”로 표현하며 주석과 달리 
프로그램 실행 중에도 불러올 수 있다.

== 예제 ==

def print_max(x, y):
    '''Prints the maximum of two numbers.

    The two values must be integers.'''
    # convert to integers, if possible
    x = int(x)
    y = int(y)

    if x > y:
        print x, 'is maximum'
    else:
        print y, 'is maximum'

print_max(3, 5)
print print_max.__doc__

== 실행 결과 ==

$ python function_docstring.py
5 is maximum
Prints the maximum of two numbers.

    The two values must be integers.

글의 문제가 있다면 댓글을 달아 주세요.

This site uses Akismet to reduce spam. Learn how your comment data is processed.