'Programming/Python'에 해당되는 글 79건

  1. 2013.02.08 str 과 repr
  2. 2013.02.01 임의의 정수를 비트단위로
  3. 2012.11.26 논리 연산자
  4. 2012.11.26 관계 연산자(<,>,<=,>=,==,!=)
  5. 2012.11.26 Decimal 자료형
  6. 2012.11.26 python의 Backticks ( repr() )
  7. 2012.11.26 함수
  8. 2012.11.26 예약어 pass

str 과 repr

Programming/Python 2013. 2. 8. 03:14 |

변환 기호를 사용하는 것 외에도 숫자를 문자열로 변환하는 함수가 있는데 str 과 repr 이다. 

str 은 print 문에 의한 출력과 동일한 문자열을 생성해 내고,

repr 은 변수만 입력해서 17자리의 유효 자리를 출력하는 것과 같은 결과를 얻을 수 있다.



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

문자열 붙이기  (0) 2013.02.09
사전을 이용한 포매팅  (0) 2013.02.08
임의의 정수를 비트단위로  (0) 2013.02.01
논리 연산자  (0) 2012.11.26
관계 연산자(<,>,<=,>=,==,!=)  (0) 2012.11.26
Posted by scii
:

비트 연산자를 소개할 때... 꼭~ 나오는... "임의의 정수를 입력받아서 비트단위로 출력해주는 함수"

C언어를 공부할 때 했던 방식으로.. shift 비트연산자와 & 비트연산자를 가지고 Python에서 작성해보았다.

파이썬이 정말 간단하긴하다. Good!


위의 x != 0 은 불필요함. 이렇게만 해도 된다.


자료구조를 공부하는데 선형 자료구조는 모두 끝마추었다. 이제 비선형 자료구조를 시작하는데... Python 이랑 병행하면서 공부를 하려고 한다.

C언어로 자료구조 공부하고, 그것을 다시 Python에서는 어떻게 이뤄질지 생각하면서 Python에서 다시금 코딩을 하려한다.

이렇게 병행하면 복습도 자연스레 되고~~ 파이썬의 자료구조도 정말 깊이있게 이해할 수 있을것이다. 

Python Start!!!


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

사전을 이용한 포매팅  (0) 2013.02.08
str 과 repr  (0) 2013.02.08
논리 연산자  (0) 2012.11.26
관계 연산자(<,>,<=,>=,==,!=)  (0) 2012.11.26
Decimal 자료형  (0) 2012.11.26
Posted by scii
:

논리 연산자

Programming/Python 2012. 11. 26. 16:52 |

부울(Boolean) 연산자는 진리 값을 피연산자로 취해서 논리 값을 계산해 내는 연산자이다.

부울 연산자는 다른 연산자보다 우선 순위가 낮다.


python에서 거짓으로 간주되는 것들

None

0, 0.0, 0L, 0.0+0.0j

"", [], (), {}

이것을 제외한 나머지는 참이다.






논리식 계산 순서

'and', 'or'가 포함된 논리식은 식의 결과 값을 판정하는 데 최종적으로 기여한 객체의 값을 식의 값으로 리턴한다.

다시 말하면, and, or 연산자는 왼쪽부터 식을 계산하다가, 어떤 시점에서 결과가 알려지면 더 이상 계산을 하지 않고 그 시점의 객체를 리턴한다.

리턴되는 값은 참, 거짓이 아님을 주의해야 한다!!!



C/C++ 에서는 and, or를 하면 bool방식으로 참이나 거짓만을 리턴한다. 반면.. python은...



python에서는 값을 리턴한다. 이것을 주의해야 한다.





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

str 과 repr  (0) 2013.02.08
임의의 정수를 비트단위로  (0) 2013.02.01
관계 연산자(<,>,<=,>=,==,!=)  (0) 2012.11.26
Decimal 자료형  (0) 2012.11.26
python의 Backticks ( repr() )  (0) 2012.11.26
Posted by scii
:

자료형 간에도 크기가 있다.


숫자 < 사전 < 리스트 < 문자열 < 튜플


작은것 -> 큰것


>>> {3:2} < [1,2,3]

>>> true





==는 객체가 같은 값을 가지고 있는지를 검사한다. 


만일 두 개의 레퍼런스가 같은 객체를 가리키고 있는지 알고 싶다면 is 연산자를 이용한다.



x와 y는 값이 같지만 다른 객체이다. 

y와 z는 값도 같고 같은 객체임을 알 수 있다. 그 이유는, z = y에 의해서 새로운 객체가 생성되는 것이 아니라 동일 객체에 대한 레퍼런스가 복사되기 때문이다.

즉, y와 z는 동일한 객체임을 알 수 있다.


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

임의의 정수를 비트단위로  (0) 2013.02.01
논리 연산자  (0) 2012.11.26
Decimal 자료형  (0) 2012.11.26
python의 Backticks ( repr() )  (0) 2012.11.26
함수  (0) 2012.11.26
Posted by scii
:

Decimal 자료형

Programming/Python 2012. 11. 26. 13:53 |

컴퓨터의 부동 소수점(Floating Point)에 의한 실수 표현은 어쩔 수 없이 오차를 동반한다.

계산 시간에 관계없이 정확한 결과 값을 얻기를 원하면 Decimal 모듈을 사용할 수 있다.(Import decimal)


Decimal 모듈은 두 개의 클래스 Decimal, Context를 제공한다.


Decimal 클래스 =  숫자를 표현.

Context 클래스 = 정확도나 반올림 방법 등과 같은 환경 설정.


Decimal을 하지않고 그냥 했을 경우, 원래라면 1이 나와야하는데 1의 근삿값이 나왔다.



Decimal을 이용해여 계산을 했을 때 정확한 값이 나왔다.

오차 없이 어떤 계산 결과를 얻어야 한다면 Decimal 클래스의 활용을 생각해 볼 수 있다. 하지만, 남용하면 안된다. 계산 시간이 많이 걸린다.



Decimal 인스턴스끼리는 일반 수치와 같이 연산이 가능하다.



Decimal 인스턴스 객체를 생성하는 또 다른 방법은 튜플을 이용해서 부호, 지수부, 가수부를 별도로 지정하는 것이다.

첫 숫자 1은 부호(0=양수, 1=음수)를 나ㅏ내고, (1,5,4,3)은 가수부, -2는 소수점의 위치를 나타낸다.

그리고 decimal 모듈의 Context는 Decimal 연산에 대한 설정 값을 가지는 객체로 계산 정확도와 반올림 정책 등을 설정할 수 있다.



method를 지원하는 연산도 있다.


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

논리 연산자  (0) 2012.11.26
관계 연산자(<,>,<=,>=,==,!=)  (0) 2012.11.26
python의 Backticks ( repr() )  (0) 2012.11.26
함수  (0) 2012.11.26
예약어 pass  (0) 2012.11.26
Posted by scii
:

`object` 는 repr(object) 함수와 같은 기능을 한다.

즉, 같은 결과물을 보여준다.


repr() 함수는 객체를  출력할 수 있는 문자열 형태로 변환하여 돌려주는 함수이다. 이 변환된 값은 주로 eval 함수의 입력으로 쓰인다.

 

※ str() 함수와의 차이점: str으로 변환된 값을 eval의 입력값이 될 수 없는 경우가 있다는 것이다.


Backticks는 python의 repr() 이라는 내장함수의 alias 이다.

그런데 Backticks는 더 이상 사용하지 말라는 deprecated가 적용되었다.


str은 실제 객체의 값과 다를 수가 있다.

eval(repr(obj))는 실제 obj와 동일한 값을 생성할 수 한다.

하지만 eval(str(obj))는 실제 obj와 동일한 값이 아니거나, 오류를 내는 경우가 있을 수 있다.


>>> f = 0.3

>>> f

0.29999999999999999

>>> print f

0.3

>>> print repr(f)

0.29999999999999999

>>> print str(f)

0.3




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

관계 연산자(<,>,<=,>=,==,!=)  (0) 2012.11.26
Decimal 자료형  (0) 2012.11.26
함수  (0) 2012.11.26
예약어 pass  (0) 2012.11.26
Python 제어문(if, for, while)  (0) 2012.11.25
Posted by scii
:

함수

Programming/Python 2012. 11. 26. 01:00 |

함수(Function) 란 하나의 이름으로 코드를 묶는 단위이다 함수로 작성된 프로그램은 디버깅이 간단하고, 수정이 쉬우며 관리하기 쉽다. 

함수는 반복적인 코드를 없애 주며 짧은 시간에 효과적으로 프로그램을 작성할 수 있게 해 준다.


함수를 정의하는 법

def 함수명(가인수들):

문들

(파라미터에 디폴트 값 줄 수 있음)


여기서, 가인수들이란 함수 호출 측에서 넘겨주는 파라미터를 받는 이름들을 의미한다. 함수를 호출할 때 넘겨주는 인수를 실인수라고 한다. 

즉, 실인수를 가인수한테 넘겨주는 것이다. 


파이썬은 동적인 인수 전달을 하므로 함수 선언 시에 인수의 형을 지정할 필요가 없다. 어떠한 형의 인수도 받을 수 있으며, 그 형에 맞는 + 연산이나 등등을 수행해준다. 

이러한 기능을 동적인 형 결정(Dynamic Typing)이라고 한다. 이러한 점은 python의 큰 장점이며, 다른 언어에서는 추가로 작성해야 할 많은 코드를 줄여 주는 요소이기도 하다.





C++의 Template 으로 만들어진 함수와 똑같다... 좋다!! 

이 기능만해도 코드라인 확 줄여주겠네

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

Decimal 자료형  (0) 2012.11.26
python의 Backticks ( repr() )  (0) 2012.11.26
예약어 pass  (0) 2012.11.26
Python 제어문(if, for, while)  (0) 2012.11.25
메모리 관리(쓰레기 수집) // 객체의 신원 식별  (0) 2012.11.25
Posted by scii
:

예약어 pass

Programming/Python 2012. 11. 26. 00:19 |

The pass statement does nothing. It can be used when a statement is required syntactically but the program requires no action. For example:

>>> while True: ... pass # Busy-wait for keyboard interrupt ... pass 는 아무것도 실행하지 않는다.

실행할 필요는 없는데 아무것도 넣지않으면 구문적인 오류가 발생할경우에 
사용하게 된다.

즉, pass 는 어떤 코드를 넣어야 하는데 그냥 지나가고 싶을 때 사용할 수 있다.

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

python의 Backticks ( repr() )  (0) 2012.11.26
함수  (0) 2012.11.26
Python 제어문(if, for, while)  (0) 2012.11.25
메모리 관리(쓰레기 수집) // 객체의 신원 식별  (0) 2012.11.25
파이썬의 객체 자료형  (0) 2012.11.25
Posted by scii
: