tevelop RSS 태그 관리 글쓰기 방명록
2022-11-08 20:09:43

오늘은 파이썬 기본 문법에 대해서 배웠다.

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
tevelop. Designed by 코딩재개발.