점프 투 파이썬 2

김지용·2022년 8월 24일
0

독서

목록 보기
6/11
post-thumbnail

점프 투 파이썬 96p~

자료형의 참과 거짓 (96p)

- 문자열

'python' = 참
'' = 거짓

- 리스트

[1,2,3] = 참
[] = 거짓

- 튜플

() = 거짓

- 딕셔너리

{} = 거짓

- 숫자형

0이 아닌 숫자 = 참
0, None = 거짓

a = [1,2,3,4]
while a:
    a.pop()

>>> 4
>>> 3
>>> 2
>>> 1
if []:                   # 만약 []가 참이면
    print("True")     # "True"라는 문자열 출력
else:                  # 만약 []가 거짓이면
    print("False")    # "False"라는 문자열 출력

>>> False
a = 3
b = 3

a is b    a와 b가 동일한 객체를 가리키는지 판단
결과 >>> True
a,b = b,a    a와 b의 값을 바꿈(리스트도 먹힘)

가비지 콜렉션

del(a)
del(b)

이렇게 하면 메모리에 생성된 변수 a,b가 사라지고
3이라는 객체를 가리키는 레퍼런스 카운트가 0이 되어 정수형 객체 3은 메모리에서 사라지는데
이를 가비지 콜렉션이라고 한다.

참고로 사용한 변수를 일일이 del()로 삭제할 필요는 없다. 파이썬이 이 모든 것을 자동으로 해주기때문이다

리스트의 복사


a = [1,2,3]

1)
b = a
b를 바꾸면 a도 바뀜
b is a   >>> True (동일한 객체를 바라봄)

2)
b = a[:]
b를 바꿔도 a는 안 바뀜
b is a   >>> False (동일한 객체를 안 바라봄)

3)
from copy import copy
b = copy(a)
b를 바꿔도 a는 안 바뀜
b is a   >>> False (동일한 객체를 안 바라봄)

if 등의 조건문에서

pass 사용 시 아무일도 하지 않는다.

while 문 강제로 빠져나가기

break

continue -> 처음으로 돌아간다.


for문과 자주 사용하는 range 함수 (133p)

a = range(10)
결과 >>> range(0,10) 0부터 10 미만의 수

입력 인수 end (135p 구구단 출력 2중 반복문)

for i in range(2,10):
    for j in range(1, 10):
        print(i*j, end=" ") / 입력인수 end 추가
	print('') / 줄바꿈 프린트
    
결과 >>>
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
.
.
.
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81

List comprehension

예시)

a = [1,2,3,4]
result = [num*3 for num in a if num%2 ==0]  # 2랑 4가 나머지가 0이므로,
>>> result = [6, 12]

리스트 컴프리헨션 예시가 더 보고 싶다면 click(다른 velog url)

profile
김죵입니당 ^^

0개의 댓글