본문 바로가기
스파르타 코딩 웹개발 종합반/3주차

3-4 파이썬 기초공부_변수(숫자 / 문자 / 'Boolean' / list / dict 형), 함수, 조건&반복문

by 율✌️ 2022. 5. 16.

기초문법

   ▶변수 & 기본연산

       변수의 이름은 마음대로 지을 수 있음

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

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

 

 

   ▶자료형

       변수에는 숫자 / 문자 / 'Boolean' / list / dict 형 이 모두 들어갈 수 있다.

  • 숫자 / 문자형
name = 'bob'   # 변수에는 문자열이 들어갈 수도 있고,
num = 12       # 숫자가 들어갈 수도 있고,
is_number = True # True 또는 False -> "Boolean"형이 들어갈 수도 있음
  • List 형
a_list = []
a_list.append(1)     # 리스트에 값을 넣는다        append는 자바스크립트의 push()와 같음
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 = {}                  # Javascript의 dictionary 형과 동일함
a_dict = {'name':'bob','age':21}
a_dict['height'] = 178       # 위 리스트에 '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'
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):                 #def = defining
	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라는 변수의 값은 6+100 = 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

 

 

    ▶반복문

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

         항상 리스트와 함께 쓰임

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

for fruit in fruits:
	print(fruit)

# result: 사과, 배, 감, 귤 이 하나씩 꺼내져 출력됨
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0                   #0부터 시작
for fruit in fruits:
	if fruit == '사과':      # 리스트에 '사과'가 있으면
 		count += 1          # count 가 1씩 증가

 print(count)
# result = 2 (사과의 갯수)
  • 함수와 조합
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']
def count_fruits(target):         #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}]

# 이름을 받으면, age를 리턴해주는 함수
def get_age(myname):
    for person in people:
        if person['name'] == myname:  #person에서의 name값이 myname이라는 변수의 값과 같으면
            return person['age']
        else
    return '해당하는 이름이 없습니다'
    
print(get_age('bob'))   ----> 20