2010. 9. 4. 15:57

http://nmap.org/

http://nmap.org/




 1. 설치

http://www.insecure.org/nmap

 

nmap 의 홈페이지에서 소스파일을 내려 받습니다. 그 후에 설치할 디렉토리로 옮긴후에 압축을
풉니다. 그 후에 해당 디렉토리에서 ./configure 를 실행한 후에make, make install 을 실행합니다.

/* 소스 설치 */
# ./configure
# make; make install

 

/* 우분투 apt-get*/

# apt-get install nmap

 

2. 옵션 요약

Nmap [Scan Tyep…] [Options] {target specification}

 

옵션

설명

-sT

일반적인 TCP 포트스캐닝.

-sS

이른바 'half-open' 스캔으로 추적이 어렵다.

-sP

ping 을 이용한 일반적인 스캔.

-sU

UDP 포트 스캐닝.

-PO

대상 호스트에 대한 ping 응답을 요청하지 않음 .
log 기록과 filtering 을 피할 수 있다.

-PT

일반적이 ICMP ping이 아닌 ACK 패킷으로 ping 을 보내고
RST 패킷으로 응답을 받는다.

-PI

일반적인 ICMP ping 으로 방화벽이나 필터링에 의해 걸러진다.

-PB

ping 을 할 때 ICMP ping 과 TCP ping을 동시에 이용한다.

-PS

ping 을 할 때 ACK 패킷대신 SYN 패킷을 보내 스캔.

-O

대상 호스트의 OS 판별.

-p

대상 호스트의 특정 포트를 스캔하거나, 스캔할 포트의 범위를 지정.
ex) -p 1-1024

-D

Decoy 기능으로 대상 호스트에게 스캔을 실행한 호스트의 주소를 속인다.

-F

/etc/services 파일 내에 기술된 포트만 스캔.

-I

TCP 프로세서의 identd 정보를 가져온다.

-n

IP 주소를 DNS 호스트명으로 바꾸지 않는다. 속도가 빠르다.

-R

IP 주소를 DNS 호스트명으로 바꿔서 스캔. 속도가 느리다.

-o

스캔 결과를 택스트 파일로 저장.

-i

스캔 대상 호스트의 정보를 지정한 파일에서 읽어서 스캔.

-h

도움말 보기

 

3. 사용

몇가지 사용 예를 통해 nmap을 활용해 보시죠.


[root@gyn root]# nmap -sP xxx.xxx.xxx.xxx

Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
Host gyn (xxx.xxx.xxx.xxx) appears to be up.

Nmap run completed -- 1 IP address (1 host up) scanned in 0 seconds

-sP 옵션으로 대상호스트가 살아 있음을 알아냈습니다. 이젠 특정 포트(80)를 검색해 보겠습니다.

[root@ home]# nmap -sP -PT80 xxx.xxx.xxx.xxx
TCP probe port is 80

Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ )
Host (xxx.xxx.xxx.xxx) appears to be up.
Nmap run completed -- 1 IP address (1 host up) scanned in 1 second

지정된 포트가 아니라 대상호스트의 열린 포트를 모두 검색해 봅니다.


[root@ home]# nmap -sT xxx.xxx.xxx.xxx

Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ )
Interesting ports on (xxx.xxx.xxx.xxx):
(The 1526 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
53/tcp open domain
80/tcp open http
Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds

대상 호스트의 열린 포트를 알수는 있지만 로그가 남으므로 위험합니다.
스텔스 스캔으로 감시를 피해야 겠지요.

[root@webserver log]# nmap -sS xxx.xxx.xxx.xxx

Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ )
Interesting ports on (xxx.xxx.xxx.xxx):
(The 1526 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
53/tcp open domain
80/tcp open http

Nmap run completed -- 1 IP address (1 host up) scanned in 5 seconds

UDP port 스캔입니다. 시간이 많이 걸릴 수도 있습니다.


[root@gyn root]# nmap -sU localhost

Starting nmap V. 2.54BETA30 ( www.insecure.org/nmap/ )
Interesting ports on gyn (127.0.0.1):
(The 1450 ports scanned but not shown below are in state: closed)
Port State Service
53/udp open domain
699/udp open unknown

Nmap run completed -- 1 IP address (1 host up) scanned in 3 seconds

이번에는 -O 옵션으로 운영체제를 알아보겠습니다.


[root@webserver /root]# nmap -sS -O xxx.xxx.xxx.xxx

Starting nmap V. 2.54BETA7 ( www.insecure.org/nmap/ )
Interesting ports on db (xxx.xxx.xxx.xxx):
(The 1530 ports scanned but not shown below are in state: closed)
Port State Service
22/tcp open ssh
113/tcp open auth
3306/tcp open mysql

TCP Sequence Prediction: Class=random positive increments
Difficulty=2158992 (Good luck!)
Remote operating system guess: Linux 2.1.122 - 2.2.16

Nmap run completed -- 1 IP address (1 host up) scanned in 2 seconds

몇가지 예를 통해 사용법을 알아 보았습니다.

마지막을 부탁드릴 말씀은 자신이 직접 관리하지 않는, 호스트나 네트웍에서 테스트를 하는 것은
아주 무례한 행동이며, 관리가 엄격한 사이트의 경우 접속 제한은 당하는 경우도 있으므로
바람직하지 않은 방법으로 사용하는 일이 없길 바랍니다.

Posted by devanix
2010. 7. 31. 20:16
  • 파이썬의 객체 자료형

분야

설명

NoneType 

None 객체 자료형

TypeType 

type 객체의 자료형(type()으로 리턴되는 자료형)

BooleanType 

부울 자료형(파이썬 2.3이상)

IntType

정수형(예:123)

LongType 

롱형(예:123L)

FloatType 

실수(부동소수점)형 (예:12.34)

ComplexType 

복소수형(예: 1.0j)

StringType 

문자열형(예: 'Spam')

UnicodeType 

유니코드 문자열형(예: u'Spam')

TupleType 

튜플형(예: (1,2,3, 'spam'))

ListType

리스트형(예: [0,1,2,3])

DictType

사전형(예: {'Bacon':1, 'Ham':0})

DictionaryType

DictType의 또 다른 이름

FunctionType

사용자 정의 함수, 람다 함수형

LambdaType

FunctionType의 또 다른 이름

CodeType

compile() 함수에 의해 리턴되는 코드 객체형

ClassType 

사용자 장의 클래스 자료형

InstanceType 

사용자 정의 클래스 인스턴스형

MethodType

사용자 정의 클래스 인스턴스의 메쏘드형

UnboundMethodType

MethodType의 또 다른 이름

BuiltinFunctionType 

len(), sys.exit()와 같은 내장 함수의 이름

BuiltinMethodType 

BuiltinFunction의 또 다른 이름

ModuleType

모듈형

FileType

sys.stdout과 같은 오픈된 파일 객체형

XRangeType

xrange()에 의해 리턴된 자료형

SliceType

slice()에 의해 리턴된 자료형

EllipsisType

Ellipsis 자료형

TracebackType

sys.exc_traceback와 같은 traceback 객체형

FrameType

traceback 객체 tb안의 tb.tb_frame과 같은 프레임 객체형

BufferType

buffer() 함수로 생성된 버퍼 객체형

 

  • 기타의 자료형
    • 파이썬 전체 자료형의 종류를 알아보려면 모듈 types를 이용

>>> import types

>>> dir(types)

['BooleanType', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'ClassType', 'CodeType', 'ComplexType', 'DictProxyType', 'DictType', 'DictionaryType', 'EllipsisType', 'FileType', 'FloatType', 'FrameType', 'FunctionType', 'GeneratorType', 'GetSetDescriptorType', 'InstanceType', 'IntType', 'LambdaType', 'ListType', 'LongType', 'MemberDescriptorType', 'MethodType', 'ModuleType', 'NoneType', 'NotImplementedType', 'ObjectType', 'SliceType', 'StringType', 'StringTypes', 'TracebackType', 'TupleType', 'TypeType', 'UnboundMethodType', 'UnicodeType', 'XRangeType', '__builtins__', '__doc__', '__file__', '__name__', '__package__']

  • types 모듈을 이용하여 자료형 비교

>>> from types import *

>>> type(123) == IntType

True

>>> type('abc') == StringType

True

 

  • 내장 자료형 알아보기
    • 자료형이 무슨 형인지 알려면 type 내장 함수를 이용
    • type 함수는 자료의 종류를 담고 있는 type 객체를 리턴

>>> type({})

<type 'dict'>

>>> type('abc')

<type 'str'>

>>> type(None)

<type 'NoneType'>

>>> type([])

<type 'list'>

>>> type(())

<type 'tuple'>

>>> type(type({}))

<type 'type'>

# 자료형 비교 예

>>> a = 0

>>> L = [1,2,3]

>>> type(a) == type(0) # a가 정수인지 검사

True

 

Posted by devanix
2010. 7. 31. 18:07
  • 주요 내장 자료형

자료형

설명

수치형(Numbers)

정수, 롱형, 실수, 복소스등 표현

123, 12345L, 1.43 5+3

문자열(Strings)

문자들의 모임 (내용 변경 X)

'spams', "ham", "'egg'",

"""hot dog"""

리스트(Lists)

순서를 갖는 파이썬 임의 객체의 집합

['ham', 'spam']

사전(Dictionaries)

순서를 갖지 않는 객체의 집합

키(key)로 값을 꺼낸다.

{'ham':4, 'spam':5}

튜플(Tuples)

순서를 갖는 파이썬 임의 객체의 집합

(내용 변경 X)

('ham', 'spam')

파일(Files)

파일에 자료를 입.출력하기 위한 객체

f = open('ham')

 

  • 자료 저장 방법에 따른 자료형의 분류

자료형

설명

직접자료형(direct)

직접 자료를 표현하는 자료형

수치형이 여기에 속함.

정수, 실수, 롱형정수, 복소수

시퀀스형(sequence)

다른 자료를 포함하는 자료형

(순서를 갖는 집합적 자료형)

문자열, 리스트, 튜플

매핑형(mapping)

다른 자료를 포함하는 자료형

(순서를 갖지 않는 집합적 자료형)

사전

  • 변경 가능성에 따른 자료형의 분류

자료형

설명

변경가능형(mutable)

자료의 값을 변경(O)

리스트, 사전

변경불가능(immutable)

자료의 값을 변경(X)

문자열, 튜플, 수치형

  • 자료 저장 개수에 따른 자료형의 분류

자료형

설명

리터럴형(literal/scalar)

한 가지 객체만 저장.

수치형, 문자열

저장형(container)

여러 가지 다른 객체를 저장

리스트, 튜플, 사전

  • 자료형의 분류

자료형

저장모델

변경 가능성

접근 방법

수치형

리터럴

불가

직접

문자열

리터럴

불가

시퀀스

리스트

저장형

가능

시퀀스

튜플

저장형

불가

시퀀스

사전

저장형

가능

매핑

 

  • 자료형들을 구분하는 또 다른 중요한 구분 기준

(1) '변경 가능하다'(mutable) – 리스트, 사전

>>> s = [1,2,3]

>>> s[1] = 200

>>> s

[1, 200, 3]

(2)'변경 가능하지 않다'(immutable) – 수치형, 문자열, 튜플

>>> s = (1,2,3)

>>> s[1] = 20

Traceback (most recent call last):

File "<pyshell#6>", line 1, in <module>

s[1] = 20

TypeError: 'tuple' object does not support item assignment


Posted by devanix
2010. 7. 31. 17:35

1. 문자열

  • 문자열은 문자들(텍스트)를 표현하기 위한 자료형이다.
  • 단일 인용부호('') 혹인 이중인용부호("") 안에 묶여진 문자들의 모임.

>>> print 'Hello World!'

Hello World!

>>> print "Hello World!"

Hello World!

  • 인덱싱(indexing)으로 각각의 문자를 취할 수 있다.

>>> s = "Hello World!"

>>> s[-2]

'd'

  • 슬라이싱(slicing)으로 부분 문자열을 취할 수 있다.

>>> s[1:3]

'el'

>>> s[0:5]

'Hello'

  • 슬라이싱의 시작 위치가 생략되면 '처음부터', 마지막 위치가 생략되면 '끝까지'의 의미

>>> s = 'Hello'

>>> s[1:]

'ello'

>>> s[:3]

'Hel'

  • 슬라이싱은 세가지 값을 갖을 수 있다.[start:stop:step] (확장슬라이스(extended slice))
  • 파이썬 2.3부터는 내장 시퀀스 자료형에 몇 단계를 건너뛸까를 정하는 step이 지원.
  • 시퀀스 자료형인 문자열, 리스트, 튜플에 모두 적용.

>>> s = 'abcd'

>>> s[::2] # 2칸 단위로

'ac'

>>> s[::-1] # 거꾸로

'dcba'

  • 연결(+)과 반복(*)의 연산도 적용.

>>> 'Hello' + ' ' + 'World'

'Hello World'

>>> 'Hello' * 3

'HelloHelloHello'

>>> '-' * 60

'------------------------------------------------------------'

 

  • 문자열은 값이 변경되지 않는다.

>>> s = 'Hello World'

>>> s[0] = 'h'

Traceback (most recent call last):

File "<pyshell#16>", line 1, in <module>

s[0] = 'h'

TypeError: 'str' object does not support item assignment

  • 만일 문자열 변경을 원하면 슬라이싱과 연결하기를 이용.

>>> s = 'h' + s[1:]

>>> s

'hello World'

 

2. 리스트

  • []를 사용하는 리스트는 임의의 객체를 저장하는 집합적 자료형.
  • 각 자료는 순서를 가지고 있고, 순서에 의해서 접근.

>>> L = [1,2,3] # 세개의 자료를 갖는 리스트

>>> len (L) # 데이터 개수

3

>>> L[1] # 두번째 자료. 옵셋은 0부터 시작함.

2

>>> L[-1] # 마지막 자료.

3

>>> L[1:3] # 슬라이싱

[2, 3]

>>> L * 3

[1, 2, 3, 1, 2, 3, 1, 2, 3]

>>> L = range(10)

>>> L

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> L[::2] # 확장 슬라이스

[0, 2, 4, 6, 8]

>>> L[::-1] # 확장 슬라이스

[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

>>> L.append(4) # 리스트 마지막에 자료 추가

>>> L

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 4]

>>> del L[0] # 리스트 자료 삭제.

>>> L

[1, 2, 3, 4, 5, 6, 7, 8, 9, 4]

>>> L.reverse() # 리스트 순서를 거꾸로 바꾼다.

>>> L

[4, 9, 8, 7, 6, 5, 4, 3, 2, 1]

>>> L.sort() # 리스트를 오름 차순 정렬.

>>> L

[1, 2, 3, 4, 4, 5, 6, 7, 8, 9]

 

3. 튜플

  • ()를 사용하는 튜플도 문자열과 리스트와 유사한 특성을 가는다.

>>> t = (1,2,3)

>>> len(t)

3

>>> t[0]

1

>>> t[-1]

3

>>> t[0:2]

(1, 2)

>>> t[::2]

(1, 3)

>>> t + t + t

(1, 2, 3, 1, 2, 3, 1, 2, 3)

>>> t * 3

(1, 2, 3, 1, 2, 3, 1, 2, 3)

  • 튜플과 리스트의 차이 – 튜플은 값의 변경(X), 리스트는 값의 변경(O)
  • 또한 리스트는 다양한 메쏘드를 갖고, 튜플은 그렇지 않다.

>>> t = (1,2,3)

>>> t[0] = 100

Traceback (most recent call last):

File "<pyshell#89>", line 1, in <module>

t[0] = 100

TypeError: 'tuple' object does not support item assignment

 

>>> L = [1,2,3]

>>> L[1] = 200

>>> L

[1, 200, 3]

 

4. 사전

  • 사전은 옵셋이 아닌 키를 사용하여 값을 얻는 자료 구조.
  • 사전에 x라는 키(key)를 주면 값 y를 돌려준다.
  • 사전은 초기화할 때 {}를 사용. - 초기값은 키:값의 형태로 준다.

>>> d = {'one':'hana', 'two':'dul', 'three':'set'}

>>> d

{'three': 'set', 'two': 'dul', 'one': 'hana'}

>>> d['one']

'hana'

>>> d['four'] = 'net'

>>> d

{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 'hana'}

>>> d['one'] = 1

>>> d

{'four': 'net', 'three': 'set', 'two': 'dul', 'one': 1}

  • 사전은 순서에 따라 요소들을 저장하지 않는다. (키에 의해서 값을 추출)
  • 사전을 -> 리스트나 튜플로 변환하는 것이 가능

>>> d = {'one':1, 'two':'dul', 'three':'set', 'four':'net'}

>>> d.keys() # 키만 리스트로 출력.

['four', 'three', 'two', 'one']

>>> d.values() # 값만 리스트로 추출.

['net', 'set', 'dul', 1]

>>> d.items() # 키와 값의 튜플을 리스트로 변환.

[('four', 'net'), ('three', 'set'), ('two', 'dul'), ('one', 1)]

 

'Programming > Python' 카테고리의 다른 글

◎ 자료형 확인과 기타의 자료형  (0) 2010.07.31
◎ 내장 자료형의 분류  (0) 2010.07.31
◎ 콘솔 입 .출력  (0) 2010.07.30
◎ 문자열로 된 파이썬 코드 실행하기  (0) 2010.07.30
◎ 파이썬 기초문  (0) 2010.07.30
Posted by devanix
2010. 7. 30. 06:14
  • 콘솔 입력
    • 문자열 입력 (raw_input)
    • 정수나 실수 입력 (input)

>>> k = int(raw_input('int : '))

int : 89

>>> k

89

 

>>> i = input('int : ')

int : 45

>>> i

45

>>> k = input('expr:')

expr: 30+50

>>> k

80

 

>>> k = input('expr:')

expr:k+1

>>>k

81

 

 

  • 콘솔 출력
    • print
      • 화면으로 자료를 출력.(가장 보편적으로 사용)
      • 콤마(,)로 구분, 출력시 각 값들 사이에 공백 한 개각 추가.

>>> print 4+5, 4-2

9 2

  • 세미콜론(;)으로 분리된 문은 순차적으로 입력된 문들로 처리.

>>> print 1; print 2

1

2

  • 기본적으로 print문은 마지막에 줄바꾸기를 하지만, print 끝에 콤마(,)를 사용하면 줄바꾸기를 하지 않는다.

>>> print 1,; print 2

1 2

  • 일반 자료형들도 ''식을 이용하여 문자열로 변환한 후 출력.

>>> print 12 + 'spam' # 숫자와 문자열간에 + 연산은 없다.

Traceback (innermost last):

File "<pyshell#118>", line 1, in ?

print 12 + 'spam'

TypeError: number coercion failed

>>> print '12' + 'spam' # 숫자 12를 ''로 문자열로 변환한 후 공백업이 출력.

12spam

 

  • pprint 모듈 이용하기.
    • print문이 복잡한 자료를 출력할 때 적합하지 않다면 pprint를 사용.
    • pprint를 사용했을 경우 출력.

>>> import pprint # pprint를 사용하기 위해서 먼저 import 해야 한다.

>>> complicated = [ 'spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))]

>>> complicated = complicated * 3

 

>> pprint.pprint(complicated)

['spam',

(1, 2, 3)

('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')),

'spam',

(1, 2, 3)

('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')),

'spam',

(1, 2, 3)

('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))]

  • print를 사용했을 경우 출력.

>>> print complicated

['spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')), 'spam', (1, 2, 3), ('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))]

 

  • 대화적 출력 후크(Interactive Display Hook) (2.1 이상) *
    • 인터프리터를 대화적으로 사용할 때 출력은 기복적으로 pepr() 내장함수 사용.
    • sys.displayhook을 설정하면 pepr() 대신에 다른 함수를 기본출력으로 사용.

>>> import sys, pprint

>>> sys.displayhook = pprint.pprint

>>> complicated # 직접

['spam',

(1, 2, 3)

('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')),

'spam',

(1, 2, 3)

('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w')),

'spam',

(1, 2, 3)

('unix', 'linux', ('w', 'i', 'n', 'd', 'o', 'w'))]

 

Posted by devanix
2010. 7. 30. 05:08
  • eval – 문자열로 된 파이썬 식(expression)
    • eval (expression[, globals[, locals]])

>>> a = 1

>>> a = eval('a + 4')

>>> a

5

  • exec – 문자열로 된 문(statement)
    • exec code [ in globals [, locals]]

>>> a = 5

>>> exec 'a = a + 4'

>>> a

9

※ global – 전역 영역 사전, local은 지역 영역 사전. (이들 인수는 선택적)

  • compile(*)
    • exec나 eval은 문자열로 입력된 코드를 분석해서 파이썬 컴파일 코드로 변환하기 때문에,

      이러한 코드를 반복 수행하게 되면 변환에 필요한 시간은 크게 늘어난다.

    • 효율적인 수행 방법은 문자열을 파이썬 코드로 한번 변환해 둔 후에, 코드를 활용.
    • compile (string, filename, kind)
    • string – 코드 문자열, filename – 코드 문자열이 저장된 파일명, kind – 코드 종류 형식

>>> code = compile ('a + 1', '<string>', 'eval')

>>> a = 1

>>> for k in range(10):

a = eval(code)

>>> a

11

 

'Programming > Python' 카테고리의 다른 글

◎ 자료형의 종류(문자열,리스트,튜플,사전)  (0) 2010.07.31
◎ 콘솔 입 .출력  (0) 2010.07.30
◎ 파이썬 기초문  (0) 2010.07.30
◎ 변수명 및 예약어  (0) 2010.07.30
◎ 파이썬 설치  (0) 2010.07.30
Posted by devanix
2010. 7. 30. 04:58
  • 주석문(comment)
    • >>> # 주석(comment)
    • >>> import sys # 주석(comment)
  • 연속 라인
    • 줄바꾸기 앞의 \는 다음 라인을 현재 라인과 연결시켜 주는 역할.
    • 예) >>> if (a == 1) and \
  • 치환문(assignment)
    • (=) 문은 우변의 객체 혹은 식을 좌변의 이름에 할당.
    • >>> a = (b = c + d) 이와 같은 C같은 형식은 허용 되지 않음
    • 왜냐하면 b = c+d는 식(expression)이 아니라 문(statement)이기 때문.
    • 자료형 확인은 (type 함수)를 사용
  • 확장 치환문(2.0 이상)
    • +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, **=
  • 이름과 객체
    • 변수의 이름과 값 객체가 분리.
    • a = 1이란 문에서 숫자 1이 변수 a에 저장되는 것이 아니라,
    • a를 이름, 숫자 1을 객체라고 하며, 두 개념은 분리되어 있다.

    [이름과 객체의 분리 a = 1]

  • 객체의 치환

    • X객체에 대한 참조만 Y와 Z에 삽입.
    • 즉, X의 값 하나를 바꿧을 때 Y와 Z에 영향을 미치면 이것은 공유객체,

      그렇지 않으면 분리된 객체임을 알수 있다.

Posted by devanix
2010. 7. 30. 04:54
  • 변수명 만드는 법
    • 첫 문자가 언더스코아(_), 영문자
    • 두 번째 문자는 영문자, 숫자, 언더스코아(_)
    • 정규식 표현([a-zA-Z_][a-zA-Z0-9_]*)
  • 예약어

and

del

for

is

raise

assert

elif

from

lambada

return

break

else

global

not

try

class

except

if

or

while

continue

exec

import

pass

yield(2.2에 추가)

def

finally

in

print

 
  • 프로그램으로 파이썬 예약어(keywork)를 아는 방법

  • 변수명 만들 때 조심할
    • 내장 함수 이름이나 모듈 이름은 피하는 것이 좋다.

Posted by devanix