솔찍히 이해를 못한 부분인데, 간단한 함수를 만드는 것 같다.
함수 포인터 같기도 한데 LISP에서 따왔다고도 하는데 먼소리인지 안드로메다로.

Python supports the creation of anonymous functions (i.e. functions that are not bound to a name) at runtime, using a construct called "lambda".

>>> def f (x): return x**2
... 
>>> print f(8)
64
>>> 
>>> g = lambda x: x**2
>>> 
>>> print g(8)
64

As you can see, f() and g() do exactly the same and can be used in the same ways. Note that the lambda definition does not include a "return" statement -- it always contains an expression which is returned. Also note that you can put a lambda definition anywhere a function is expected, and you don't have to assign it to a variable at all. 


[링크 : http://www.secnetix.de/olli/Python/lambda_functions.hawk]


4.7.5. Lambda Forms

By popular demand, a few features commonly found in functional programming languages like Lisp have been added to Python. With the lambda keyword, small anonymous functions can be created. Here’s a function that returns the sum of its two arguments: lambda a, b: a+b. Lambda forms can be used wherever function objects are required. They are syntactically restricted to a single expression. Semantically, they are just syntactic sugar for a normal function definition. Like nested function definitions, lambda forms can reference variables from the containing scope:

>>> def make_incrementor(n):
... return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43

[링크 : http://docs.python.org/tutorial/controlflow.html]

아무튼,
>>> f
<function <lambda> at 0xb754da3c>

위의 예제 실행후 f만 입력하면 위와 같이 fuction <lambda> 라는 말이 나온다.
일종의 간단한 return이 필요없는 함수 - c에서 inline 함수? - 가 되는 것처럼 보인다.
Posted by 구차니
개소리 왈왈2010. 1. 22. 10:18
ice cream 대신
i scream 이라는 걸로 만들수 있는 상품이 있을려나? ㅋㅋ
혹시 알아? mac에서 iscream 이라고 먼가 만들지? ^^;

'개소리 왈왈' 카테고리의 다른 글

오늘도 달댕이  (12) 2010.01.28
오늘하루 - 20100125  (0) 2010.01.25
오늘도..  (0) 2010.01.22
핸드폰 위성추적 해준다고?  (5) 2010.01.20
토요일에 눈을 붙였다 눈을 떼보니..  (0) 2010.01.18
Posted by 구차니
개소리 왈왈2010. 1. 22. 00:05
오늘따라 문득 날으는 병아리 얄리가 그립고 달팽이가 그립다.







현재가 행복하지 않은 사람은 과거를 회상한다고 하지만,
문득 하드 한구석에 쳐박혀 있던 추억을 뒤적이다가
지금의 추억의 과거를 보게 되었다.


정말 사랑했구나..


그래도 난 아직 사랑을 모르겠다.
내가 너무 이기적이기 때문이겠지..

'개소리 왈왈' 카테고리의 다른 글

오늘하루 - 20100125  (0) 2010.01.25
아이스크림  (0) 2010.01.22
핸드폰 위성추적 해준다고?  (5) 2010.01.20
토요일에 눈을 붙였다 눈을 떼보니..  (0) 2010.01.18
패딩 + 스키니 + 어그부츠 = ?  (4) 2010.01.16
Posted by 구차니
파이썬은 "(쌍따옴표) 나 '(홀따옴표) 로 문자열을 변수에 저장한다.
특이하게도 """(쌍따옴표 3개) 라는 녀석이 있는데, 굳이 비유를 하자면 HTML의 <pre> 태그와 비슷한 느낌이다.

아래의 예를 보면, " 로 한녀석은 엔터치면 에러가 발생하는데 비해
>>> hello = "test
  File "<stdin>", line 1
    hello = "test
                ^
SyntaxError: EOL while scanning string literal

"""(쌍따옴표 3개)를 사용한 녀석은 아래와 같이 """ 가 나올때 까지 계속 입력을 받고, 자동으로 \n를 붙여준다.
>>> hello = """test
... asdf
... """

>>> hello
'test\nasdf\n'

>>> print hello
test
asdf

>>>

테스트 삼아 "와 '를 혼용해서 하는데 "와 "를 동시에 쓰면 문법에러가 발생한다.
이런 경우에는 \" 를 이용하여 구분을 해주어야 한다.
>>> ""test" ing"
  File "<stdin>", line 1
    ""test" ing"
         ^
SyntaxError: invalid syntax

>>> '"test" ing'
'"test" ing'

>>> "'test' ing"
"'test' ing"

Posted by 구차니
회사일/enigma2010. 1. 21. 16:24
위키에서 낙시질을 하다니 ㄱ-

Download
You can get the newest version by using CVS:
cvs -d :pserver:anonymous@dreamboxupdate.com:/cvs co enigma2

[링크 : http://dream.reichholf.net/wiki/Enigma2]

timeout 뜨면서 안된다. 미네랄!

git clone git://git.opendreambox.org/git/enigma2.git

얄리얄리 얄라성 얄라리 얄라~


Enigma / Enigma2는 오픈소스로 진행되는 위성셋탑박스 프로젝트이다.
가장 유명한 제품이 Dreambox 이며(아마도?)
Enigma는 C/C++ 기반으로 (되어있다고 하며)
Enigma2는 Python 기반으로 되어있다.

일반적으로 Enigma 박스는 IBM PowerPC(MIPS) 계열 CPU를 사용한다.
[링크 : http://dream.reichholf.net/wiki/Enigma2]
Posted by 구차니
클래스 내부에 __init__ 메소드와 __del__ 메소드는
객체에서 말하는 constructor와 descructor를 의미한다(고 한다.)

파이썬은 객체지향도 지원해서 연산자 오버로딩도 지원하나보다.
__add__ __cmp__ 메소드를 통해 덧셈과 비교를 오버로딩한다.

[링크 : http://blog.naver.com/mindweaver/40001747916]

상속은
class DerivedClassName(BaseClassName):
class DerivedClassName(Base1, Base2, Base3):
이런식으로 상속/다중상속을 지원한다.

[링크 : http://docs.python.org/tutorial/classes.html]
Posted by 구차니
파이썬은 typeless 라고 해야 하나.. 만능형이라고 해야하나.
아무튼 전형적인 인터프리트 언어답게 변수를 알아서 인식한다.
하지만 여전히 적응이 안되는건.. 변수 선언방식.

C언어에서는 절대 용납되지 않을 문법이니까.. 익숙해져 보자.

>>> a,b = 0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable

>>> a,b = 0,1
>>> a
0
>>> b
1

예를 들어 int형이라면
c에서는 int a = 0, b = 1; 이라고 선언해야 하지만
파이썬에서는 a,b = 0, 1 이라고 선언한다.
변수 선언과 값 할당을 확실하게 좌/우 변으로 나누어진다.

그렇다고 해서 a = 0, b = 1 이렇게는 선언할수 없다. 흐음.. 모호한 느낌
Posted by 구차니
파이썬은 인터프리트 언어이고, 그런 이유로 tab이나 공백에 의해 문장을 구분한다.

아래는 공백이나 탭을 넣지 않고 while 문을 실행하여 발생한 에러이다.
>>> a,b = 0,1
>>> while b < 10:
... print b
  File "<stdin>", line 2
    print b
        ^
IndentationError: expected an indented block

아래는 탭을 이용하여 실행한 모습이다.
>>> a,b = 0,1
>>> while b < 10:
...    print b
...    a,b = b, a+b
...
1
1
2
3
5
8

아래는 공백을 이용하여 실행한 모습이다.
>>> a,b = 0,1
>>> while b < 10:
...  print b
...  a,b =b,a+b
...
1
1
2
3
5
8


Posted by 구차니
개소리 왈왈2010. 1. 20. 22:34
오오오~ 당해주겠어! 라고 그럴싸한 전화번호(010-1111-1111)을 넣고 한참을 기다렸더니


저 대머리 시키 누구야 ㄱ-

아무튼 skyrubber님 블로그에 가보니 전화번호 수집하는게 아닐까? 라고 하셨는데
호기심 발동해서 소스를 보니

<form name="form" method="post" enctype="multipart/form-data" action="./mailling.php" onSubmit="return FormCheck()">

FormCheck() 함수는 단순하게 10자리 입력인지 확인하는거고(헉 그럼 옛날 번호는 안되?)
mailing.php 가 수상해서 리눅스를 통해 wget 으로 파일을 받아서 확인해봤더니

 <meta http-equiv="refresh" content="0;url=sub.html">

심플하다.. 참고로 더 대머리 페이지가 sub.html
음.. 낙시라고 하기에는 도메인까지 사서 장난질이라서 규모가 크고
악성이라고 하기에는 코드가 너무 심플하고..


[발견 : http://jwmx.tistory.com/1740]
[링크 : http://blog.naver.com/skyrubber/90076267433]

'개소리 왈왈' 카테고리의 다른 글

아이스크림  (0) 2010.01.22
오늘도..  (0) 2010.01.22
토요일에 눈을 붙였다 눈을 떼보니..  (0) 2010.01.18
패딩 + 스키니 + 어그부츠 = ?  (4) 2010.01.16
국민은행 자동이체가 바뀐다고?  (2) 2010.01.16
Posted by 구차니
아.. 오묘한 언어의 세상 ㅠ.ㅠ

Note for C++/Java/C# Programmers
The self in Python is equivalent to the self pointer in C++ and the this reference in Java and C#.

[링크 : http://www.ibiblio.org/g2swap/byteofpython/read/self.html]

"네임스페이스"는 파이썬에서 변수를 담아두는 공간으로, 원래는 로컬, 모듈 전체, 빌트인 세 가지 네임스페이스를 찾도록 되어 있다가, 파이썬 2.1부터 상위에 싸여있는 것들도 찾도록 돼 있습니다.

[링크 : http://openlook.org/blog/2008/12/13/why-self-in-python-is-attractive/]

Posted by 구차니