TIL

2024-03-26

여연찌 2024. 3. 26. 17:43

튜플(tuple)

: 소괄호 "(,)" 를 이용해서 만든다

: 튜플 내부의 값을 변경하거나 삭제 할 수 없다

: 리스트 처럼 순서가 존재

a = [1,2,3] # 리스트
print(a[1])

a = (1,2,3) # 튜플
print(a[1])

 

집합(set)

: 집합을 구현, 중복이 제거된다.

a = [1,2,3,4,5,3,4,2,1,2,4,2,3,1,4,1,5,1]
a_set = set(a) # set() 집합, 중복제거
print(a_set)
# {1, 2, 3, 4, 5}


a = ['사과','감','수박','참외','딸기']
b = ['사과','멜론','청포도','토마토','참외']
a_set = set(a)
b_set = set(b)
print(a_set & b_set)  # 교집합
print(a_set | b_set)  # 합집합 , \ 역슬래시 쉬프트
print(a_set - b_set) # 차집합, 뺄셈
# {'사과', '참외'}
# {'청포도', '멜론', '참외', '사과', '수박', '감', '토마토', '딸기'}
# {'감', '수박', '딸기'}

 

f-string 

: 변수를 사용하여 직관적인 문자열 만들기

scores = [{'name':'영수','score':70},]
for s in scores:
    name = s['name']
    score = s['score']
    print(name + '의 점수는' + str(score)+ '점입니다.') 
# 영수의 점수는 70점입니다.
# score의 값이 숫자형이므로 더해주기 위해 문자열로 바꿔주는 str 사용


scores = [{'name':'영수','score':70},]
for s in scores:
    name = s['name']
    score = s['score']
    print(f'{name}의 점수는 {score}점입니다.')
# 영수의 점수는 70점입니다.
print(f'문자열{변수} 문자열')

+

f-string 의 사용으로 훨씬 직관적이게 볼 수 있도록 바꾸어짐

 

try - except 문

: 에러가 있어도 건너뛰고 출력

people = [
    {'name': 'carry', 'age': 38},
    {'name': 'smith', 'age': 17},
    {'name': 'ben', 'age': 27},
    {'name': 'bobby'},
    {'name': 'red', 'age': 32},
]

for person in people:
    try:  # 중간에 비어있어서 에러가 날 경우 이렇게 해줘
        if person['age'] > 20:
             print (person['name'])
    except:
        print(person['name'],'에러입니다') 
# name 도 같이 뽑아주면 어떤값이 에러인지 알 수 있다.

# carry
# ben
# bobby 에러입니다
# red

# 남용할경우 돌아는 가지만 무슨 에러인지 알 수 없어질 수 있음, 사용에 주의!

 

 

 

여러개 파일로 분리하기

: 다른 파이썬 파일을 생성

# 복잡한 파일들은 이쪽에
# mail.func.py

def say_hi():
    print('안녕!')

def say_hi_to(name):
    print(f'{name}님 안녕하세요')
    
    
# 옆에서 가져다 쓰고 싶을때
# 파일분리, 테이블처럼 가져다 쓰기
# main_test.py

from main_func import *
say_hi()
say_hi_to('영수')

# 안녕!
# 영수님 안녕하세요

 

 

 

if 문 = 삼항연산자

: 한 줄로 간단하고 간결하게 적기

 

조건에 따라 다른 값을 변수에 저장하고 싶을때

num = 5
if num % 2 == 0:
    result = '짝수'
else:
    result = '홀수'
print(f'{num}은 {result}입니다')

# 5은 홀수입니다

 

삼항연산자로 적기

num = 5
result = ('짝수' if num % 2 == 0 else '홀수')
print(f'{num}은 {result}입니다')
#(참일 때 값) if (조건) else (거짓일 때 값)

# 5은 홀수입니다

 

 

for 문 한번에 쓰기

a_list  = [1, 3, 2, 5, 1, 2]
b_list = []
for a in a_list:
    b_list.append(a*2)
print(b_list)

# 2, 6, 4, 10, 2, 4]


a_list  = [1, 3, 2, 5, 1, 2]
b_list = [a*2 for a in a_list]
print(b_list)

# 2, 6, 4, 10, 2, 4]

+

리스트 안에 for 연산자를 적어주면 된다

 

 


 

 

Q. 리스트의 매개값을 각각 출력하고 싶을때는 어떻게 해야하는지?

A.

num = [3,2,6,5]
for n in num:
    if n % 2 == 0:
        result = '짝수'
    else:
        result = '홀수'
    print(f'{n}은 {result}입니다')

들여쓰기를 하지 않아 계속해서 오류가 발생하였었다.

for 반복문을 사용할 때에는 들여쓰기 꼭 신경쓰기!

 

 

 

 

 

'TIL' 카테고리의 다른 글

2024-03-28  (0) 2024.03.28
2024-03-27  (0) 2024.03.27
2024-03-25 / 2  (0) 2024.03.25
2024-03-25  (0) 2024.03.25
2024-03-24 / 3  (1) 2024.03.24