오늘은 파이썬 기본 문법에 대해서 배웠다.
javascript 하다가 java 하다가 python 하니까 자꾸 이것저것 짬뽕돼서 조금 헷갈린다 ;ㅅ;
문자열
- 문자열 길이 구하기
text = 'abcdefghijk'
result = len(text)
print(result) #11
- 문자열 자르기
text = 'abcdefghijk'
result = text[:3]
print(result) # abc
- 문자열 쪼개기
myemail = 'abc@sparta.co'
result = myemail.split('@')[1].split('.')[0]
print(result) # sparta
리스트
- 리스트 추가
a_list = [1, 5, 6, 3, 2]
a_list.append(99)
a_list.append(100)
print(a_list)
- 맨 마지막 출력
a_list = [1, 5, 6, 3, 2]
result = a_list[-1]
print(result)
- 길이 구하기
a_list = [1, 5, 6, 3, 2]
result =len(a_list)
print(result)
- 정렬
a_list = [1, 5, 6, 3, 2]
a_list.sort()
print(a_list)
- 역으로 정렬
a_list = [1, 5, 6, 3, 2]
a_list.sort(reverse=True)
print(a_list)
- 리스트에 요소가 있는지 확인
a_list = [1, 5, 6, 3, 2]
result = (5 in a_list)
print(result)
딕셔너리
a_dict = {'name': 'bob', 'age': 27}
a_dict['height'] = 100
result = ('height' in a_dict)
print(result)
조건문
- if, elif, else
money = 3000
if money > 3800:
print('택시를 타자!')
elif money > 1200:
print('버스를 타자!')
else:
print('택시를 못 타')
반복문
fruits = ['사과', '배', '감', '수박', '딸기']
for fruit in fruits:
print(fruit)
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for i, person in enumerate(people):
name = person['name']
age = person['age']
print(i, name, age)
if i > 3:
break
함수
def sum(a, b):
return a + b
result = sum(1, 2)
print(result)
튜플
리스트와 비슷하지만 튜플을 변경 할 수 는 없다.
a = ('사과', '감', '배')
a[1] = '수박' # 에러남
print(a)
집합
중복을 제거 해 준다.
a = [1, 2, 3, 4, 3, 2, 3, 4, 5, 8, 7, 1]
a_set = set(a)
print(a_set)
a = ['사과', '감', '배', '수박', '딸기']
b = ['배', '사과', '포도', '참외', '수박']
a_set = set(a)
b_set = set(b)
print(a_set & b_set) # 교집합
print(a_set | b_set) # 합집합
student_a = ['물리2', '국어', '수학1', '음악', '화학1', '화학2', '체육']
student_b = ['물리1', '수학1', '미술', '화학2', '체육']
a_set = set(student_a)
b_set = set(student_b)
print(a_set - b_set) # 차집합
f-string
변수를 사용한 문자열을 간편하게 만들 수 있게 해준다.
scores = [
{'name': '영수', 'score': 70},
{'name': '영희', 'score': 65},
{'name': '기찬', 'score': 75},
{'name': '희수', 'score': 23},
{'name': '서경', 'score': 99},
{'name': '미주', 'score': 100},
{'name': '병태', 'score': 32}
]
for s in scores:
name = s['name']
score = s['score']
print(name + '의 점수는 ' + str(score) + '점 입니다.')
print(f'{name}의 점수는 {score}점 입니다.')
예외처리
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby'},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
for person in people:
try:
if person['age'] > 20:
print(person['name'])
except:
print('에러입니다.')
파일 불러오기
#main_test.py
from main_func import *
say_hi()
say_hi_to('영수')
#main_func.py
def say_hi():
print('안녕!')
def say_hi_to(name):
print(f'{name}님 안녕하세요.')
if문 한 줄에 쓰기
num = 3
result = ('짝수'if num % 2 == 0 else'홀수')
print(f'{num}은 {result}입니다.')
for문 한 줄에 쓰기
a_list = [1, 3, 2, 5, 1, 2]
b_list = []
for a in a_list:
b_list.append(a * 2)
b_list = [a * 2 for a in a_list]
print(b_list)
map
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
defcheck_adult(person):
if person['age'] > 20:
return'성인'
else:
return'청소년'
result = map(check_adult, people)
print(list(result))
lambda
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
result = map(lambda person: ('성인'if person['age'] > 20 else'청소년'), people)
print(list(result))
person이라고 써져있는 부분은 통상적으로 x로 쓴다고 한다.
filter
people = [
{'name': 'bob', 'age': 20},
{'name': 'carry', 'age': 38},
{'name': 'john', 'age': 7},
{'name': 'smith', 'age': 17},
{'name': 'ben', 'age': 27},
{'name': 'bobby', 'age': 57},
{'name': 'red', 'age': 32},
{'name': 'queen', 'age': 25}
]
result = filter(lambda person: person['age'] > 20, people)
print(list(result))
아직 한줄 if문 for문이 익숙하지 않고, 람다가 잘 머리에 들어오지 않는다.
반복해서 사용하다보면 머리에 잘 들어 오겠지!!
'내일배움캠프 > TIL' 카테고리의 다른 글
2022.11.10 TIL / 정렬 , 스택 (0) | 2022.11.10 |
---|---|
2022.11.9 TIL / 알고리즘 array, linked list (2) | 2022.11.09 |
2022.11.7 TIL / 자바 설치 및 jenv 세팅 (0) | 2022.11.07 |
2022.11.4 TIL / URL, URI (0) | 2022.11.04 |
2022.11.3 TIL (0) | 2022.11.03 |