CodeIt!/프로그래밍기초 in Python

프로그래밍 핵심 개념 in Python

JakeSJK 2023. 3. 10. 02:07

자료형

숫자형
  1. 숫자형:: 파이썬에서 정수형과 정수형의 연산은 정수형으로 나오고, 소수형과 소수형의 연산은 소수형으로 나온다.
    :: 그렇다면 정수형과 소수형의 연산은? 소수형 으로 연산된다.
    :: 나눗셈은 정수형, 소수형 상관 없이 소수형으로 연산되고, 정수형을 원한다면 형변환을 해야한다.
    :: 파이썬에서는 사칙연산 법칙이 적용된다.

  2. #덧셈 print(4 + 7) #11 #뺄셈 print(2 - 4) #-2 #곱셈 print(5 * 3) #15 #나머지 print(7 % 3) #1 #거듭제곱 print(2 ** 3) #8 #나눗셈 print(7 / 2) # 3.5 print(6 / 2) # 3.0 print(7.0 / 2) #3.5 print(6.0 / 2.0) #3.0

  3. 숫자형 심화파이썬에서 따옴표('', "") 안에 적은 모든 것들은 문자열로 표현된다.
    단, 규칙은 시작한 따옴표와 끝낼 따옴표는 같아야 한다.

  4. 문자열

  5. # floor division(버림 나눗셈): 나눈 결과 값에서 소수부분을 버린다! print(7 // 2) # 3 print(8 // 3) # 2 # 특이점: 버림 나눗셈을 할 때 한가지가 소수형이면 결과값도 소수형으로 나온다. print(8.0 // 3) #2.0 # round(반올림) round(숫자, 파라미터) 파라미터까지 반올림을 하여 나타낸다. print(round(3.145926535)) # 3 # round(반올림) print(round(3.145926535, 2)) # 3.14 # round(반올림) print(round(3.145926535, 4)) # 3.1459

  6. 문자열 연산 : 문자열을 연결해라, String Concatenation값을 한 자료형에서 다른 자료형으로 바꾸는 것을 의미한다.
    가령, 문자열->숫자형, 숫자형->문자열, 정수형->소수형, 소수형->정수형

  7. print('오늘은' + str(year) + '년' + str(month) + '월' + str(day) + '일입니다.') print('오늘은 {}년 {}월 {}일입니다.'.format(year, month, day)) #format을 이용한 문자열 포맷팅 #응용 date_string = "오늘은 {}년 {}월 {}일입니다." print(date_string.format(year, month, day)) # 동일한 결과값 출력 #포맷팅 응용: 출력 순서 바꾸기 print("저는 {},{},{}를 좋아합니다".format('jake','codeit','ENTJ')) print("저는 {1},{0},{2}를 좋아합니다".format('jake','codeit','ENTJ')) #포맷팅 응용: 소수점 절사 print('{0} 나누기 {1}은 {2}입니다.'.format(num_1, num_2, num_1 / num_2)) print('{0} 나누기 {1}은 {2: .2f}입니다.'.format(num_1, num_2, num_1 / num_2)) print('{0} 나누기 {1}은 {2: .4f}입니다.'.format(num_1, num_2, num_1 / num_2)) print('{0} 나누기 {1}은 {2: .0f}입니다.'.format(num_1, num_2, num_1 / num_2))

  8. format을 이용한 문자열 포맷팅

  9. 형변환(Type Conversion, Type Casting)

  10. print(int(3.8)) # 3 print(float(3)) # 3.0 print(int("2") + int("5")) #7 print(float("2") + float("5")) #7.0 print(str(2) + str(5)) #25 age = 7 print("제 나이는" + str(age) + "살 입니다") # 제 나이는 7살 입니다. print(int("Hello World")) # 오류 -> 논리적이지 않음

  11. print('7' + '6') # '76' print('Codeit') print('Jake') print('I'm excited to learn Python') # 오류 print('I\'m excited to learn Python') # 정상출력 print("I'm excited to learn Python") # 정상출력 print("Hello " + "World")

불대수

일상적인 논리를 수학적으로 표현한 것, 불 대수의 값은 진리값(True, False)이다.
불대수의 연산은(AND OR NOT)이 있다.
AND연산: x,y 모두 참일 경우에만 참

OR 연산: x,y 둘중 하나만 참이어도 참

NOT 연산: True -> False, False -> True로 변환

불린형
#불린 (Boolean): 따옴표 없이 작성
print(True)
print(False)
print(True and False)
print(True or False)
print(not True)
print(not False)
print(2 > 1)
print(2 < 1)
print(3 <= 3)
print(2 != 2)

*꿀팁
type을 적으면 무슨 타입인지 알 수 있다.

Type함수
print(type(3))
print(type(3.0))
print(type("3"))
print(type(True))
def Hello():
    print("Hello World")
print(type(Hello))
print(type(print))

추상화

변수 제대로 이해하기
name = '김성재'
x = 7 
x = x + 1 # 지정 연산자 (assignment operator)
print(x) # 8
x = 7
x = x - 3
print(x) # 4
함수의 실행 순서
#함수의 실행 순서
def hello():
    print('Hello')
    print("Welcome to Codeit")

print("함수 호출 전")
hello()
print("함수 호출 후")
print("=======================")
def square(x):
    return x * x

print("함수 호출 전")
print(square(3) + square(4))
print("함수 호출 후")

return문 제대로 이해하기

return문의 역할은?

  1. (함수가) 무언가를 돌려주는 것

  2. 함수를 종료시킨다.

    옵셔널파라미터

    파라미터에게 기본값(defaultValue)을 설정할 수 있고, 이를 '옵셔널 파라미터'라고 지칭합니다.
    단, 옵셔널파라미터는 무조건 마지막에 사용해야 합니다! 중간에 사용하면 에러발생합니다.

  3. def myself(name, age, nationality="한국"): print("내 이름은 {}".format(name)) print("나이는 {}살".format(age)) print("국적은 {}".format(nationality)) myself("코드잇", 1) # 옵셔널 파라미터를 제공하지 않는 경우 #출력 내 이름은 코드잇 나이는 1살 국적은 한국

  4. # return과 print의 차이 def print_square(x): print(x * x) # return None 생략되어있음. def return_square(x): return (x * x) print(print_square(3)) # 9 , None print(return_square(3)) # 9

  5. return과 print의 차이

  6. def square(x): print("함수 시작") return x * x print("함수 종료") ## 데드코드 print(square(3)) print("Hello Jake?")

Scope : 범위

상수

상수: constant
대문자로 사용하는 이유는

  1. 어떤것이 일반 변수인지, 상수 변수인지 확인하기 위해서입니다.
  2. 실수하지 않기 위해서입니다.(상수는 고정시켜 놓은 값이니까, 절대로 안바꾸겠다는 컨벤션이니까)
스타일

스타일이란 주관적인 것입니다. 코딩에도 스티일이 있고, 이해하기 쉬운 간결하고 깔끔한 코드가 좋은 스타일을 갖고 있음을 의미합니다.
화이트스페이스: 띄어쓰기나 빈줄 같은것을 의미합니다. 화이트 스페이스를 잘 활용하면 가독성을 높일 수 있습니다.
어느 누군가가 보더라도 이해할 수 있도록 작성하는 것. 함께 작업하는 사람들과 작업하는 것이니까.
(파이썬 스타일가이드 : PEP8[https://www.python.org/dev/peps/pep-0008])

파이썬스타일가이드 규칙

  1. 이름은 소문자로쓰고 스네이크케이스를 사용한다. 상수는 대문자로 작성한다.
  2. 화이트스페이스를 잘 활용한다.(들여쓰기 4공백, 함수마다 2개의 공백 줄, 연산자 앞뒤 화이트스페이스 한칸, 함수 안 화이트스페이스x ...)

제어문

while 반복문 개념

While반복문: 무언가를 반복하기 위해 사용합니다.
사람은 반복적인 일을 잘 하지 못합니다. 똑같은 일을 수행할 때 감정적이나, 신체적으로 피로감을 느끼기 때문입니다.

# while 반복문 구조
# while 조건 부분:
#       수행 부분
while 반복문 문법
# while 조건 부분:
#     수행 부분
# 조건 부분이 True면, 수행 동작을 실행하고 False면 멈춘다.


i = 1 
while (i <= 3):
    print("나는 잘 생겼다.")
    i += 1

if문 개념

만약과 그렇지 않으면... if else

# if 조건부분:
#    수행부분
# else:
#    수행부분
if문 문법
temperature = 8
if temperature <= 10:
    print("자켓을 입는다.")

temperature = 17
if temperature <= 10:
    print("자켓을 입는다.")
else:
    print("자켓을 입지 않는다.")
elif 문법 (else + if)
#if 조건부분:
#  수행부분
#elif 조건부분:
#  수행부분
#elif 조건부분:
#  수행부분
#else:
#  수행부분