1HOON
논리적 코딩
1HOON
전체 방문자
오늘
어제
  • HOME (186)
    • ☕️ JAVA (28)
      • WhiteShip Java LIVE Study (6)
      • Effective JAVA (10)
    • 🔮 KOTLIN (4)
    • 🌱 SPRING (51)
      • 스프링 인 액션 (22)
      • JPA (18)
    • ☕️ JAVASCRIPT (6)
    • 📃 DATABASE (40)
      • ORACLE (37)
      • MSSQL (2)
    • 🐧 LINUX (4)
    • 🐳 DOCKER (5)
    • 🐙 KUBERNETES (4)
    • 🏗️ ARCHITECTURE (8)
    • 📦 ETC (26)
      • TOY PROJECT (5)
      • RECRUIT (1)
      • 그냥 쓰고 싶어서요 (14)
    • 🤿 DEEP DIVE (1)
    • 🚽 Deprecated (9)
      • PYTHON (3)
      • AWS (2)
      • HTTP 완벽가이드 (3)
      • WEB (1)

블로그 메뉴

  • 홈
  • 방명록
  • 관리

인기 글

최근 글

티스토리

hELLO · Designed By 정상우.
1HOON

논리적 코딩

🚽 Deprecated/PYTHON

[입문] 2일차

2017. 9. 28. 15:11

01 함수

1
2
3
4
5
6
7
8
9
10
11
12
a = 1
b = 2
c = -8
 
# a * x^2 + b * x + c = 0, a != 0 인 x에 관한 2차방정식에 대해
# 근의 공식은
def print_sqrt():
    r1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    r2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    print('해는 {} 또는 {}'.format(r1, r2))
 
print_sqrt()
Colored by Color Scripter
cs


Java의 메서드와 유사한 기능을 하는 것 같다. def 통해 선언하고 매개변수를 설정할 수 있다.

Java 외길 인생인 나로선 상당히 당황스럽다. 메서드로 치면 public void print_sqrt() 이려나...


함수의 특징은 다음과 같다.

1. 함수는 코드의 덩어리에 이름을 붙인 것이다.

2. 우리는 새 함수를 만들 수 있다.

3. print는 미리 만들어진 함수이다.

4. 함수는 한 번 만들고 나며, 그 안은 잊어버려도 좋다.


선언 방법

def 함수이름(매개변수):

실행할 코드


다음과 같이 매개변수 명이 달라도 상관없다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
def print_root(a, b, c):
    r1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    r2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    print('해는 {} 또는 {}'.format(r1, r2))
 
x = 1
y = 2
z = -8
print_root(x, y, z)
 
a = 2
b = -6
c = -8
print_root(a, b, c)
 
def print_round(number):
    rounded = round(number)
    print(number)
 
print_round(5)
Colored by Color Scripter
cs


02 return

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def add_10(value):
    if value < 10:
        return -1
    result = value + 10
    return result
 
def print_root(a, b, c):
    r1 = (-b + (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    r2 = (-b - (b ** 2 - 4 * a * c) ** 0.5) / (2 * a)
    return r1, r2 # 여러개의 값을 반환할 수 있다.
 
print(add_10(20))
print(print_root(1, 2, 3))
print(print_root(add_10(12), add_10(23), add_10(33)))
"""
함수는 return을 이용해 값을 돌려줄 수 있다.
함수를 사용하는 것은 함수 안의 코드를 모두 실행한 뒤 이 함수의 자리에 return에 있는 값을 넣은 것과 같다.
여러 값을 반환하려면 return 뒤에 여러 값을 쉼표로 나누어 넣는다.
"""
Colored by Color Scripter
cs


Java와는 확실하고 중요하게 다르다. 반환값이 여러개 올 수 있고, 쉼표로 구분한다.

획기적이라고 해야할지... 혼란을 가져온다고 해야할지... 아직은 잘 모르겠다. 유용하다고 치자.


03 문자열

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 인사 로봇
number = 20
greeting = "안녕하세요"
place = "문자열 포맷의 세계"
welcome = "환영합니다."
 
# old way
print(number, "번 손님 ", greeting, '.', place, "에 오신 것을", welcome, "!")
 
base = '{}번 손님, {}. {}에 오신 것을 {}!'
new_way = base.format(number, greeting, place, welcome)
 
print(base)
print(new_way)
 
mine = '가위'
yours = '바위'
result = "졌다"
 
print('나는 {}, 너는 {}, 그래서 {}'.format(mine, yours, result))
 
Colored by Color Scripter
cs


.format() 함수를 통해 {}에 들어갈 값을 순서대로 지정해 줄 수 있다.


04 따옴표

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 따옴표와 문자열
string1 = "Some Text"
string2 = "어떤 텍스트"
string3 = '{}도 {}도 지금 이것도 문자열'.format(string1, string2)
 
print(string3)
 
quote = '문법검사기 왈 "직접 인용은 큰따옴표다"'
emphasize = "'문법검사기'를 인용하다니"
# error = "엄마 친구 아들이 "파이썬이 좋아" 라고 했대"
 
long_string = '''첫째줄은 좋은데
              둘째줄도 괜찮을까?'''
print(long_string)
 
quote1 = "가끔은 '와 " + '"를 모두 쓰기도 해'
quote2 = """가끔은 '와 "를 모두 쓰기도 해"""
print(quote1)
print(quote2)
# error = "'"이런건 안되요"'"
Colored by Color Scripter
cs


따옴표 세 개로 여러 줄 문장과 "와 '를 중간중간에 별도의 표시(\라던가)없이 사용할 수 있다.

그런데 여러줄 주석과 같아서 헷갈릴것 같기도...


07 나누기

1
2
3
4
5
div1 = 6 / 5
div2 = 6 // 5
 
print(div1)
print(div2)
cs


나누기 연산 같은 경우, 자연수만 출력할지, 소숫점까지 출력할지 선택해야한다.

/ 은 소숫점까지, // 은 자연수만 출력된다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'🚽 Deprecated > PYTHON' 카테고리의 다른 글

[입문] 3~4일차  (0) 2017.10.07
[입문] 1일차  (1) 2017.09.27
    '🚽 Deprecated/PYTHON' 카테고리의 다른 글
    • [입문] 3~4일차
    • [입문] 1일차
    1HOON
    1HOON

    티스토리툴바