웹개발종합반 3주차 - 파이썬 시작하기 / 파이썬 기초공부

2022. 1. 2. 18:53코딩공부/스파르타코딩클럽 - 웹개발종합반

파이썬 시작하기

- 파이썬을 설치한다는 것의 의미

일종의 번역팩을 설치한다고 보면 된다. 파이썬 문법으로 된 것을 컴퓨터의 1010110과 같은 언어로 변환해 줄 수 있는 번역팩

- 파이썬 문법을 시작하기에 앞서 파이썬은 매우 직관적인 언어이고 할 수 있는것도 많다. 개발자들도 모든 문법을 기억할 수 는 없다. 항상 구글링 하는 습관을 길러가자@

- tuple과 set 자료형, class는 기초단계에서는 다루지 않는다. 나중에 필요한 일이 생겼을 때 배워야 의미를 알 수 있음

 

 

파이썬 기초공부

파이썬 기초 문법

- 변수 & 기본연산

a = 3      # 3을 a에 넣는다
b = a      # a를 b에 넣는다
a = a + 1  # a+1을 다시 a에 넣는다

num1 = a*b # a*b의 값을 num1이라는 변수에 넣는다
num2 = 99 # 99의 값을 num2이라는 변수에 넣는다

# 변수의 이름은 마음대로 지을 수 있음!
# 진짜 "마음대로" 짓는 게 좋을까? var1, var2 이렇게?

 

- 자료형

숫자, 문자형

name = 'bob' # 변수에는 문자열이 들어갈 수도 있고,
num = 12 # 숫자가 들어갈 수도 있고,

is_number = True # True 또는 False -> "Boolean"형이 들어갈 수도 있습니다.

#########
# 그리고 List, Dictionary 도 들어갈 수도 있죠. 그게 뭔지는 아래에서!

리스트형

a_list = []
a_list.append(1)     # 리스트에 값을 넣는다
a_list.append([2,3]) # 리스트에 [2,3]이라는 리스트를 다시 넣는다

# a_list의 값은? [1,[2,3]]
# a_list[0]의 값은? 1
# a_list[1]의 값은? [2,3]
# a_list[1][0]의 값은? 2

Dictionary형

a_dict = {}
a_dict = {'name':'bob','age':21}
a_dict['height'] = 178

# a_dict의 값은? {'name':'bob','age':21, 'height':178}
# a_dict['name']의 값은? 'bob'
# a_dict['age']의 값은? 21
# a_dict['height']의 값은? 178

Dictionary형 + List형

people = [{'name':'bob','age':20},{'name':'carry','age':38}]

# people[0]['name']의 값은? 'bob'
# people[1]['name']의 값은? 'carry'

person = {'name':'john','age':7}
people.append(person)

# people의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]
# people[2]['name']의 값은? 'john'

 

- 함수형

함수의 정의

# 수학문제에서
f(x) = 2*x+3
y = f(2)
y의 값은? 7

# 참고: 자바스크립트에서는
function f(x) {
	return 2*x+3
}

# 파이썬에서
def f(x):
	return 2*x+3

y = f(2)
y의 값은? 7

함수의 응용

def sum_all(a,b,c):
	return a+b+c

def mul(a,b):
	return a*b

result = sum_all(1,2,3) + mul(10,10)

# result라는 변수의 값은? 106

파이썬은 중괄호가 없다. 줄맞춤으로 포함여부를 판단.

 

- 조건문

if / else로 구성

def oddeven(num):  # oddeven이라는 이름의 함수를 정의한다. num을 변수로 받는다.
	if num % 2 == 0: # num을 2로 나눈 나머지가 0이면
		 return True   # True (참)을 반환한다.
	else:            # 아니면,
		 return False  # False (거짓)을 반환한다.

result = oddeven(20)
# result의 값은 무엇일까요? True
def is_adult(age):
	if age > 20:
		print('성인입니다')    # 조건이 참이면 성인입니다를 출력
	else:
		print('청소년이에요')  # 조건이 거짓이면 청소년이에요를 출력

is_adult(30)
# 무엇이 출력될까요? 성인입니다

 

- 반복문

파이썬에서의 반복문은, 리스트의 요소들을 하나씩 꺼내쓰는 형태이다.

즉, 무조건 리스트와 함께 쓰인다

파이썬의 for문은 list의 요소를 다 빼쓰면 끝난다

fruits = ['사과','배','감','귤']

for fruit in fruits:
	print(fruit)

# 사과, 배, 감, 귤 하나씩 꺼내어 찍힙니다.

과일 개수 세기 함수

fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0
for fruit in fruits:
	if fruit == '사과':
		count += 1

print(count)

# 사과의 개수를 세어 보여줍니다.
def count_fruits(target):
	count = 0
	for fruit in fruits:
		if fruit == target:
			count += 1
	return count

subak_count = count_fruits('수박')
print(subak_count) #수박의 개수

gam_count = count_fruits('감')
print(gam_count) #감의 개수

 

딕셔너리 예제

people = [{'name': 'bob', 'age': 20}, 
          {'name': 'carry', 'age': 38},
          {'name': 'john', 'age': 7},
          {'name': 'smith', 'age': 17},
          {'name': 'ben', 'age': 27}]

# 모든 사람의 이름과 나이를 출력해봅시다.
for person in people:
    print(person['name'], person['age'])


# 이번엔, 반복문과 조건문을 응용한 함수를 만들어봅시다.
# 이름을 받으면, age를 리턴해주는 함수
def get_age(myname):
    for person in people:
        if person['name'] == myname:
            return person['age']
    return '해당하는 이름이 없습니다'


print(get_age('bob'))
print(get_age('kay'))

 

중괄호 언제쓰는지 대괄호 언제쓰는지.. 이런식으로 공부할 필요가없다.

통째로 이해해야한다

아 person의 name을 불러올때는 [] 대괄호를 쓰는구나 이렇게쓰는구나~ 정도!