>>> 1 + 2.0
3.0
>>> 1 * 2.0
2.0
>>> 1 - 2.0
-1.0
>>> 2 / 1
2.0
>>> 2 / 1.0
2.0
>>> 2.0 / 1
2.0
>>> 2.0 / 1.0
2.0
>>> 2.0 // 1
2.0
>>> 2 // 1.0
2.0
>>> 2 // 1
2
>>>
절대 변하지 않을 값을 상수(constant)라고 하고, 반드시 대문자로 변수명을 지정한다!
x = [2, 3, 5, 7, 11]
y = x
y[2] = 4
print(x)
print(y)
위 코드의 결과는 어떻게 될까?
[2, 3, 5, 7, 11]
[2, 3, 4, 7, 11]
위 결과라고 예상하겠지만 그렇지 않다.
정답은
[2, 3, 4, 7, 11]
[2, 3, 4, 7, 11]
이것을 이해하려면 파이썬에서 변수 할당하는 메커니즘을 이해해야 한다.
x = [2,3,5,7,11]의 의미는 [2,3,5,7,11]에 x라는 이름표를 준 것이다. 값이 기준이다.
y=x를 한 것은 [2,3,5,7,11]에 y라는 이름표를 또 붙인 것이다.
같은 값을 공유하게 된 것이다.
서로 같은 값을 공유하지 않게 하려면
x = [2, 3, 5, 7, 11]
y = list(x)
y[2] = 4
print(x)
print(y)
이렇게 하면 된다. 위 코드의 결과는 아래와 같다.
[2, 3, 5, 7, 11]
[2, 3, 4, 7, 11]
strip()은 white space를 제거해준다.
whilte space는 " ", "\t", "\n" 을 말한다.
split()에 인자를 안넘겨주면 whilte space를 기준으로 split 한다.
>>> example = " 2 3 \n 4 \t \n\n "
>>> print(example.split())
['2', '3', '4']
파일을 쓸땐 write의 의미로 'w'을 써준다.
with open('new_file.txt', 'w') as f:
f.write("Hello world!\n")
f.write("Nice to meet you\n")
이렇게 하면 f.write안의 내용을 담은 new_file.txt라는 파일이 생긴다.
똑같은 명령어를 또 치면 파일이 덮어씌어진다.
덮어쓰기를 하지 않고 아래에 내용을 추가 하려면, 'w' 대신 add의 의미로 'a'를 써준다.
with open('new_file.txt', 'a') as f:
f.write("Halo!\n")
f.write("Ich liebe dich\n")
위에서 쓴 파일을 읽어보자.
읽을 땐 read라는 의미로 'r'을 써준다.
with open('new_file.txt', 'r') as f:
for line in f:
print(line)
결과
Hello world!
Nice to meet you
Halo!
Ich liebe dich