'Python'에 해당되는 글 2건

  1. 2009.06.12 튜플.. 타입.. 이눔.. 1
  2. 2009.06.11 Class in Python 2
- C++에서 NULL에 해당하는 키워드는 None 이다.
그리고 실제 널인지 확인하려면 type을 활용한다.

type( nodeChild ) == type( None )

파이썬은 데이타가 모두 동적이기때문에 , 간혹 이게 어떤건지 확인할때 type은 유용하다

- Enum 이 따로 없다. 하지만 Enum을 쓰는 대신에 그냥 스트링을 처리하면 보기에도 편하다. 글자가 틀리면 대략 난감.. .. 어차피 switch - case 문이 없어서 if elif 페어로 계속 넣어야 하니까 대충 적응하자.

- string 모듈의 strip() 펑션은 스트링의 화이트 스페이스를 제거해준다.

>>> from string import *
>>> strip( '   a    ')
'a'
>>> strip( '               \n' )
''

- Tuple에 익숙해지자.
파이썬은 리턴값이라던지 모든 데이타에 Tuple을 적용할수 있다. 함수에서 여러개의 인자를 리턴하면 ( return a , b ) 리턴값은 계네들이 합쳐진 튜플로 넘어온다. ( [ a , b ] ) 그래서 잘 짤라서 쓰는 방법이 있고 임의로 튜플을 만들어서 리턴할 수도 있다.

두개 값을 리턴하는 곳에서 두개의 인수를 지정해야한다.
a , b = funciton()

두개를 지정하지 않고 하나만 받으면 그 변수는 두개의 데이타를 가진 튜플이 된다.

Posted by 마고자
class Person:
pass


기본적으로 파이썬의 클래스는 네임스페이스를 가지며.. C++ 과 가장큰 차이점은 맴버에 대한 부분이다. C++처럼 맴버를 열거하는것이 아니라 생성자에서 직접 초기화를 시켜줌으로서 인스턴싱이 된다. (pass는 nop같은 녀석.. 그냥 채워놔줌 )

생성자 & 소멸자 포멧

def __init__( self )
def __del__( self )

self는 C++ 의 this의 역할을 한다. 따라서 위의 Person 클래스가 name , id 를 가질려면 직접 생성자에서 초기화를 해주어야한다.

def __init__( self ):
self.id = 0
self.name = '고구마'

이런건 특히나 리스트같은 것일 경우 필수.. 컨테이너는 사전에 초기화를 해주어야 하기땜시롱..

class Person:
name = '고구마'

이렇게 해두면 name은 일종의 static 변수가 되어서 모든 객체에서 억세스가 가능해진다.
Posted by 마고자
이전버튼 1 이전버튼