Whiteship's Note


클래스

Python/Study : 2007.02.04 12:11


기본 형태
class 클래스이름[(상속 클래스명)]:
<클래스 변수 1>
<클래스 변수 2>
...
def 클래스함수1(self[, 인수1, 인수2,,,]):
<수행할 문장 1>
<수행할 문장 2>
...
def 클래스함수2(self[, 인수1, 인수2,,,]):
<수행할 문장1>
<수행할 문장2>
...
...
self라는 것이 매우 특이합니다. self.name = name 이런식으로 쓸 수가 있는데 name이 클래스 변수로 선언이 되어있지 않아도 사용할 수 있습니다. self.name을 할 때 만드는 것 같은데 변수들의 scope이 어떻게 되는 것인지는..흠.. 모르겠군요.

클래스의 인스턴스들만 클래스에 있는 메소드를 사용하도록 하려면 저기 있는 self라는 녀석을 사용해야 합니다.

class Keesun:
      
    def setData(self, name, age):
        self.aName = name
        self.aAge = age

    def eat(self, something):
        print "%s, %s를 먹는다." %(self.aName, something)

>>> me = Keesun()
>>> me.setData("기선", 26)
>>> me.aAge
26
>>> me.eat("과자")
기선, 과자를 먹는다.

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

클래스  (0) 2007.02.04
함수  (0) 2007.02.03
for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
top

Write a comment.


함수

Python/Study : 2007.02.03 12:22


>>> def sum(*args):
...     sum = 0
...     for i in args:
...             sum = sum + i
...     return sum
...
위와 같은 형태로 sum이라는 함수를 만들었습니다. def 함수명(인수): 이렇게 선언하고 그 아래에 정의를 해주면 되는 듯 합니다. *args 는 가변인수를 뜻합니다. 인자를 초기화 할 수 도 있습니다.

>>> def call(name, age=20):
...     print name
...     print age
...
age를 20으로 초기화 해놨기 때문에 name만 전해 줘도 됩니다. 물론 age도 주면 그에 맞게 값이 변합니다.
>>> call("기선")
기선
20
>>> call("기선", 26)
기선
26
>>> name = '기선'
>>> call(name)
기선
20
>>> myName = '기선'
>>> call(myName)
기선
20
>>> name = "기선"
>>> call(name)
기선
20

return을 만나면 함수에서 나가는 것은 java와 같은데 약간 특이합니다. 여러 개의 값을 return하고 싶을때 return 값1, 값2, 값3 이렇게 적어 주면 터플로 리턴해줍니다.
>>> def call():
...     return 1, 2, 3
...
>>> a = call()
>>> a
(1, 2, 3)


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

클래스  (0) 2007.02.04
함수  (0) 2007.02.03
for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
top

TAG Python, 함수

Write a comment.


for문

Python/Study : 2007.02.03 11:51


range()라는 함수와 자주 쓰이는것 같습니다. java에서 for(int i = 0 ; i < 10 ; i++) 이것을 Python에서는 for i in range(10): 이렇게 씁니다. range(5,10) 이렇게도 쓸 수가 있는데 5 이상 10 미만을 뜻합니다. 즉 [5, 6, 7, 8, 9] 이런 배열을 만들어 주는듯 합니다.

>>> a = ['spring', 'hibernate', 'python']
>>> for i in range(len(a)):
...     print a[i]
...

>>> a = ['spring', 'hibernate', 'python']
>>> for i in a:
...     print "저는 %s를 공부하고 있습니다." % i
...
저는 spring를 공부하고 있습니다.
저는 hibernate를 공부하고 있습니다.
저는 python를 공부하고 있습니다.

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

클래스  (0) 2007.02.04
함수  (0) 2007.02.03
for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
top

TAG for문, Python

Write a comment.


while문

Python/Study : 2007.02.03 11:36


조건문에서는 pass를 쓰고 반복문에서는 continue를 사용하나 봅니다. Java와 마찬가지로 break와 continue를 사용할 수 있습니다. 차이점은 거의 없는 것 같습니다. 조건문 뒤에 : 이걸 붙이는거랑 들여쓰기 하는 거에 익숙해져야 겠습니다.

>>> a = 10
>>> while a:
...     a = a-1
...     print a
...     if a == 5: break
...
9
8
7
6
5

>>> while a < 10:
...     a = a+1
...     if a%2 == 0: continue
...     print a
...
1
3
5
7
9




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

클래스  (0) 2007.02.04
함수  (0) 2007.02.03
for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
top

TAG while문

Write a comment.


if문

Python/Study : 2007.02.03 11:24


들여쓰기에 주의해야 합니다. 들여쓰기로 블럭을 인식하기 때문에 들여쓰기가 안맞으면 에러가 나는군요.

특이한건 else if를 줄여서 elif 로 사용합니다.

그리고 &&, ||, ! 대신에 and, or, not 이라는 키워드를 사용합니다.

배열, 터플, 문자열 안에 특정 요소가 들어있는지 확인하기 위해 in과 not in을 사용할 수 있습니다.

continue와 똑같이 동작하는 pass라는 키워드가 있습니다.

>>> a = [1, 2, 3, 4, 5]
>>> if a:
...     print "true"
...
true
>>> if 1 in a:
...     print "true"
...
true
>>> if 2 in a and 3 in a:
...     print "ture"
...
ture

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

클래스  (0) 2007.02.04
함수  (0) 2007.02.03
for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
top

TAG if문, Python

Write a comment.


리스트 복사

Python/Study : 2007.02.02 21:48


>>> a = 3
>>> b = 3
>>> a = 1
>>> a
1
>>> b
3
3이라는 객체를 a, b 두 개의 변수가 가리키고 있다가 a가 다른 객체 1을 가리키게 됩니다. 그러나 배열은 이런 방법과는 다르게 동작합니다.

1. 일단 배열은 []를 사용할 때 마다 매번 객체를 생성합니다.
>>> a = [1, 2, 3]
>>> b = [1, 2, 3]
>>> a is b
False

2. 다음과 같은 방법으로 같은 배열을 가리키도록 할 수 있습니다.
>>> b = a
>>> a is b
True

하지만 이 때 만약에 a변수를 통해서 배열의 값을 바꾸게 되면 b도 역시 같은 배열 객체를 참조하기 때문에 값이 바뀐 배열을 참조하게 됩니다.
>>> a[0] = 100
>>> b
[100, 2, 3]

단순히 1번과 같은 효과를 가지면서 배열에 있는 모든 값들을 동일하게 가지는 다른 배열을 만드는 방법은 두 가지가 있습니다.

1. [:] 이것을 사용하는 방법과
>>> c = a[:]
>>> a is c
False
>>> c
[100, 2, 3]

2. copy 모듈을 사용하는 방법이 있습니다.
>>> from copy import copy
>>> d = copy(A)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'A' is not defined
>>> d = copy(a)
>>> d
[100, 2, 3]
>>> d is a
False

모듈이라는 것이 나왔는데.... 뭔지 모르겠군요. from copy import copy... copy로 부터 copy를 불러 들인것인가.. 흠.. from 패키지 import 클래스 인가.. 아니면 from 클래스 import 메소드 인가..;;

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

클래스  (0) 2007.02.04
함수  (0) 2007.02.03
for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
top

Write a comment.


빈 공간에 예민함

Python/Study : 2007.02.02 21:36


>>> if '':
...     print "True"
... else:
...     print "False"
...
False

이렇게 들여쓰기를 해주면 잘 동작합니다. 하지만 조금 귀찮아서 들여쓰기를 안해주면 아래처럼 에러가 발생합니다.

>>> if '':
... print "True"
  File "<stdin>", line 2
    print "True"
        ^
IndentationError: expected an indented block

블럭 구분을 괄호로 하지 않고 들여쓰기로 하는 것 같습니다. ()이거는 터플, [] 이거는 배열, {} 이거는 딕셔너리로 사용하기 때문에 블럭을 구분하려면 들여쓰기를 잘해야 겠네요.

{}; 이런거에 눈이 익숙해져 있는데 블럭이 없는 코드에 눈이 익숙해져야겠습니다.

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

함수  (0) 2007.02.03
for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
top

TAG 블럭

Write a comment.


변수

Python/Study : 2007.02.02 21:28


전부 객체인가 봅니다. 놀라운 건.. 전부 Java에서 "문자열" 이런 식으로 문자열을 지정할 때 와 똑같이 동작한다는 겁니다.

String name = "keesun";
name2 = "keesun";

이렇게 했을 때 name과 name2가 같은 객체를 가리키듯이 python에서도 그렇네요. 단 문자열만 그런게 아니라 전부 다 그런가 봅니다.
>>> a = "abc"
>>> b = "abc"
>>> a is b
True
>>> a = 3
>>> b = 3
>>> a is b
True
>>> b = 2
>>> a
3>>> b
>>> b
2

오호 신기한 거 발견!! 두 변수에 들어있는 값 바꾸는 것이 매우 편하네요.
>>> a = 1
>>> b = 2
>>> a, b = b, a
>>> a
2
>>> b
1

변수명의 첫글자는 반드시 영문자 or 언더바(_) 여야 하고 숫자, 영문자, 언더바만 사용할 수 있습니다.

예약어는 다음과 같습니다.
and     assert     break     class     continue
def      del      elif     else     except
exec     finally     for     from     global
if     import    in     is     lambda
not     or     pass     print    raise
return     try    while

객체를 가리키는 변수들이 없으면 메모리에서 제거 된다고 합니다. 흠.. 바로 사라지나??

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

for문  (0) 2007.02.03
while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
top

TAG Python, 변수

Write a comment.


True, False

Python/Study : 2007.02.02 21:12


boolean 타입이 없나 봅니다.

초간단하게 정리하면 뭐가 들어있으면 True 아무것도 없으면 False 입니다. true나 false는 예약어가 아니기 때문에 변수명으로 사용할 수도 있네요.

" " - 거짓
' ' - 거짓
() - 거짓
[] - 거짓
{} - 거짓
숫자 0 - 거짓

배열이나 문자열에 뭐라도 들어있거나 0이 아닌 숫자는 모두 참입니다.

>>> if '':
...     print "t"
... else:
...     print "f"
...     print "a"
...     print "l"
...     print "s"
...     print "e"
...
f
a
l
s
e
>>>

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

while문  (0) 2007.02.03
if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
top

  1. Favicon of http://heungsub.net/ BlogIcon Heungsub 2007.06.17 16:59 PERM. MOD/DEL REPLY

    파이썬에는 bool 타입이 있고 인스턴스로 True와 False 객체가 있습니다. 그렇다고 예약어는 아니라서 다른 객체로 대치할 수도 있지요. 소문자 true, false(본문에 flase)라고 오타가 나있네요)는 파이썬 컨벤션에 맞지 않아서 쓰지 않는 것 같습니다.

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2007.06.17 23:40 신고 PERM MOD/DEL

    아..그런가보군요.
    오타 지적 감사합니다. 수정했습니다.

Write a comment.


Dictionary(Map)

Python/Study : 2007.02.02 21:03


Map 처럼 key, value 쌍으로 이루어진 것을 딕셔너리라고 부르는군요.

만드는 방법 : 변수명 = {Key1:Value1, Key2:Value2, Key3:Value3,,,,}
key로 value가져오기 : 변수명['key']
key, value 추가하기 : 변수명['추가 할 key'] = 추가할 value
key, value 삭제하기 : del 변수명['제거 할 쌍의 key']
>>> dic = {'name':'keesun', 'age':26, 'email':'keesun@email.com'}
>>> dic
{'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> print dic
{'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> dic['name']
'keesun'
>>> dic['age']
26
>>> dic['age'] + 1
27
>>> dic['name'] + 1
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>> dic
{'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> dic['city'] = 'seoul'
>>> dic
{'city': 'seoul', 'age': 26, 'name': 'keesun', 'email': 'keesun@email.com'}
>>> del['name']
  File "<stdin>", line 1
SyntaxError: can't delete literal
>>> del dic['name']
>>> dic
{'city': 'seoul', 'age': 26, 'email': 'keesun@email.com'}

주의할 것은 절대로 중복되는 key를 사용하지 말 것. 만약에 중복되는 키를 사용하면 중복된 키를 가진 쌍들 중에 하나를 남기고 나머진 사라지는데 어떤 것이 사라질지 예측 불가능입니다.

key값은 immutable해야 합니다. 따라서 list를 쓸 수 없습니다.
>>> dic[[1,2,3]] = 'number'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: list objects are unhashable
>>> dic[(1,2,3)] = 'number'
>>> dic
{'city': 'daejun', 'age': 26, (1, 2, 3): 'number', 'email': 'keesun@email.com'}

value는 mutable하기 때문에 수정이 가능합니다.
>>> dic
{'city': 'seoul', 'age': 26, 'email': 'keesun@email.com'}
>>> dic['city'] = 'daejun'
>>> dic
{'city': 'daejun', 'age': 26, 'email': 'keesun@email.com'}

keys(), values(), items() 모두 리턴타입이 list 입니다.

이밖에 여러 메소드들은 이곳 제일 아래에서 참조 할 수 있습니다.

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

if문  (0) 2007.02.03
리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
top

Write a comment.


Python 스터디 Index

Python/Study : 2007.02.02 20:46


참조 : http://tdd.or.kr/pf/book/main



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

리스트 복사  (0) 2007.02.02
빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
top

Write a comment.


Tuple

Python/Study : 2007.02.02 20:40


오호.. 첨보는 겁니다. 리스트와 비슷하지만 리스트는 mutable 하고 터플은 immutable 하답니다. 따라서 이전에 리스트를 다루듯이 배열에 값을 넣고 빼고 변경을 해야 한다면 리스트를 사용하고 값이 바뀌면 안되는 경우라면 터플을 사용하면 되겠네요.

터플을 만들 때 주의 할 것은 터플에 한 개의 요소만 들어갈 때는 뒤에 ,를 붙여줘야 한답니다. 어라 그런데 되네요? ㅋㅋ 버젼 업 되면서 바꼈나 봅니다.
>>> t = (1,)
>>> t = (1)
>>> t
1

슬라이싱을 이용해서 한 개만 꺼내보면 뒤에 ,가 붙어서 나오는군요. 여러개를 슬라이싱하면 제대로 나옵니다.
>>> t = (1, 2, 3, 4, 5,)
>>> t
(1, 2, 3, 4, 5)
>>> t[1:2]
(2,)
>>> t[0]
1
>>> t[1]
2
>>> t[1:4]
(2, 3, 4)

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

빈 공간에 예민함  (0) 2007.02.02
변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
한글 출력  (2) 2007.02.02
top

Write a comment.


List

Python/Study : 2007.02.02 20:31


[ ] 이거 사이에 요소들을 넣어 주면 됩니다. 신기한건 + 랑 * 연산이 먹힌다는 거지요.
>>> a = [ 'a', 'b', 'c']
>>> a
['a', 'b', 'c']
>>> a * 2
['a', 'b', 'c', 'a', 'b', 'c']
>>> a + a
['a', 'b', 'c', 'a', 'b', 'c']
>>> a
['a', 'b', 'c']

리스트에 있는 요소의 수정과 삭제도 직관적으로 할 수 있습니다.
>>> a
['a', 'b', 'c']
>>> a[1:2]
['b']
>>> a[1:2] = [1]
>>> a
['a', 1, 'c']
>>> a[1:2]
[1]
>>> a[1:2] = []
>>>

그리고 역시 매우 유용한 함수들이 제공 된다는거~
append, sort, reverse, index, pop.. 더 많은 메소드는 이곳의 제일 아래에 적혀 있습니다.

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

변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
한글 출력  (2) 2007.02.02
Python 설치  (3) 2007.02.02
top

TAG list, Python
  1. Favicon of http://blog.daum.net/search5 BlogIcon 이상호 2009.10.13 03:27 PERM. MOD/DEL REPLY

    리스트에는 다음과 같은 재미있는 용법도 있습니다.

    [ x.strip() for x in f ]

    위와 같이하면 f 의 개별 요소를 strip() 메소드를 적용한 결과를 다시 리스트로 던져줍니다.

    Favicon of http://whiteship.me BlogIcon 기선 2009.10.13 09:53 PERM MOD/DEL

    오호.. 글쿤요.
    감사합니다~

Write a comment.


문자열

Python/Study : 2007.02.02 20:18


문자열 만드는 방법이 여러가지네요. Java에서는 " " 이거를 사용했는데 ' ' 이것도 되고 """ """ 이렇게 세개씩 써서 만들 수도 있습니다.
>>> a = """
... spring hibernate
... python
... ruby
... php
... perl
... """
>>> a
' \nspring hibernate\npython\nruby\nphp\nperl\n'
>>> print a

spring hibernate
python
ruby
php
perl

문자열에 * 하면 문자열을 복사해서 붙여 줍니다.
>>> a = "spring"
>>> a * 2
'springspring'

문자열 포맷 코드를 사용해서 출력가능 전부 %s 로 쓰면 알아서 바꿔서 출력해준다고 합니다. toString()이랑 비슷한듯..
>>> print "%d number" % 5
5 number
>>> print "%s number" % 5
5 number
>>> print "%s number" % 4.3
4.3 number
>>> print "%c number" % 4.3
sys:1: DeprecationWarning: integer argument expected, got float
number
>>> print "%c number" % 4
number
>>> print "%c number" % 'c'
c number
>>> print "%c number" % '4'
4 number
>>>

오호.. 문자열을 다루는데 필요한 여러 메소드 제공해 줍니다.
>>> a = "Spring Hibernate php"
>>> a.replace("php", "Python")
'Spring Hibernate Python'
>>> a
'Spring Hibernate php'
>>>
Python도 문자열을 상수로 다루는 것 같습니다.

이밖에도 여러 메소드는 이곳의 제일 아래를 참조하시면 됩니다.

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

변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
한글 출력  (2) 2007.02.02
Python 설치  (3) 2007.02.02
top

Write a comment.


숫자형

Python/Study : 2007.02.02 20:04


변수에 타입을 적어 주지 않기 때문에 들어있는 값을 가지고 판단을 하는 건인지... 모르겠지만 일단 Java랑 거의 비슷하길래 다른 것만 찾아봤습니다.

자바에서 ^ 이게 제곱 연산을 하는 녀석인데 Python에서는 ** 이렇게 곱하기 두 개를 사용합니다.

>>> a = 2
>>> b = 3
>>> a ** b
8

그리고 복소수를 지원합니다. j나 J 라는 문자를 사용하면 복소수가 됩니다. 복소수에는 real이나 imag 같은 변수? 가 있어서 실수와 허수 부분의 수를 알려줍니다.

>>> a = 1 + 2j
>>> a.real
1.0
>>> a.imag
2.0
>>> b = 2
>>> a * b
(2+4j)
>>>

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

변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
한글 출력  (2) 2007.02.02
Python 설치  (3) 2007.02.02
top

Write a comment.


문자열 다루기

Python/Study : 2007.02.02 19:54


참조 : http://tdd.or.kr/pf/book/main

대엽님 블로그에서 보고 찾아가 봤는데 정말 금방 배울 수 있겠더군요. 기본 문법을 언능 보고 심심할 때 마다 예제 따라 해보면 뭔가 만들 수 있을지도...

참. 갑자기 Python을 공부하는 이유는 오픈마루 스튜디오에 올라왔던 글 중에서 Spoken log라는 글을 보고 신기하기도 하고 만들어 보면 재밌을 것 같아서 공부하게 됐습니다.

자바에서 배열 다루듯이 하면 되는데 특이한건...

a[-2] 와 같이 마이너스 인덱스를 사용할 수 있습니다.
a[0:4] 이거는 a[0] <= 출력할 것 < a[4] 이기 때문에 a[0], a[1], a[2], a[3] 까지만 출력이 된다네요.

>>> a = "Spring Hibernate Python"
>>> a[-1]
'n'
>>> a[-2]
'o'
>>> a[1:4]
'pri'
>>> a[0:4]
'Spri'
>>> a[1:-2]
'pring Hibernate Pyth'
>>>

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

변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
한글 출력  (2) 2007.02.02
Python 설치  (3) 2007.02.02
top

Write a comment.


한글 출력

Python/Study : 2007.02.02 19:35


참조 : 파이썬 마을

>>> a = "한글입력"
>>> a
한글입력
이렇게 출력 될 줄 알았는데 그게 아니더군요.

>>> a = "한글입력"
>>> a
'\xc7\xd1\xb1\xdb\xc0\xd4\xb7\xc2'
>>> print a
한글입력
>>>
이렇게 해야 원하는 대로 나옵니다. 하지만 영어는 그냥 변수명을 찍어도 배열에 있는 내용이 그대로 나옵니다.

>>> b = "Spring"
>>> b
'Spring'
>>> print b
Spring

한글이 차지하는 바이트 수가 2바이트인데 배열에 1byte밖에 못들어가서 그러는 건지...repr()이라는 함수는 뭐하는 녀석인지 궁금해지네요.

>>> repr(a)
"'\\xc7\\xd1\\xb1\\xdb\\xc0\\xd4\\xb7\\xc2'"
>>> repr(b)
"'Spring'"
>>> print repr(a)
'\xc7\xd1\xb1\xdb\xc0\xd4\xb7\xc2'
>>> print repr(b)
'Spring'


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

변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
한글 출력  (2) 2007.02.02
Python 설치  (3) 2007.02.02
top

  1. Favicon of http://blog.daum.net/search5 BlogIcon 이상호 2009.10.13 03:25 PERM. MOD/DEL REPLY

    a = u"한글"

    위와 같이 입력하면 유니코드로 한글을 다뤄줍니다.

    Favicon of http://whiteship.me BlogIcon 기선 2009.10.13 09:52 PERM MOD/DEL

    넵.. 아흑. 문법 공부만 해놓고 써보지 못한 파이썬이로군요.

Write a comment.


Python 설치

Python/Study : 2007.02.02 19:25


http://www.python.org/download/
위에서 window용 2.5를 받았습니다.

http://sourceforge.net/project/showfiles.php?group_id=78018
여기서는 IDE를 받았습니다. 설치하면 위에서 파이썬 설치한 폴더에 추가로 IDE가 생기는 것 같습니다.

코딩할 수 있는 환경은 세 곳이 생겼습니다.
사용자 삽입 이미지

IDLE는 아래처럼 생겼고 파일로 편집할 수도 있고 대화형 인터프리터를 사용할 수도 있습니다.
사용자 삽입 이미지

Python(command line)은 그냥 도스창에서 인터프리터에서 코딩을 하게 되는데 그냥 연습용으로 쓰기에는 위에 있는 것보다 좋은것 같습니다. 왜냐면.. 화살표가 먹힙니다. 위에 있는 편집기에서는 '위로 가는 화살표'를 누르면 윗 줄로 올라가는데 커맨드 창에서는 이전에 입력했던 명령어가 다시 뜹니다.
사용자 삽입 이미지

세번째는 지렁인지 용인지 녹색 괴물이 그려져있는 에디터인데 처음에 봤던 에디터랑 비슷합니다. 그런데 왠지 이게 첫번째 것보다 더 끌리는군요.
사용자 삽입 이미지

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

변수  (0) 2007.02.02
True, False  (2) 2007.02.02
Dictionary(Map)  (0) 2007.02.02
Python 스터디 Index  (0) 2007.02.02
Tuple  (0) 2007.02.02
List  (2) 2007.02.02
문자열  (0) 2007.02.02
숫자형  (0) 2007.02.02
문자열 다루기  (0) 2007.02.02
한글 출력  (2) 2007.02.02
Python 설치  (3) 2007.02.02
top

TAG Python, 설치
  1. Favicon of http://decoder.tistory.com BlogIcon decoder 2007.02.02 23:45 신고 PERM. MOD/DEL REPLY

    python은 뱀이랍니다. ^^

    Favicon of http://whiteship.tistory.com/ BlogIcon 기선 2007.02.03 00:54 PERM MOD/DEL

    아하.. 글쿤요. 조금 봤는데 완전 빠져들더라구요.
    재밌네요.

  2. Favicon of http://evilimp.tistory.com BlogIcon evilimp 2007.02.08 08:30 PERM. MOD/DEL REPLY

    boa vs python 이라는 영화도 있지....

Write a comment.