๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ธ๊ณต์ง€๋Šฅ

[Day 2] Python

๐Ÿ“ ๋ณ€์ˆ˜(Variable)์™€ ๋ฆฌ์ŠคํŠธ(List)

  ๐Ÿ“Œ ํฐ ๋…ธ์ด๋งŒ ๊ตฌ์กฐ(Von Neumann Structure)

User๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ฌ ๊ฒฝ์šฐ,

ํ•ด๋‹น ์ •๋ณด๋ฅผ ๋จผ์ € ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅํ•œ ๋‹ค์Œ,

CPU๊ฐ€ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ทธ ์ •๋ณด๋ฅผ ํ•ด์„ํ•˜๊ณ  ๊ณ„์‚ฐํ•ด ์ถœ๋ ฅ

 

 

 

  ๐Ÿ”ฅ ๋ณ€์ˆ˜(Variable): Data(๊ฐ’)์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์˜ ํ”„๋กœ๊ทธ๋žจ์ƒ ์ด๋ฆ„

                             ex) a = 5 --> 5๋ผ๋Š” ๊ฐ’์„ a์— ๋„ฃ์–ด๋ผ

                         ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Œ(์„ ์–ธ ์‹œ ๋ฉ”๋ชจ๋ฆฌ ํŠน์ • ์˜์—ญ์— ๋ฌผ๋ฆฌ์  ๊ณต๊ฐ„์œผ๋กœ ํ• ๋‹น)

    - ์ž‘์„ฑ๋ฒ•: ์•ŒํŒŒ๋ฒณ, ์ˆซ์ž, ์–ธ๋” ์Šค์ฝ”์–ด(_)๋กœ ์„ ์–ธ

                ์˜๋ฏธ์žˆ๋Š” ๋‹จ์–ด๋กœ ํ•  ๊ฒƒ

                ๋Œ€ ์†Œ๋ฌธ์ž ๊ตฌ๋ถ„

                ์˜ˆ์•ฝ์–ด ์‚ฌ์šฉ X

    - ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•: ์ˆ˜์น˜ ์ž๋ฃŒํ˜• - ์ •์ˆ˜(integer, ์–‘์ˆ˜/์Œ์ˆ˜), ์‹ค์ˆ˜(float, ์†Œ์ˆ˜์ )

                       ๋ฌธ์žํ˜•(String)

                       ๋…ผ๋ฆฌ ์ž๋ฃŒํ˜•(Boolean) - ์ฐธ(True) / ๊ฑฐ์ง“(False)

                       ** C, JAVA์™€ ๊ฐ™์€ ์–ธ์–ด์™€ ๋‹ค๋ฅด๊ฒŒ Python์€ ๋ณ€์ˆ˜ํ˜•์„ ์„ ์–ธํ•ด ์ค„ ํ•„์š” X

    - ์—ฐ์‚ฐ์ž, ํ”ผ์—ฐ์‚ฐ์ž(Operator, Operand)

 ์—ฐ์‚ฐ์ž: + - * / **(์ œ๊ณฑ) %(๋‚˜๋จธ์ง€) += -= ๋“ฑ

 ํ”ผ์—ฐ์‚ฐ์ž: ์—ฐ์‚ฐ์ž์— ์˜ํ•ด ๊ณ„์‚ฐ๋˜๋Š” ์ˆซ์ž, ๋ฌธ์ž

 ** ๋ฌธ์ž๊ฐ„ +์—ฐ์‚ฐ ๊ฐ€๋Šฅ(Concatenate)

 

    - ํ˜• ๋ณ€ํ™˜: int์ž๋ฃŒํ˜•์„ float์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ๋ฐ˜๋Œ€๋กœ ๋ณ€ํ™˜์ด ๊ฐ€๋Šฅ(ํ˜„์žฌ ๋ณ€์ˆ˜ํ˜•์€ type()ํ•จ์ˆ˜๋กœ ํ™•์ธ ๊ฐ€๋Šฅ)

                    ex) a = 10 --> intํ˜• ๋ณ€์ˆ˜         b = float(a) -->floatํ˜• ๋ณ€์ˆ˜(print์‹œ 10.0์œผ๋กœ ์ถœ๋ ฅ)

 

๐Ÿ“Œ ์ปดํ“จํ„ฐ๋Š” ์™œ 2์ง„์ˆ˜๋ฅผ ์‚ฌ์šฉํ• ๊นŒ?

   -> ์ปดํ“จํ„ฐ๋Š” ์‹ค๋ฆฌ์ฝ˜์ด๋ผ๋Š” ์žฌ๋ฃŒ๋กœ ๋งŒ๋“  ๋ฐ˜๋„์ฒด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค. ์ด ๋ฐ˜๋„์ฒด์˜ ํŠน์ง•์€ ํŠน์ • ์ž๊ทน์—์„œ ์ „๊ธฐ๊ฐ€ ํ†ตํ•˜๋Š”๋ฐ ์ด๊ฒƒ์„ ํ™œ์šฉํ•˜์—ฌ ์ „๊ธฐ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ „๋ฅ˜๊ฐ€ ํ๋ฅผ ๋•Œ๋ฅผ 1, ํ๋ฅด์ง€ ์•Š์„ ๋•Œ๋ฅผ 0์ด๋ผ๋Š” ์ˆซ์ž๋กœ ํ‘œ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ˜„์žฌ ์–‘์ž์ปดํ“จํ„ฐ๋“ฑ์„ ๊ณ„๋ฐœํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ํ”„๋ ˆ์ž„์„ ๋ฒ—์–ด๋‚˜๊ธฐ ์œ„ํ•จ์ด๋ผ๊ณ  ํ•œ๋‹ค.

 

  ๐Ÿ”ฅ ๋ฆฌ์ŠคํŠธ(List): ๋ฆฌ์ŠคํŠธ, ์‹œํ€€์Šค ์ž๋ฃŒํ˜•์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋“ค์˜ ์ง‘ํ•ฉ(๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ํฌํ•จ - int, float, string ๋“ฑ)

    - ์ธ๋ฑ์‹ฑ(Indexing): ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ’๋“ค์€ ์ฃผ์†Œ(Offset)์„ ๊ฐ€์ง -> ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•ด ํ• ๋‹น ๊ฐ’์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Œ

    - ์Šฌ๋ผ์ด์‹ฑ(Slicing): ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’์„ ์ž˜๋ผ์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ. ์ฃผ์†Œ ๊ฐ’์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ€๋ถ„๊ฐ’์„ ๋ฐ˜ํ™˜ [start : end : stop]

    - ์—ฐ์‚ฐ: append, extend, insert, remove, del ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ์Œ.

    - ๋ฉ”๋ชจ๋ฆฌ ์ €์žฅ ๋ฐฉ์‹: ํ•ด๋‹น ๋ฆฌ์ŠคํŠธ ๋ณ€์ˆ˜์—๋Š” ๋ฆฌ์ŠคํŠธ ์ฃผ์†Œ ๊ฐ’์ด ์ €์žฅ๋จ(ex. a= [1, 2, 3] - a์—๋Š” [...]์˜ ์ฃผ์†Œ ๊ฐ’์ด ์ €์žฅ)

                              **๋ณต์‚ฌ์‹œ ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ณ  ๊ฐ’๋“ค์„ ๋ณต์‚ฌํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„  ์Šฌ๋ผ์ด์‹ฑ([:])์ด๋‚˜ deepcopy ์‚ฌ์šฉ

    - ํŒจํ‚น: ํ•œ ๋ณ€์ˆ˜์— ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ๋„ฃ์Œ               t = [1, 2, 3]

    - ์–ธํŒจํ‚น: ํ•œ ๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ๊ฐ์˜ ๋ณ€์ˆ˜๋กœ ๋ฐ˜ํ™˜    a, b, c = t

    - ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ: ๋ฆฌ์ŠคํŠธ ์•ˆ์— ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด ํ–‰๋ ฌ(matrix) ์ƒ์„ฑ

                          ** ๋ณต์‚ฌ์‹œ 1์ฐจ์› ๋ฆฌ์ŠคํŠธ์™€ ๋‹ค๋ฅด๊ฒŒ deepcopy๋งŒ ์‚ฌ์šฉํ•ด์•ผ ๊ฐ€๋Šฅํ•จ

 

๐Ÿ“ ํ•จ์ˆ˜(Function)์™€ ์ฝ˜์†”(Console) I/O

  ๐Ÿ”ฅ ํ•จ์ˆ˜(Function): ์–ด๋–ค ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ฝ”๋“œ์˜ ๋ฉ์–ด๋ฆฌ

                          ๋ฐ˜๋ณต์ ์ธ ์ˆ˜ํ–‰์„ 1ํšŒ๋งŒ ์ž‘์„ฑ ํ›„ ํ˜ธ์ถœ

                          ์ฝ”๋“œ๋ฅผ ๋…ผ๋ฆฌ์ ์ธ ๋‹จ์œ„๋กœ ํ˜ธ์ถœ

                          ์บก์Аํ™”: ์‚ฌ์šฉ์ž๊ฐ€ ์ธํ„ฐํŽ˜์ด์Šค๋งŒ ์•Œ๋ฉด ํƒ€์ธ์˜ ์ฝ”๋“œ ์‚ฌ์šฉ

    - ์„ ์–ธ๋ฐฉ๋ฒ•: ์ด๋ฆ„, parameter, indentation, return value(optional)

                   def ํ•จ์ˆ˜์ด๋ฆ„(parameter(s)):

                       ์ˆ˜ํ–‰๋ฌธ(๋“ค)(statement(s))

                       return ๋ฐ˜ํ™˜๊ฐ’

                   ** parameter: ํ•จ์ˆ˜์˜ ์ž…๋ ฅ ๊ฐ’ ์ธํ„ฐํŽ˜์ด์Šค / argument: ์‹ค์ œ parameter์— ๋Œ€์ž…๋œ ๊ฐ’

                   ** ๋Œ€๋ถ€๋ถ„ parameter๋กœ ํ†ต์ผํ•ด์„œ ๋ถ€๋ฅธ๋‹ค๊ณ  ํ•œ๋‹ค.

    - ์ˆ˜ํ–‰์ˆœ์„œ: ํ•จ์ˆ˜๋ฅผ ์ œ์™ธํ•œ ๋ฉ”์ธํ”„๋กœ๊ทธ๋žจ๋ถ€ํ„ฐ ์‹œ์ž‘, ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ ํ•จ์ˆ˜ ๋ถ€๋ถ„์œผ๋กœ ๊ฐ€์„œ ์ˆ˜ํ–‰ ํ›„ ๋Œ์•„์˜ด

    - ํ•จ์ˆ˜ํ˜•ํƒœ: parameter ์œ ๋ฌด์™€ ๋ฐ˜ํ™˜๊ฐ’(return)์— ๋”ฐ๋ผ ํ•จ์ˆ˜์˜ ํ˜•ํƒœ๊ฐ€ ๋‹ค๋ฆ„

 

Parameter X

Parameter O

Return X

ํ•จ์ˆ˜ ๋‚ด์˜ ์ˆ˜ํ–‰๋ฌธ๋งŒ ์ˆ˜ํ–‰

parameter ์‚ฌ์šฉํ•ด ์ˆ˜ํ–‰๋ฌธ ์ˆ˜ํ–‰

Return O

parameter์—†์ด ์ˆ˜ํ–‰๋ฌธ

์ˆ˜ํ–‰ ํ›„ ๊ฒฐ๊ณผ๊ฐ’ ๋ฐ˜ํ™˜

parameter๋ฅผ ์‚ฌ์šฉํ•ด

์ˆ˜ํ–‰๋ฌธ ์ˆ˜ํ–‰ ํ›„ ๊ฒฐ๊ณผ๊ฐ’ ๋ฐ˜ํ™˜

  ๐Ÿ”ฅ ์ฝ˜์†”(Console) I/O

    - Input: input()ํ•จ์ˆ˜๋Š” ์ฝ˜์†”์ฐฝ์—์„œ ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›๋Š” ํ•จ์ˆ˜(input("question") ํ˜•์‹์–ด๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)

    - Output: print()ํ•จ์ˆ˜๋Š” ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜, ์ฝค๋งˆ(,)์‚ฌ์šฉ์‹œ ๋„์–ด์“ฐ๊ธฐ๋กœ ์—ฐ๊ฒฐ

    - formatting: print()๋Š” ๊ธฐ๋ณธ์ ์ธ ์ถœ๋ ฅ ์™ธ์— ์ถœ๋ ฅ ์–‘์‹(ํ˜•์‹)์„ ์ง€์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ์Œ

      1) % - print(%d %s %f %(1, 'one', 1.0)): %d(10์ง„์ˆ˜), %f(์‹ค์ˆ˜) %s(๋ฌธ์ž์—ด) ๋“ฑ

      2) format() - print("... {} {} ...".format('one', 'two')

      3) fstring - Python 3.6๋ฒ„์ „ ์ดํ›„ PEP498์— ๊ทผ๊ฑฐํ•œ formatting ๊ธฐ๋ฒ•. name = 'abc' print(f' ..., {name}')

  

๐Ÿ“ ์กฐ๊ฑด๋ฌธ(Conditionals)๊ณผ ๋ฐ˜๋ณต๋ฌธ(Loops)

  ๐Ÿ”ฅ ์กฐ๊ฑด๋ฌธ: ์กฐ๊ฑด์— ๋”ฐ๋ผ ํŠน์ • ๋™์ž‘ํ•˜๋Š” ๋ช…๋ น์–ด(ex. ํœด๋Œ€ํฐ ํŒจํ„ด์ด 5ํšŒ ํ‹€๋ฆฌ๋ฉด 20์ดˆ ๋Œ€๊ธฐ)

                 ์กฐ๊ฑด์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ธฐ์ค€๊ณผ ์‹คํ–‰ํ•ด์•ผ ํ•  ๋ช…๋ น์œผ๋กœ ๊ตฌ์„ฑ. if, else, elif ์‚ฌ์šฉ

if ์กฐ๊ฑด:

    ์ˆ˜ํ–‰๋ช…๋ น

elif ์กฐ๊ฑด:

    ์ˆ˜ํ–‰๋ช…๋ น

else:

    ์ˆ˜ํ–‰๋ช…๋ น

    - ํŒ๋‹จ ๋ฐฉ๋ฒ•: ๋น„๊ต ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด ์ฐธ๊ณผ ๊ฑฐ์ง“์„ ํŒ๋‹จ

  ๐Ÿ”ฅ ๋ฐ˜๋ณต๋ฌธ: ์ •ํ•ด์ง„ ๋™์ž‘์„ ๋ฐ˜๋ณตํ•˜๋Š” ๋ช…๋ น๋ฌธ(ex. 100๋ช…์˜ ํ•™์ƒ์˜ ํ‰๊ท ์„ ๊ตฌํ•˜๊ธฐ)

                 ๋ฐ˜๋ณต ์‹œ์ž‘ ์กฐ๊ฑด, ์ข…๋ฃŒ ์กฐ๊ฑด, ์ˆ˜ํ–‰๋ช…๋ น์œผ๋กœ ๊ตฌ์„ฑ(for, while๋ฌธ)

                 break(์ค‘๊ฐ„์— ๋ฐ˜๋ณต๋ฌธ ํƒˆ์ถœ), continue(๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐ), else(๋ฐ˜๋ณต๋ฌธ ๋ฐ˜๋ณต ํ›„ ์‹คํ–‰)

  ๐Ÿ”ฅ ๋””๋ฒ„๊น…: ์ฝ”๋“œ์˜ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜์—ฌ ์ˆ˜์ •ํ•˜๋Š” ๊ณผ์ •, ์˜ค๋ฅ˜์˜ ์›์ธ์„ ์•Œ๊ณ  ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•„์•ผํ•จ

    - ๋ฌธ๋ฒ•์  ์˜ค๋ฅ˜: ์—๋Ÿฌ ๋ฉ”์„ธ์ง€ ๋ถ„์„

    - ๋…ผ๋ฆฌ์  ์˜ค๋ฅ˜: ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•œ ํ•ด๊ฒฐ(print๋ฌธ ์ฐ์–ด๋ณด๊ธฐ ๋“ฑ)

 

๐Ÿ“ ๋ฌธ์ž์—ด(String)๊ณผ ํ•จ์ˆ˜ ๋” ๋‚˜์•„๊ฐ€๊ธฐ(Advanced function concept)

  ๐Ÿ”ฅ ๋ฌธ์ž์—ด: ์‹œํ€€์Šค ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฌธ์žํ˜• data๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ. ์˜๋ฌธ์ž ํ•˜๋‚˜๋Š” 1byte์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์‚ฌ์šฉ

    - ํŠน์ง•: ๋ฆฌ์ŠคํŠธ์™€ ๋น„์Šท(์ธ๋ฑ์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์Šฌ๋ผ์ด์‹ฑ์ด ๊ฐ€๋Šฅ)

              upper(), lower() count(), find()๋“ฑ์˜ ํ•จ์ˆ˜๊ฐ€ ์กด์žฌ

              ๋‘์ค„ ์ด์ƒ ์ €์žฅ์‹œ ์Œ๋”ฐ์˜ดํ‘œ(")๋‚˜ ๋”ฐ์˜ดํ‘œ(')๋ฅผ 3๊ฐœ ๋ถ™์ด๊ฑฐ๋‚˜ \n์œผ๋กœ ์—ฌ๋Ÿฌ ์ค„ ์ž…๋ ฅ ๊ฐ€๋Šฅ

              raw string - ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๋•Œ r์„ ์‚ฌ์šฉํ•˜๋ฉด \n, \t๋“ฑ์„ ๊ทธ๋Œ€๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ

  ๐Ÿ”ฅ ํ•จ์ˆ˜

    - Call by value: ๊ฐ’๋งŒ ๋„˜๊ธฐ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์ „๋‹ฌ ๋ฐฉ์‹, ํ˜ธ์ถœ์ž์— ์˜ํ–ฅ X

    - Call by reference: ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๋„˜๊ธฐ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ ์ „๋‹ฌ ๋ฐฉ์‹, ํ˜ธ์ถœ์ž์— ์˜ํ–ฅ O

    - Call by object reference: ๊ฐ์ฒด ์ฃผ์†Œ๊ฐ€ ํ•จ์ˆ˜๋กœ ์ „๋‹ฌ, ํ˜ธ์ถœ์ž์—๊ฒŒ๋Š” ์ฐธ์กฐ ๋ณ€๊ฒฝ์‹œ ์˜ํ–ฅ O, ์ƒˆ๋กœ์šด ๊ฐ์ฒด์˜ ๊ฒฝ์šฐ ์˜ํ–ฅ X

    - ๋ณ€์ˆ˜ ๋ฒ”์œ„(Scoping rule)

      1) ์ง€์—ญ ๋ณ€์ˆ˜: ํ•จ์ˆ˜ ๋‚ด์—์„œ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ(Local variable)

      2) ์ „์—ญ ๋ณ€์ˆ˜: ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด์—์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅ(Global variable), ํ•จ์ˆ˜ ๋‚ด์—์„œ ์‚ฌ์šฉ์‹œ global ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ

    - ์žฌ๊ท€ ํ•จ์ˆ˜(Recursive function): ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜, ์ ํ™”์‹๊ณผ ๊ฐ™์€ ์žฌ๊ท€์  ์ˆ˜ํ•™ ๋ชจํ˜•์„ ํ‘œํ˜„

    - Function Type Hints: Python์€ ๋‹ค์ด๋‚˜๋ฏน ํƒ€์ดํ•‘(Dynamic Typing)์ง€์› -> ์ฒ˜์Œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ์€ interface                                              ํŒŒ์•…์ด ์–ด๋ ค์›€ -> ํŒŒ์ด์ฌ 3.5๋ฒ„์ „ ์ดํ›„์—๋Š” type hints๋ฅผ ์ œ๊ณต

                                 def do_func(var_name: var_type) -> return type:  => def exam(name: str) -> str:

    - Docstring: ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์ƒ์„ธ ์ŠคํŽ™์„ ์‚ฌ์ „์— ์ž‘์„ฑํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์ดํ•ด๋„์— ๋„์›€์„ ์คŒ. ํ•จ์ˆ˜๋ช… ์•„๋ž˜ ๋”ฐ์˜ดํ‘œ 3๊ฐœ๋กœ ์˜์—ญ์„ ํ‘œ์‹œ

    - ์ž‘์„ฑ ๊ฐ€์ด๋“œ: ๊ฐ€๋Šฅํ•˜๋ฉด ์งง๊ฒŒ

                       ํ•จ์ˆ˜ ์ด๋ฆ„์— ํ•จ์ˆ˜ ์—ญํ• , ์˜๋„๊ฐ€ ๋ช…ํ™•ํžˆ ๋“ค์–ด๋‚ผ ๊ฒƒ

                       ํ•˜๋‚˜์˜ ํ•จ์ˆ˜์—๋Š” ์œ ์‚ฌํ•œ ์—ญํ• ์„ ํ•˜๋Š” ์ฝ”๋“œ๋งŒ ์ ์„ ๊ฒƒ

                        ์ธ์ž๋กœ ๋ฐ›์€ ๊ฐ’ ์ž์ฒด๋ฅผ ๋ฐ”๊พธ์ง„ ๋ง ๊ฒƒ(์ž„์‹œ ๋ณ€์ˆ˜ ์„ ์–ธ)

    - ์–ธ์ œ ๋งŒ๋“œ๋Š”๊ฐ€?: ๊ณตํ†ต ์ฝ”๋“œ๊ฐ€ ์ƒ๊ธฐ๊ฑฐ๋‚˜ ๋ณต์žกํ•œ ์ˆ˜์‹, ์กฐ๊ฑด์ด ์žˆ์„ ๋•Œ ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒํ•˜๊ธฐ ์œ„ํ•ด ์ƒ์„ฑ

 

๐Ÿ“Œif __name__ == '__main__'

  -> ๋จผ์ €, __name__์ด๋ผ๋Š” ๋ณ€์ˆ˜๋Š” ํ˜„์žฌ ๋ชจ๋“ˆ์˜ ์ด๋ฆ„์„ ๋‹ด๊ณ ์žˆ๋Š” ํŒŒ์ด์ฌ ๋‚ด์žฅ ๋ณ€์ˆ˜์ด๋‹ค. ํ•ด๋‹น ๋ณ€์ˆ˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰์‹œํ‚จ ๋ชจ๋“ˆ์— __main__์ด๋ผ๋Š” ๊ฐ’์„ ๊ฐ€์ง€๊ณ  import๋˜๋Š” ๋ชจ๋“ˆ์—๋Š” ํŒŒ์ผ๋ช…์ด ์ €์žฅ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ํ•ด๋‹น ์กฐ๊ฑด๋ฌธ์„ ๋„ฃ์–ด์ฃผ๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ์‹คํ–‰์‹œ์ผฐ์„๋•Œ ์‹คํ–‰์‹œํ‚ค๊ณ  ์‹ถ์€ ์ฝ”๋“œ๋ฅผ ๋„ฃ์–ด ๋‘˜ ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด๋‹ค.

 

'์ธ๊ณต์ง€๋Šฅ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Day 6] Math for AI - 1. numpy  (0) 2021.01.25
[Day 5] Python  (2) 2021.01.22
[Day 4] Python  (0) 2021.01.21
[Day 3] Python  (0) 2021.01.20
[Day 1] Python  (0) 2021.01.18