ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ํŒŒ์ด์ฌ ๊ธฐ์ดˆ 4. ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ
    PYTHON 2020. 8. 29. 13:50

    ๐ŸŽฏ ํŒŒ์ด์ฌ ์ œ์–ด๋ฌธ์˜ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ฐ˜๋ณต๋ฌธ์„ ์•Œ์•„๋ณธ๋‹ค.

     



     

    ์กฐ๊ฑด๋ฌธ

    ๊ธฐ๋ณธํ˜•์‹

    if True:
        print("Yes")
    
    if False:
        # ์ถœ๋ ฅ๋˜์ง€ ์•Š์Œ.
        print("No")
    if False:
        # ์—ฌ๊ธฐ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Œ.
        print("You can't reach here")
    else:
        # ์—ฌ๊ธฐ๊ฐ€ ์‹คํ–‰๋œ๋‹ค.
        print("Oh, you are here")

    ์ฝœ๋ก ๊ณผ ๋“ค์—ฌ์“ฐ๊ธฐ๋ฅผ ๊ธฐ์–ตํ•  ๊ฒƒ.

     

    ๊ด€๊ณ„์—ฐ์‚ฐ์ž

    # >, >=, <, <=, ==, !=

     

    ์ฐธ, ๊ฑฐ์ง“์˜ ์ข…๋ฅ˜

    # ์ฐธ : "๋‚ด์šฉ", [๋‚ด์šฉ], (๋‚ด์šฉ), {๋‚ด์šฉ}, 1
    # ๊ฑฐ์ง“ : "", [], (), {}, 0, None

    ๋นˆ ๋ฌธ์ž์—ด, ๋นˆ ์ปจํ…Œ์ด๋„ˆ, 0, none์ผ ๊ฒฝ์šฐ False๊ฐ€ ๋œ๋‹ค.

     

    ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž

    a = 100
    b = 60
    c = 15
    
    print('and : ', a > b and b > c)  # True
    print('or : ', a > b or b > c)  # True
    print('not : ', not a > b)  # False
    print('not : ', not b > c)  # False

    and, or, not์„ ์‚ฌ์šฉํ•œ๋‹ค.

     

    ์‚ฐ์ˆ  > ๊ด€๊ณ„ > ๋…ผ๋ฆฌ ์ˆœ์„œ๋กœ ์ ์šฉ

    print(5 + 10 > 0 and not 7 + 3 == 10)

    ์ขŒํ•ญ๊ณผ ์šฐํ•ญ์˜ ์‚ฐ์ˆ ์—ฐ์‚ฐ ํ›„ 0๋ณด๋‹ค ํฐ์ง€, 10๊ณผ ๊ฐ™์€์ง€ ๋น„๊ตํ•œ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž not๊ณผ and๊ฐ€ ์ ์šฉ๋œ๋‹ค. ์ขŒํ•ญ์€ ์ฐธ, ์šฐํ•ญ์€ ๊ฑฐ์ง“์ด ๋˜๋ฏ€๋กœ False๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

     

    ๋‹ค์ค‘ ์กฐ๊ฑด๋ฌธ

    num = 90
    
    if num >= 70:
        print("num ? ", num)
    elif num >= 60:
        print("num ? ", num)
    else:
        print("default num")

    else if๋ฅผ elif๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

     

    ์ค‘์ฒฉ ์กฐ๊ฑด๋ฌธ

    age = 27
    height = 175
    
    if age >= 20:
        if height >= 170:
            print("A์ง€๋ง ์ง€์› ๊ฐ€๋Šฅ")
        elif height >= 160:
            print("B์ง€๋ง ์ง€์› ๊ฐ€๋Šฅ")
        else:
            print("์ง€์› ๋ถˆ๊ฐ€")
    else:
        print("20์„ธ ์ด์ƒ ์ง€์›๊ฐ€๋Šฅ")

    ๋‚˜์ด ์กฐ๊ฑด์€ ํ•ด๋‹น๋˜๋Š”๋ฐ ํ‚ค๊ฐ€ ํ•ด๋‹น ์•ˆ๋œ๋‹ค๋ฉด elif์˜ b์ง€๋ง ์ง€์›๊ฐ€๋Šฅ์„ ์ถœ๋ ฅํ•œ๋‹ค.

     

    in, not in

    q = [1, 2, 3]
    w = {7, 8, 9, 9}
    e = {"name": 'Kim', "city": "seoul", "grade": "B"}
    r = (10, 12, 14)
    
    print(1 in q)
    print(6 in w)
    print(12 not in r)
    print("name" in e)  # key ๊ฒ€์ƒ‰
    print("seoul" in e.values())  # value ๊ฒ€์ƒ‰

    in๊ณผ not in ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ์— ํŠน์ • ์š”์†Œ๊ฐ€ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ์˜ ๋ฐธ๋ฅ˜๋ฅผ ์ฐพ์„ ๋• values()๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

     

     

    ๋ฐ˜๋ณต๋ฌธ

    while๋ฌธ

    n = 1
    
    while n < 11:
        print("n is :", n)
        n += 1

    1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ 10๊นŒ์ง€ ์ถœ๋ ฅํ•˜๊ฒŒ ๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค. while์˜†์— ์กฐ๊ฑด์„ ์จ์ฃผ๊ณ  ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ๋ฅผ ์จ์ค€๋’ค ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐ˜๋ณต๋ฌธ์ด ๊ฒฐ๊ตญ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ค€๋‹ค.

     

    for๋ฌธ

    for v2 in range(10):
        print("v2 is :", v2)

    for ์˜†์— ๋ฐ˜๋ณตํ•  ์ž„์˜์˜ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•œ๋‹ค. ์ด ๋ฐ˜๋ณต์€ range()์— ํ•ด๋‹นํ•˜๋Š” ๋™์•ˆ ์‹คํ–‰๋œ๋‹ค. range()ํ•จ์ˆ˜๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ธ์ž๊ฐ’ 10 ๋ฏธ๋งŒ๊นŒ์ง€ ๋ฐ˜๋ณตํ•œ๋‹ค. ๋”ฐ๋ผ์„œ 0๋ถ€ํ„ฐ 9๊นŒ์ง€๊ฐ€ v2 ๋ณ€์ˆ˜์— ํ• ๋‹น์ด ๋œ๋‹ค.

    1๋ถ€ํ„ฐ 10๊นŒ์ง€ ์ถœ๋ ฅํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด range(1, 11) ํ˜•ํƒœ๋กœ ์ž‘์„ฑํ•œ๋‹ค. range(1, 11, 2) ์ด๋ ‡๊ฒŒ ์ธ์ž๊ฐ€ 3๊ฐœ(์‹œ์ž‘๊ฐ’, ๋๊ฐ’, ์ฆ๊ฐ๋‹จ์œ„) ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๋Š” 1๋ถ€ํ„ฐ 10๊นŒ์ง€ 2๋งŒํผ ์ ํ”„ํ•˜๋ผ๋Š” ๋œป์œผ๋กœ 1,3,5,7,9๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

     

    1 ~ 100 ํ•ฉ ๊ตฌํ•˜๊ธฐ

    sum1 = 0
    cnt1 = 1
    
    while cnt1 <= 100:
        sum1 += cnt1
        cnt1 += 1

    1์ด 100์ด ๋ ๋•Œ๊นŒ์ง€ sum๋ณ€์ˆ˜์— ์ฐจ๋ก€๋Œ€๋กœ ์ฆ๊ฐ€ํ•˜๋Š” cnt๋ฅผ ๋”ํ•ด์ค€๋‹ค.

    print('1 ~ 100 ํ•ฉ : ', sum(range(1, 101)))

    sum()ํ•จ์ˆ˜์™€ range()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๊ฐ„๋‹จํ•˜๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค. sum()์€ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ›์•„์„œ ๊ทธ ์•ˆ์— ์žˆ๋Š” ์š”์†Œ๋“ค์„ ๋”ํ•ด์ฃผ๋Š” ํ•จ์ˆ˜๋‹ค.

     

    ์‹œํ€€์Šค(์ˆœ์„œ๊ฐ€ ์žˆ๋Š”) ์ž๋ฃŒํ˜• ๋ฐ˜๋ณต

    ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฌธ์ž์—ด, ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ ์™ธ์— ์ง‘ํ•ฉ, ์‚ฌ์ „๋„ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋‹ค.

    iterable(๋ฐ˜๋ณต๊ฐ€๋Šฅํ•œ) ๋ฆฌํ„ด ํ•จ์ˆ˜ : range, reversed, enumerate, filter, map, zip

    names = ["Kim", "Park", "Cho", "Lee", "Choi", "Yoo"]
    
    for name in names:
        print("You are", name)
    
    # You are Kim
    # You are Park
    # You are Cho
    # You are Lee
    # You are Choi
    # You are Yoo

    names ๋ฆฌ์ŠคํŠธ ์•ˆ์— ์žˆ๋Š” ์š”์†Œ๋“ค ๋‹ค ๋Œ๋ ค๋Œ๋ ค

     

    my_info = {
        "name": "Kim",
        "age": 33,
        "city": "Seoul"
    }
    
    for key in my_info:
        print(key, ":", my_info[key])
    
    for val in my_info.values():
        print(val)

    ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋Œ๋ฆฌ๋ฉด ๊ธฐ๋ณธ๊ฐ’์œผ๋กœ key๋งŒ ๋ฝ‘๋Š”๋‹ค. values()๋ฅผ ์‚ฌ์šฉํ•ด ๋ฐธ๋ฅ˜๊ฐ’๋งŒ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ‚ค๊ฐ’๋งŒ ๋ฝ‘์„ ๋•Œ keys()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค. items()ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ํ‚ค์™€ ๋ฐธ๋ฅ˜ ๋‘˜ ๋‹ค ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

     

    name = 'KennRY'
    
    for n in name:
        if n.isupper():
            print(n)
        else:
            print(n.upper())

    ๋ฌธ์ž์—ด์„ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋Œ๋ฆฌ๋ฉด ํ•œ ๊ธ€์ž์”ฉ ๋ฆฌํ„ด๋œ๋‹ค. ๊ทธ ๊ธ€์ž๋“ค์ด ๋Œ€๋ฌธ์ž์ธ์ง€ ๊ฒ€์‚ฌํ•ด์„œ ๋Œ€๋ฌธ์ž๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋Œ€๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์„œ ์ถœ๋ ฅํ•ด๋ณด๋Š” ์ฝ”๋“œ์ด๋‹ค.

     

    break๋ฌธ

    numbers = [14, 3, 4, 7, 10, 24, 17, 2, 33, 15, 34, 36, 38]
    
    for num in numbers:
        if num == 33:
            print("found : 33!")
            break
        else:
            print("not found : ", num)

    ๋ฐ˜๋ณต๋ฌธ ๋Œ๋ฆฌ๋‹ค๊ฐ€ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์„ ์ฐพ์•˜์„ ๋•Œ, ๋ฐ˜๋ณต๋ฌธ์„ ๋” ์‹คํ–‰ํ•  ํ•„์š”๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฆ‰์‹œ ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— 33์„ ์ฐพ์œผ๋ฉด ๋ฐ˜๋ณต์„ break ํ•˜๊ณ  ๋‚˜์˜ค๋ผ๋Š” ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•œ๋‹ค.

     

    for-else

    for num in numbers:
        if num == 33:
            print("found : 33!")
            break
    else:
        print("Not Found 33...")

    for๋ฌธ์—๋„ else๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ˜๋ณต๋ฌธ์ด ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰๋œ ๊ฒฝ์šฐ else๋ฌธ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. for๋ฌธ์˜ break๊ฐ€ ์‹คํ–‰๋œ ๊ฒฝ์šฐ์—” else๋ฌธ์„ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.

     

    continue๋ฌธ

    lt = ["1", 2, 5, True, 4.3, complex(4)]
    
    for v in lt:
        if type(v) is float:
            continue
    
        print("type:", type(v))

    ์›ํ•˜๋Š” ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ์š”์†Œ๋ฅผ ์ฐพ์œผ๋ฉด ๊ทธ๊ฑด ์ฝ”๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ๋‹ค์Œ ์š”์†Œ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์œ„ ์ฝ”๋“œ์—์„œ floatํƒ€์ž…์˜ ์š”์†Œ 4.3์€ ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค.

     

     

     

    ๐Ÿ˜œ NEXT : ํŒŒ์ด์ฌ ํ•จ์ˆ˜์™€ ๋žŒ๋‹ค ๊ณต๋ถ€ํ•˜๊ธฐ

    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

๊ฐœ๋ฐœ๊ณต๋ถ€