Python:Basic
INTRO TIP
잘 모르겠으면 아래와 같이 사용하면 된다.
클래스(Type)를 확인하고 싶을 경우는 아래와 같이 사용한다.
클래스(Type)를 비교하고 싶을 경우는 isinstance
를 사용한다.
isinstance(x, int)
isinstance(x, basestring) # Python 2.x, you would do
isinstance(x, str) # In Python 3.x, it would be
isinstance(x, unicode) # In Python 3.x, it would be
isinstance(x, list)
속성을 가지고 있는지 확인하고 싶다면 hasattr
를 사용한다.
Operator
다른 대중적인 프로그래밍 언어1와 다른 색다른 연산자는 아래와 같다. //
연산자는 소수점 이하 자리의 값을 버린다.
**
는 거듭제곱이다.
Boolean Operations
Python에서는 &&
, ||
는 존재하지 않는다. 각각 and
, or
를 사용하며, 부정(!
)은 not
을 사용한다.
참고로 ==
는 존재하며, is
와는 다르다.
-
==
: 값을 비교한다. -
is
: Reference를 비교한다.
자세한 내용은 이 곳을 참조.
배열
배열속 For 루프
아래와 같이 사용하면 For 루프를 통하여 데이터를 추가할 수 있다.
참고로 아래와 같이 확장할 수도 있다.
오른쪽 부터 읽으면 된다. list1
의 Element 단위를 i
변수에 저장하고, 각각의 i
변수의 문자열 "a"를 기준으로 분리(split)한다.
아래와 같이 조건을 추가할 수도 있다.
nums = [0, 1, 2, 3, 4]
even_squares = [x ** 2 for x in nums if x % 2 == 0]
print even_squares # Prints "[0, 4, 16]"
with
with은 파이썬 2.5에서 도입된 기능으로 지정된 객체(context manager)에 의해서 실행되는 __enter__()
과 __exit__()
을 정의하여, with 구문 body 의 앞부분과 뒷부분에 실행되는 코드를 대신할 수 있다.
with 구문을 이용하면 try/finally을 대신하여 더 간편하고 쉽게 사용할 수 있다.
위 코드에서 A는 with 블럭이 시작되는 시점에 A.enter()를 호출하고, 블럭이 끝나는 시점에 A.exit()를 호출한다. 만약 블럭 내에서 예외가 발생하여 블럭의 실행이 중지되고 빠져나오는 시점에도 A.exit()가 호출되는 것이 보장된다.
Example
ForLoop
Yield
def my_range(start, end, step):
while start <= end:
yield start
start += step
for x in my_range(1, 10, 0.5):
print x
See also
Favorite site
- [추천] 5. Built-in Types