파이썬 REPL 상에서 as=10
이라고 입력하면?
: 신택스 오류가 발생한다. 파이썬에서 as
는 별칭을 붙일 때 사용하는 키워드인데, 키워드는 변수명으로 사용할 수 없기 때문이다.
a=4
, b=4.0
으로 값을 할당할 경우 a == b
의 결과값은?
: True
. 같지 않다가 나올 줄 알았는데 참이 나왔다. 이 둘은 데이터 타입이 다른 것이지 값은 다르지 않다!! 명심!
a=5
, b=5.0
을 한 줄로 입력하는 코드는?
: 문자열을 만드는 방법을 묻는 질문일까? 문자열은 따옴표 3개를 연속해서 쓰면 가능하다. 이게 아니구나! 파이썬은 정말 신기하게도 list
형을 쓰면 여러 개의 변수를 동시에 선언할 수 있다!
list
형을 쓰지 않더라도 가능!!!
a, b = [5, 5.0]
a # 5
b # 5.0
a, b = 5, 5.0
num_list = [5, 4, 3, 2, 1]
에서 num_list[:-3]
의 값은?
: [5, 4]
이다. 숫자가 없는 :
은 맨 앞에서부터를 의미하고, -3
은 뒤에서 3번째 자리를 말한다. 여기에서 뒤에 나오는 숫자는 해당 자리수를 포함하지 않는다.
a=[1, 2]
, b=['a', 'b']
와 같은 두 개의 리스트가 있을 때, c=(['a', 'b'], [1, 2])
와 같은 형태는 어떻게 만드는가? 그리고 c는 어떤 타입인가?
: 일단 c는 Tuple
타입이다. Tuple
타입은 데이터 값을 수정하거나 삭제할 수 없다. 먼저 임의로 list
타입의 c를 만든 후 인덱스로 각각의 값을 변경했다. 그후 list
타입을 Tuple
타입으로 형변환했다.
a=[1, 2]
b=['a', 'b']
c=[1,2]
c[0]=b
c[1]=a
c # [['a', 'b'], [1, 2]]
c = tuple(c)
c # (['a', 'b'], [1, 2])
# 아니 이거 이렇게 간단하게 될 수 있던 거였나!!!
c = (b, a)
a=[1, 2, 3, ..., 100]
까지의 정수가 모두 들어있는 리스트 만들기a = list(range(1, 101))
, range()
함수를 사용하면 쉽게 만들 수 있다. 뒤에 있는 숫자는 미포함 명심!