중성자 별의 충돌 에너지

2009/11/11 16:46 : 공부/0x07 PROGRAMING

크리에이티브 커먼즈 라이선스
Creative Commons License
1. 변수
파이썬의 변수도 다른 언어와 마찬가지로
숫자로 시작하거나 특수문자로 시작하는 변수명은 만들수 없다.

그리고 예약어도 만들수 없다.

파이썬의 예약어

2. 파이썬 기초문
2.1 주석문
주석도 다른언어와 비슷하게 # 을 이용하고
한라인에서 # 이후에 문자는 주석처리가 된다.

2,2 연속라인
한라인을 끝내기 전에 "\(역슬래쉬)" 를 하게되면 다음라인은 하나의 라인으로 간주된다.

2.3 치환문
일반적인 언어와 마찬가지로
a = 1
은 허용이 되지만

1+2 = a
은 허용되지 않는다

또한 논리 연산(==, >=, <=, !=)의 경우는 True 혹은 False 로 나타낸다.

치환후 변수의 자료형을 알아내기 위해서는 type() 함수를 사용하면된다.


파이썬에서는 C에서의 단축 치환문
+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, **= 을 지원한다.

3. 객체
파이썬은 다른 언어와 달리
변수의 이름과 값 객체가 분리되어 있다.

예를 들어 a =1 이란 문에서 숫자 1이 변수 a에 저장되는 것이 아니다.
파이썬에서는 a를 이름, 숫자 1을 객체라고 하며, 두 개념은 분리되어 있다.
즉, 이름 a는 객체 1을 가리킨다. 객체 1은 별도의 위치에 존재하고 있다.

먼저 아래와 같이 X, Y, Z 객체를 생성해보자
Y는 1번째 객체를 X로 가지고 있고 Z는 1번째 객체를 Y로 가지고 있다
제대로 생성되었는지 확인해 보면
이렇게 생성이 된걸 볼수 있다.

여기서 X[1]의 값을 바꾸면 어떻게 될까?

만약 위에서 객체를 생성할때 Y의 1번째 객체인 X가 원래의 X에서 복사 되었다면 현재 X[1]의 값을 바꾸어도 Y의 1번째 객체는 변하지 않을 것이다.
하지만, 위에서처럼 X[1]의 값을 바꾸니 Y와 Z 모두 값이 바뀌었다.
즉, 객체가 Y와 Z에 의해 공유되는 것이다.

4. 문자열 실행
3.1 eval
파이썬의 eval() 함수는 자바스크립트의 그것과 같다.

eval 함수 기본형
          eval (expression[, globals[, locals]])


3.2 exec
파이썬의 exec() 함수는 eval() 함수와 거의 같은 기능을 하지만 다른점이 있다.
eval() 함수는 문자열로된 파이썬 식만을 수행가능하지만 exec() 함수는 문자열로 된 문만이 실행가능하다는 것이다.
(식은 'a+10' 과 같은것이고 문은 'a = a+10' 과 같은 것이다)

그리고 exec() 함수는 여러개의 문을 실행할수도 있다.
exec 함수 기본형
          exec code [ in globals [, locals]]


3.3 compile
eval() 함수나 exec() 함수는 문자열로 입력된 코드를 분석해서 파이썬 컴파일 코드로 변환한다. 이거한것이 반복적으로 수행되면 컴파일할때 많이 느려진다.
그래서 반복적으로 실행될 문자열 코드를 compile 이란 함수로 미리 파이썬 컴파일 코드로 변환해 놓고 필요할때마다 불러서 쓰는 것이다.
compile 함수 기본형
          compile (string, filename, kind)

다음 예제들을 보면 이해가 갈것이다







오늘은 여기까지~
저작자 표시 비영리

'공부 > 0x07 PROGRAMING' 카테고리의 다른 글

[Python] 파이썬 문과 기본자료형 #4  (0) 2009/11/11
[Python] 리눅스에서 파이썬 설치하기 #3  (0) 2009/11/10
[Python] 윈도우에서 파이썬 설치하기 #2  (0) 2009/11/09
[Python] Python 이란? #1  (0) 2009/11/09
iscert.org (2)  (2) 2009/07/23
iscert.org  (0) 2009/07/22
Posted by Project Earth NextCube Trackback 0 Comment 0