여러값을 모아 저장하는 List와 유사하지만, 그 값을 변경할 수 없다는 성질이 있다 (immutable). 소괄호를 사용한다.
my_tuple = ()
type(my_tuple)
# <class 'tuple'>
괄호를 사용하지 않아도 된다
my_tuple = (1,2,3)
my_tuple2 = 1,2,3
>>> type(my_tuple)
# <class 'tuple'>
type(my_tuple2)
# <class 'tuple'>
packing : 여러개의 값을 하나의 값을 묶는 것.
my_tuple = 1,2,3
unpacking : 묶여있는 값을 여러개로 푸는 것.
my_tuple = 1,2,3
num1, num2, num3 = my_tuple
print(num1) # 1
print(num2) # 2
print(num3) # 3
만약 num1과 num2의 값을 바꿔주고 싶을때는 이렇게 하면 된다.
num1, num2 = num2, num1
print(num1) # 2
print(num2) # 1
파격적이다 신기하다.
Python의 for문 syntax는 다음과 같다
for 변수 in 컨테이너 :
실행할 명령 1
실행할 명령 2
다른 언어의 for문과 비교했을때 코드블럭을 감싸주는 {}가 없는 대신 이를 구분해주기 위한 for문 코드블럭의 들여쓰기는 필수다. 띄어쓰기 4칸을 권장한다고 한다.
animals = ['거머리','기린','스컹크','아나콘다','코알라','바다소']
for animal in animals :
print(animal)
#
거머리
기린
스컹크
아나콘다
코알라
바다소
#
for num in [1,2,3] :
print(num)
#
1
2
3
#
my_str = '진성준의 공부'
for str in my_str :
print(str)
#
진
성
준
의
공
부
#
내장함수로써 range라는 자료형이다. 범위를 지정해준다
for n in range(0,4) :
print(n)
0
1
2
3
인자를 한개만 넣어주면 자연스럽게 0 부터 인자까지의 범위가 지정된다.
ex)
range(3) = range(0,3)
for i in range(2,10) :
for j in range(2,10) :
print('{}x{}={}'.format(i,j,i*j)
고급 문법이라고 한다, 하지만 많이 사용된다.
만약 1부터 10까지의 홀수를 출력한다고 하면 일반적으로 조건문을 사용해 다음과 같이 코드를 작성할 수 있다.
numbers = [1,2,3,4,5,6,7,8,9,10]
odd_numbers = []
for num in numbers :
if num % 2 == 1:
odd_numbers.append(num)
python의 comprehension 문법을 사용해 다음과 같이 코드량을 줄일 수 있다.
odd_number_comprehension = [num for num in numbers if num % 2 == 1]
print(odd_number_comprehension)