Skip to content

jaesung08/TIL

Repository files navigation

SSAFY Today I Learned

7/12

git

  1. git hub (ํด๋ผ์šฐ๋“œ ๊ฐ™์€๊ฑฐ)
  2. bash ( ์œˆ๋„์šฐ์—์„œ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ/ ๊ฐ„ํŽธ๋ฆฌํ•˜๋ฉฐ git hub๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ )
  • Gui : ์œˆ๋„์šฐgui, ๋ฆฌ๋ˆ…์Šค <-> Tui : -> Cli : cmd, powershell, bash
  • ์ธํ„ฐํŽ˜์ด์Šค= ๊ธฐ๊ณ„์™€ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ ์œ„์—๋Š” ์ „๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค
  • ChatGPT

    • Generative/Pre-trained/Transformer
    • ์ƒ์„ฑ๋ชจ๋ธ / ์‚ฌ์ „ํ›ˆ๋ จ / ํŠธ๋žœ์Šคํฌ๋จธai๋ชจ๋ธ( ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ, ์ž์—ฐ์–ด์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ)
    • HTML=> ํ‹€
    • CSS => ๊พธ๋ฉฐ์ฃผ๋Š”๊ฑฐ
    • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ => ๋กœ์ง
  • ํด๋ผ์ด์–ธํŠธ ๋งŒ๋“ค๊ธฐ ( ํ”„๋ก ํŠธ์—”๋“œ)

    • ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ์ƒํ˜ธ์ž‘์šฉ
    • API๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์š”์ฒญํ•˜๋Š” ๊ทœ์น™
    • api๋กœ ์š”์ฒญํ•˜๋ฉด ์‘๋‹ต์„ Json์œผ๋กœ ๋ณด๋ƒ„
  • Json์€ ํ‚ค์™€ ๋ฐธ๋ฅ˜๋กœ ๊ตฌ์„ฑ๋Œ

    • key : value
    • ๋”ธ๊ธฐ : 5๊ฐœ
    • ์ˆ˜๋ฐ• : 3๊ฐœ
    • ์ƒ์ˆ˜ : 8ํŒฉ

vs-code๋‹จ์ถ•ํ‚ค

  • ctrl + s : ์ €์žฅ
  • ctrl + j : ํ„ฐ๋ฏธ๋„์ฐฝ
  • ctrl + w : ๋‹ซ๊ธฐ
  • ctrl + / : ์ฃผ์„

7/13

๋งˆํฌ๋‹ค์šด- ์–ธ์–ด? ๊ฐ€๋…์„ฑ์ด ์ข‹์Œ ํŽธ์˜์„ฑ๋„ ์ข‹์Œ

  • ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๊ธฐ
  • ๋Œ€์ฒด์–ด๋””์„œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์–ด๋””๊นŒ์ง€ ํ•ด์•ผํ• ๊นŒ?
  • python๊ณผ java๋ฅผ ๋ฐฐ์šฐ๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š”๊ฑธ๊นŒ? ์ œ์ผ ์ค‘์š”ํ•œ๊ฑด ๊พธ์ค€ํ•œ ํ•™์Šต์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋žŒ์ธ์ง€๋ฅผ ๋ณด์—ฌ์ค˜์•ผ ํ•œ๋‹ค.

๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•˜๊ธฐ

ordered ๋ฆฌ์ŠคํŠธ ์ž‘์„ฑํ•˜๊ธฐ

  1. ํƒญ์„ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”
  2. ์—”ํ„ฐ๋ฅผ ๋‘ ์„ธ๋ฒˆ ๋ˆŒ๋Ÿฌ๋ณด์„ธ์š”
    1. ํƒญ์„ ๋ˆ„๋ฅด๋ฉด 2-1๋ฒˆ
  3. 4๋ฒˆ์„ ์ ์–ด๋„ 3๋ฒˆ์œผ๋กœ ํ‘œ์‹œ๋๋‹ˆ๋‹ค.
  4. 3๋ฒˆ์„ ์ ์–ด๋„ 4๋ฒˆ์œผ๋กœ ํ‘œ์‹œ๋˜๊ณ ์š”

unorder list

  • -๋“  +๋“  *์ด๋“  ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.
  • ๋‹ค์‹œ ๋Œ์•„๊ฐ€๊ธฐ ํ‚ค๋Š” shift + tab
  • ์—”ํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ๋ˆŒ๋Ÿฌ๋„ ๋‹ค์‹œ ๋Œ์•„๊ฐ„๋‹ค.

check list

  • ์‚ฌ๊ณผ
  • ekdrmsใ„ด
  • didvk
  • ๋ผ๋ฉด
  • tnrwn
  • [ ]

code block

a = input()
a = str()
print(a)
# include <stadio.h>
int main()
(
    print ("hello world\n")
    return 0;
)

๋งํฌ url ๊ฑธ๊ธฐ

[์‹ธํ”ผ] (https://edu.ssafy.com/edu/main/index.do)

์ด๋ฏธ์ง€ ๊ฑธ๊ธฐ๋Š” ์•ž์— ๋А๋‚Œํ‘œ๋ฅผ ๋ถ™์—ฌ์•ผํ•จ

๊ณ ์–‘์ด

๊ธ€์”จ ๊ตต๊ฒŒ ํ‘œํ˜„ํ•˜๊ธฐ

๊ตต๊ฒŒ ํ•  ๋•Œ๋Š” ์–ธ๋”๋ฐ”๋‚˜ ๋ณ„ํ‘œ ๋‘๊ฐœ

๊ตต์€๊ธ€์”จ

๊ตต์€๊ธ€์”จ

๊ธ€ ์ค‘๊ฐ„์— ์ด๋ ‡๊ฒŒ ๊ฐ•์กฐ ํ•ฉ๋‹ˆ๋‹ค

๊ธ€๊ผด ๊ธฐ์šธ๊ธฐ

๊ธฐ์šธ๊ธฐ๋Š” ์–ธ๋”๋ฐ”๋‚˜ ๋ณ„ํ‘œ ํ•œ๊ฐœ

์•ˆ๋…•์•ˆ๋…•

์ด๋ ‡๊ฒŒ ๊ธฐ์šธ์ด์ง€

๊ธ€ ์ค‘๊ฐ„์— ์ด๋ ‡๊ฒŒ ๊ธฐ์šธ์ด์ง€

์—ฅ ๋ณ„๋กœ ํ•˜๋žฌ๋Š”๋ฐ ์–ธ๋”๋ฐ”๋„ ๋˜๋„ค์š”

๊ตต๊ฒŒ ๊ธฐ์šธ์ด๊ธฐ

๊ตต๊ฒŒ ๊ธฐ์šธ์ด๊ธฐ

์ทจ์†Œ์„ 

~~ ์ทจ์†Œ์„  ~~

์ˆ˜ํ‰์„  ๋งŒ๋“ค๊ธฐ

์ด๋ ‡๊ฒŒํ•˜๋Š”๊ฑฐ์ง€์šฉ


์ŠคํŽ˜์ด์Šค๋ฐ” ์–ธ๋”๋ฐ” ์–ธ๋”๋ฐ” ์–ธ๋”๋ฐ”

CLI๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • GUI๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ๋Š” ์‰ฝ์ง€๋งŒ, ๋‹จ๊ณ„๊ฐ€ ๋งŽ๊ณ  ์„ฑ๋Šฅ์„ ์ƒ๋Œ€์ ์œผ๋กœ ๋งŽ์ด ์†Œ๋ชจํ•˜๊ธฐ์— ์ˆ˜๋งŽ์€ ์„œ๋ฒ„/๊ฐœ๋ฐœ ์‹œ์Šคํ…œ์ด CUI ๋ฅผ ํ™œ์šฉํ•ด ์กฐ์ž‘ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•œ๋‹ค.
  • => ๊ฐœ๋ฐœ์ž์˜ ๊ธฐ๋ณธ์†Œ์–‘์ด๊ธฐ๋•Œ๋ฌธ์— CLI์‚ฌ์šฉ

๊นƒ ํ—ˆ๋ธŒ ํ„ฐ๋ฏธ๋„ ๋ช…๋ น์–ด ๋ชจ์Œ ctrl J

  • cd ./์ด๋™ํ•  ํŒŒ์ผ์ด๋ฆ„
  • cd .. ๊ฒฝ๋กœ ํ•˜๋‚˜ ๋‚˜๊ฐ€๊ธฐ
  • ls //๊ทธ ํด๋”์—์„œ ๋ฆฌ์ŠคํŠธ๋“ค ๋ณด์—ฌ์ฃผ๊ธฐ
  • rm -r ์‚ญ์ œํ• ํŒŒ์ผ์ด๋ฆ„
  • rm *์ „์ฒด์‚ญ์ œํ•  ํŒŒ์ผ๋ช…
  • clear //์ „์ฒด ์ง€์šฐ๊ธฐ
  • touch a.txt //ํด๋”์— a.txtํŒŒ์ผ ๋งŒ๋“ค๊ธฐ
  • mkdir new_folder // new_folder๋ผ๋Š” ํด๋” ๋งŒ๋“ค๊ธฐ
  • tabํ‚ค // ์ž๋™์™„์„ฑ //์ž์ฃผ ์ด์šฉํ•˜๊ธฐ

git์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ํ”„๋กœ์ ํŠธ ํ˜‘์—…ํ•˜๊ธฐ์— ์šฉ์ดํ•˜๊ธฐ์— ์‚ฌ์šฉ!!
  • ์ฝ”๋“œ์˜ ๋ฒ„์ „์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋น„๊ต, ๊ฐœ๋ฐœ๋˜์–ด์˜จ ๊ณผ์ • ํŒŒ์•… ์šฉ์ด
  • ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ์ด๋ ฅ ์„ ๊ธฐ๋กํ•˜๊ณ  ํ˜‘์—… ์„ ์›ํ• ํ•˜๊ฒŒ ํ•˜๋Š” ๋„๊ตฌ
  • => ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • git : local repository ๋กœ์ปฌ ์ €์žฅ์†Œ
  • git hube : remote repository ์›๊ฒฉ ์ €์žฅ์†Œ
  • working directory => add
  • staging area => commit
  • repository

git ๋ช…๋ น์–ด

  • git config --global user.name ์žฅ์žฌ์„ฑ
  • git config --global user.email lancer98@naver.com
  • git config --global -l (์˜์–ด L์ž„)
  • git init ๊นƒ ๋„ฃ๊ธฐ
  • rm -rf git ๊นƒ ์‚ญ์ œ
  • git init
  • rm -rf .git
  • echo > a.txt > b.txt > c.txt ์ดํŒŒ์ผ๋“ค ๋งŒ ๊นƒ
  • echo c.txt>> .gitignore ์ด ํŒŒ์ผ๋งŒ ๊นƒ ์‚ญ์ œ
  • rm .gitignore ๊นƒ ์‚ญ์ œ ์ทจ์†Œ
  • git add . ์• ๋“œ
  • git status ์ƒํƒœ๋ณด๊ธฐ
  • git reset ์• ๋“œ ์ทจ์†Œ
  • git add .
  • git commit -m 'first commit' ' '์ด๋ฆ„์œผ๋กœ ์ปค๋ฐ‹ํ•˜๊ธฐ
  • git log ๋กœ๊ทธ ๋ณด๊ธฐ
  • rm -rf .git

7/14

  • ๊นƒํ—ˆ๋ธŒ ๊ฐ€์ž…ํ•˜๊ธฐ
  • branch๋ช… master๋กœ ์„ค์ • ํ›„ Repositories๋งŒ๋“ค๊ธฐ
  • ํ„ฐ๋ฏธ๋„์—์„œ ์ปค๋ฐ‹ํ›„ ๋กœ๊ทธ ํ™•์ธ์ด ๋˜๋ฉด git remote add origin https://github.com/jaesung08/First.git
  • ๊นƒํ—ˆ๋ธŒ์ฃผ์†Œ์ฐฝ์— ์• ๋“œ

๊นƒํ—ˆ๋ธŒ ์ปค๋ฐ‹ํ•˜๋Š” ๋ช…๋ น์–ด

  • git remote -v
  • git push origin +master ํ‘ธ์‰ฌํ•˜๋Š”๋ฐ ๋งˆ์Šคํ„ฐ๋Š” branch๋ช…์œผ๋กœ
  • git pull origin master =>์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ๋งŒ ๋ฐ›๊ธฐ
  • git clone https://github.com/jaesung08/First.git => ์ €์žฅ์†Œ ์ „์ฒด๋ฅผ ๋ณต์ œํ•˜์—ฌ ๋‹ค์šด๋กœ๋“œ
  • ๊นƒํ—ˆ๋ธŒ ์ฃผ์†Œ๋Š” ์›ํ•˜๋Š” ์›๊ฒฉ์ €์žฅ์†Œ ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉ
  • origin์—๋Š” ์ž์‹ ์ด ์›๊ฒฉ์ €์žฅ์†Œ์— ์˜ฌ๋ฆด ์ด๋ฆ„์œผ๋กœ ์ž‘์„ฑ
  • https://www.toptal.com/developers/gitignore/ ignoreใ…ใ…์ผ ๋งŒ๋“œ๋Š”๊ณณ(?)

7.17

ํ”„๋กœ๊ทธ๋žจ - ๋ช…๋ น์–ด๋“ค์˜ ์ง‘ํ•ฉ

  • ์นœ๊ตฌ์—๊ฒŒ ์šฐ๋ฆฌ์ง‘์œผ๋กœ ์˜ค๋Š”๊ธธ์„ ์ ์–ด์ค€๊ฒƒ- ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑ
  • ์ ์–ด์ค€๊ธธ์„ ์ˆœ์„œ๋Œ€๋กœ ๋”ฐ๋ผ๊ฐ€๋Š”๊ฒƒ - ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰
  • ~~์—์„œ ์šฐํšŒ์ „, ๋‘ ๋ธ”๋ก ์ง์ง„ ํ›„ ์ขŒํšŒ์ „ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ- ๋ช‡๊ฐ€์ง€ ๊ธฐ์ดˆ์—ฐ์‚ฐ์œผ๋กœ ๊ตฌ์„ฑ๋Œ
  • ์ปดํ“จํ„ฐ๋Š”๋” ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ ์ง‘ํ•ฉ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ => ๊ธฐ์กด ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ด ๋” ๋งŽ์€ ์—ฐ์‚ฐ์„ ๋งŒ๋“ค๊ณ  ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์•„ ์ƒˆ๋กœ์šด ์—ฐ์‚ฐ์„ ๋งŒ๋“ค์–ด๋ƒ„

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํ•ต์‹ฌ

  • ์ƒˆ์—ฐ์‚ฐ์„ ์ •์˜ํ•˜๊ณ  ์กฐํ•ฉํ•ด์„œ ์œ ์šฉํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๊ฒƒ.
  • ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ์œ„ํ•œ ๋„๊ตฌ

ํŒŒ์ด์ฌ ์‚ฌ์šฉ์ด์œ 

  • ๊ฐ„๊ฒฐํ•˜๊ณ  ์ฝ๊ธฐ์‰ฌ์›€
  • ๋‹ค์–‘ํ•œ ์‘์šฉ๋ถ„์•ผ
    • ๋ฐ์ดํ„ฐ ๋ถ„์„, ์ธ๊ณต์ง€๋Šฅ, ์›น๊ฐœ๋ฐœ, ์ž๋™ํ™” ๋“ฑ
  • ํŒŒ์ด์ฌ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ์ง€์›
    • ์„ธ๊ณ„์ ์ธ ๊ทœ๋ชจ์˜ ์‚ฌ์šฉ์ž๋กœ ์ƒํƒœ๊ณ„๊ฐ€ ์œ ์ง€
  • ์ปดํ“จํ„ฐ๋Š” ๊ธฐ๊ณ„์–ด(0๊ณผ 1)๋งŒ ์‚ฌ์šฉํ•˜๋‚˜, ์‚ฌ๋žŒ์€ ๊ธฐ๊ณ„์–ด ์ž‘์„ฑ์ด ์–ด๋ ค์›€. => ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ์ด์šฉํ•˜์—ฌ ๋ช…๋ น์–ด๋ฅผ ๊ธฐ๊ณ„์–ด๋กœ ๋ฐ”๊ฟˆ.
    • ํ›จ์”ฌ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ , ์šด์˜์ฒด์ œ๊ฐ„ ์ด์‹๋„ ๊ฐ€๋Šฅ(ํ™•์žฅ์„ฑ)
  • shell์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ช…๋ น์–ด ํ•˜๋‚˜์”ฉ ์‚ฌ์šฉ
  • ํ™•์žฅ์ž๊ฐ€ .py์ธ ํŒŒ์ผ์— ์ž‘์„ฑ๋œ ํŒŒ์ด์ฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰

ํŒŒ์ด์ฌ์˜ ๊ตฌ์„ฑ

  • ํ‘œํ˜„์‹ = ๊ฐ’, ๋ณ€์ˆ˜, ์—ฐ์‚ฐ์ž ๋“ฑ์„ ์กฐํ•ฉํ•˜์—ฌ ๊ณ„์‚ฐ๋˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๋Š” ์ฝ”๋“œ ๊ตฌ์กฐ

  • ํ‰๊ฐ€(evaluate) = ํ‘œํ˜„์‹์ด๋‚˜ ๋ฌธ์žฅ์„ ์‹คํ–‰ํ•˜์—ฌ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ  ๊ฐ’์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ณผ์ •

  • =>ํ‘œํ˜„์‹์ด๋‚˜ ๋ฌธ์žฅ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ํ‰๊ฐ€ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์˜ ๋™์ž‘์„ ๊ฒฐ์ •

  • ๋ฌธ์žฅ(statement) = ์‹คํ–‰๊ฐ€๋Šฅํ•œ ๋™์ž‘์„ ๊ธฐ์ˆ ํ•˜๋Š” ์ฝ”๋“œ(์กฐ๊ฑด๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ํ•จ์ˆ˜์ •์˜ ๋“ฑ)

  • ๋ฌธ์žฅ์ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ‘œํ˜„์‹์„ ํฌํ•จํ•จ

  • ํƒ€์ž… = ๊ฐ’์ด ์–ด๋–ค์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ์ธ์ง€ ์–ด๋–ป๊ฒŒ ํ•ด์„๋˜๊ณ  ์ฒ˜๋ฆฌ ๋˜์–ด์•ผํ•˜๋Š”์ง€ ์ •์˜

  • => ๊ฐ’(ํ”ผ์—ฐ์‚ฐ์ž)๊ณผ ์—ฐ์‚ฐ์ž 2๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜

  • ๋ฐ์ดํ„ฐ ํƒ€์ž…

    • Numeric Type = ์ •์ˆ˜(int), ์‹ค์ˆ˜(float)
    • set type = set
    • sequence type = list, tuple, range
    • text sequence type = str(๋ฌธ์ž์—ด)
    • mapping type = dict
    • ๊ธฐํƒ€ = none, boolean, functions
    • ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋”•์…˜๋„ˆ๋ฆฌ ์˜ ์ฐจ์ด์ ์„ ์ž˜์•Œ์•„์•ผํ•จ
  • ์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž(์šฐ์„ ์ˆœ์œ„ ์ˆœ)

    • ** ์ง€์ˆ˜(์ œ๊ณฑ)
    • (-) ์Œ์ˆ˜๋ถ€ํ˜ธ
    • (*) ๊ณฑ์…ˆ
    • / ๋‚˜๋ˆ—์…ˆ
    • // ๋ชซ
    • % ๋‚˜๋จธ์ง€
      • ๋ง์…ˆ
      • ๋บผ์…ˆ

๋ณ€์ˆ˜

  • ๋ณ€์ˆ˜(variable) = ๊ฐ’์„ ์ฐธ์กฐํ•˜๋Š” ์ด๋ฆ„
    • ํ• ๋‹น๋ฌธ์„ ํ†ตํ•ด ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹น(๋ณ€์ˆ˜๋ช…=๊ฐ’)
    • ๋ณ€์ˆ˜

๋ณ€์ˆ˜๋ช…๊ทœ์น™

  • ์˜๋ฌธ์•ŒํŒŒ๋ฒณ,์–ธ๋”์Šค์ฝ”์–ด( _ ), ์ˆซ์ž๋กœ ๊ตฌ์„ฑ

  • ์ˆซ์ž๋กœ ์‹œ์ž‘๋ถˆ๊ฐ€

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

  • ํŒŒ์ด์ฌ ๋‚ด๋ถ€ ์˜ˆ์•ฝ์–ด๋Š” ์‚ฌ์šฉ๋ถˆ๊ฐ€

    • false, None, True, and, as, assert, async, await, break, class, continue, def, del, elif, else, except, finally, for, from, global, if, import, in, is, lambda, nonlocal, not, or, pass, raise, return, try, while, with, yield, __ peg_parser__
  • ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ๊ณ ์œ ์ฃผ์†Œ๊ฐ€ ์กด์žฌ

  • ๊ฐ์ฒด(object) = ํƒ€์ž…์„ ๊ฐ–๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ ๋‚ด ๊ฐ’

  • => ๊ฐ’์ด ๋“ค์–ด์žˆ๋Š” ์ƒ์ž

  • ๋ณ€์ˆ˜์— ์ฐธ์กฐํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๊ฒŒ ํ•˜๊ณ  ๊ณ ์œ  ๋ฉ”๋ชจ๋ฆฌ์ฃผ์†Œ์—๋Š” ๊ฐ์ฒด(๊ฐ’)์„ ์ €์žฅ

์Šคํƒ€์ผ ๊ฐ€์ด๋“œ

  • ์ฝ”๋“œ์˜ ์ผ๊ด€์„ฑ๊ณผ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒํ•˜๊ธฐ์œ„ํ•œ ๊ทœ์น™๊ณผ ๊ถŒ์žฅ์‚ฌํ•ญ๋“ค์˜ ๋ชจ์Œ
    • ๋ณ€์ˆ˜๋ช…์€ ๋ฌด์—‡์„ ์œ„ํ•œ ๋ณ€์ˆ˜์ธ์ง€ ์ง๊ด€์ ์ธ ์ด๋ฆ„์„ ๊ฐ€์ ธ์•ผํ•œ๋‹ค.
    • ๊ณต๋ฐฑ4์นธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ธ”๋ก ๋“ค์—ฌ์“ฐ๊ธฐ(tab์‚ฌ์šฉ์€ ์—๋””ํ„ฐ๊ฐ€ ๋ณ€ํ™˜ํ•ด์คฌ๊ธฐ๋•Œ๋ฌธ์— ์‚ฌ์šฉ๊ฐ€๋Šฅ)
    • ํ•œ์ค„์˜ ๊ธธ์ด๋Š” 79์ž๋กœ ์ œํ•œ, ๊ธธ์–ด์ง€๋ฉด ์ค„๋ฐ”๊ฟˆ ์‚ฌ์šฉ
    • ๋ฌธ์ž์™€ ๋ฐ‘์ค„(_)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•จ์ˆ˜,๋ณ€์ˆ˜,์†์„ฑ์˜ ์ด๋ฆ„ ์ž‘์„ฑ( ๋ฐ‘์ค„ ์“ด๊ฒƒ์„ snake_case ๋ผ ์นญํ•จ)
    • ํ•จ์ˆ˜ ์ •์˜๋‚˜ ํด๋ž˜์Šค ์ •์˜ ๋“ฑ์˜ ๋ธ”๋ก์‚ฌ์ด์—๋Š” ๋นˆ ์ค„ ์ถ”๊ฐ€( 2์ค„์„ ๊ถŒ์žฅ)
    • pep8 ์‚ฌ์ดํŠธ์—์„œ ํŒŒ์ด์ฌ ๊ฐ€์ด๋“œ ์ฐธ๊ณ 
    • ํŒŒ์ด์ฌํŠœํ„ฐ ์ฐธ๊ณ 

์ฃผ์„

  • ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ๋‚ด์— ์ž‘์„ฑ๋˜๋Š” ์„ค๋ช…์ด๋‚˜ ๋ฉ”๋ชจ
  • ์ธํ„ฐํ”„๋ฆฌํ„ฐ์— ์˜ํ•ด ์‹คํ–‰๋˜์ง€์•Š์Œ
  • (#) ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์„ฑ
  • """ """ ์—ฌ๋Ÿฌ์ค„ ์ฃผ์„์šฉ์œผ๋กœ ์‚ฌ์šฉ => ๋ณดํ†ต ์„ค๋ช…๋ฌธ ๋„ฃ์„๋–„ ์‚ฌ์šฉ
  • ์ฝ”๋“œ์˜ ํŠน์ •๋ถ€๋ถ„์„ ์„ค๋ช…ํ•  ๋•Œ
  • ์ž„์‹œ๋กœ ์ฝ”๋“œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ๋•Œ
  • ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ฑฐ๋‚˜ ๋ฌธ์„œํ™”ํ•  ๋•Œ
  • ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋‚˜ ์ž์‹ ์—๊ฒŒ ์ฝ”๋“œ์˜ ์˜๋„๋‚˜ ๋™์ž‘์„ ์„ค๋ช…ํ•  ๋•Œ

7.18

Data Types

  • ๊ฐ’์˜ ์ข…๋ฅ˜์™€ ๊ทธ ๊ฐ’์— ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ๊ณผ ๋™์ž‘์„ ๊ฒฐ์ • ํ•˜๋Š” ์†์„ฑ

    • Numeric Type = ์ •์ˆ˜(int), ์‹ค์ˆ˜(float), complex(๋ณต์†Œ์ˆ˜)
    • set type = set, dict
    • sequence type = list, tuple, range
    • text sequence type = str(๋ฌธ์ž์—ด)
    • mapping type = dict
    • ๊ธฐํƒ€ = none, boolean, functions
    • ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋”•์…˜๋„ˆ๋ฆฌ ์˜ ์ฐจ์ด์ ์„ ์ž˜์•Œ์•„์•ผํ•จ
  • ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ํ•„์š”ํ•œ ์ด์œ 

    • ๊ฐ’๋“ค์„ ๊ตฌ๋ถ„ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ๋‹ค๋ค„์•ผ ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Œ.
    • ๊ฐ ๋ฐ์ดํ„ฐ ๊ฐ’์— ์ ํ•ฉํ•œ ๋„๊ตฌ๋ฅผ ๊ฐ€์ง
    • ํƒ€์ž…์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์—ฌ, ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ์‚ฌ๋žŒ์ด ๋ณ€์ˆ˜์˜ ์˜๋„๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ , ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์˜ค๋ฅ˜๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ๋ฐฉ

Numeric Type

int = ์ •์ˆ˜ ์ž๋ฃŒํ˜•

* 2์ง„์ˆ˜(binary) = 0b    [print(0b10) #2]
* 8์ง„์ˆ˜(octal) = 0o     [print(0x30) #24]
* 16์ง„์ˆ˜(hexadeciaml) = 0x     [print(0x10) #16]

* print(bin(12))	= 0b1100
* print(oct(12))	= 0o14
* print(hex(12))	= 0xc

float = ์‹ค์ˆ˜ ์ž๋ฃŒํ˜•(์‹ค์ˆ˜์— ๋Œ€ํ•œ ๊ทผ์‚ฟ๊ฐ’)

* ์œ ํ•œ ์ •๋ฐ€๋„
     * 0.66666666666666666 = 2/3์— ๋Œ€ํ•œ ๊ทผ์‚ฟ๊ฐ’
     * 1.66666666666666667 = 5/3์— ๋Œ€ํ•œ ๊ทผ์‚ฟ๊ฐ’
     * ์ปดํ“จํ„ฐ๋Š” 2์ง„์ˆ˜๋ฅผ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— 0.1์„ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋ฉด ๋ฌดํ•œ๋Œ€๋กœ ๋ฐ˜๋ณต
     * => ๋ฌดํ•œ๋Œ€์ˆซ์ž๋ฅผ ํ‘œํ˜„ ํ• ์ˆ˜ ์—†์–ด 10์ง„๋ฒ•์˜ ๊ทผ์‚ฌ๊ฐ’์„ ํ‘œ์‹œ
     * ์ด๋Ÿฐ ์ฆ์ƒ์„ floating point rounding error ๋ผ๊ณ  ํ•จ
  • ์‹ค์ˆ˜ ์—ฐ์‚ฐ ์‹œ ํ•ด๊ฒฐ์ฑ…
      1. ์ž„์˜์˜ ์ž‘์€ ์ˆ˜ ํ™œ์šฉ
      1. math ๋ชจ๋“ˆ ํ™œ์šฉ
  • ![์‹ค์ˆ˜ ์—ฐ์‚ฐ์‹œ ํ•ด๊ฒฐ์ฑ…](์‚ฌ์ง„1 ์‹ค์ˆ˜ ์—ฐ์‚ฐ์˜ ํ•ด๊ฒฐ์ฑ….png)
    • ์ง€์ˆ˜ ํ‘œํ˜„ ๋ฐฉ์‹
      • 314 * 0.01 = 314e - 2 = 314**(-2)
      • e = 10^

Sequence Type = ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด ํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒํ˜•

* ( str, list, tuple, range )
* ์ˆœ์„œ(sequence) = ๊ฐ’๋“ค์ด ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅ (์ •๋ ฌXXX)
* ์ธ๋ฑ์‹ฑ(indexing) = ๊ฐ ๊ฐ’์— ๊ณ ์œ ์ธ๋ฑ์Šค(๋ฒˆํ˜ธ)๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์œ„์น˜ ๊ฐ’์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Œ
* ์Šฌ๋ผ์ด์‹ฑ(slicing) = ์ธ๋ฑ์Šค ๋ฒ”์œ„๋ฅผ ์กฐ์ ˆํ•ด ๋ถ€๋ถ„์ ์ธ ๊ฐ’์„ ์ถ”์ถœ ๊ฐ€๋Šฅ
* ๊ธธ์ด(legnth) =  len()ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅ๋œ ๊ฐ’์˜ ๊ฐฏ์ˆ˜(๊ธธ์ด)๋ฅผ ๊ตฌํ•  ์ˆ˜ ์žˆ์Œ
* ๋ฐ˜๋ณต(lteration) = ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ €์žฅ๋œ ๊ฐ’๋“ค์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ
* 5๊ฐ€์ง€ ๋ชจ๋‘ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๊ณ  ๊ฐ€๋ณ€,๋ถˆ๋ณ€์— ๋”ฐ๋ผ ๋‚˜๋ˆŒ์ˆ˜ ์žˆ์Œ

str = ๋ฌธ์ž์—ด( ๋ถˆ๋ณ€ ์‹œํ€ธ์Šค์ž๋ฃŒํ˜• )

  • ๋ฌธ์ž์—ด์€ ์—ฌ๋Ÿฌ ๋ฌธ์ž์˜ ์กฐํ•ฉ

  • ์ž‘์€ ๋”ฐ์˜ดํ‘œ(') ๋˜๋Š” ํฐ๋”ฐ์˜ดํ‘œ(") ์œผ๋กœ ๊ฐ์‹ธ์„œ ํ‘œํ˜„

    • ์ค‘์ฒฉ๋”ฐ์˜ดํ‘œ => ์ž‘์€ ๋”ฐ์˜ดํ‘œ ์•ˆ์— ํฐ๋”ฐ์˜ดํ‘œ๋กœ ํ‘œํ˜„, ํฐ๋”ฐ์˜ดํ‘œ ์•ˆ์— ์ž‘์€ ๋”ฐ์˜ดํฌ๋กœ ํ‘œํ˜„
    • " ๊ฐ€๋‚˜๋‹ค๋ผ๋งˆ๋ฐ”์‚ฌ'์•„์ž์ฐจ์นด'ํƒ€ํŒŒํ•˜"
  • ์—ญ์Šฌ๋ž˜์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ˆ˜ํ•œ ๊ธฐ๋Šฅ ์‚ฌ์šฉ

    • \n = ์ค„๋ฐ”๊ฟˆ
    • \t = ๋ฌธ์ž ์‚ฌ์ด ํƒญ ์‚ฝ์ž…
    • \\ = ๋ฐฑ์Šฌ๋ž˜์‹œ
    • \' = ์ž‘์€ ๋”ฐ์˜ดํ‘œ
    • \" = ํฐ๋”ฐ์˜ดํ‘œ
      • print( '์ฒ ์ˆ˜์•ผ \' ์•ˆ๋…• \' ' ) = ์ฒ ์ˆ˜์•ผ '์•ˆ๋…•'
  • string Interpolation = ๋ฌธ์ž์—ด ๋‚ด ๋ณ€์ˆ˜๋‚˜ ํ‘œํ˜„์‹์„ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•

    • f-string = f ๋˜๋Š” F ์ ‘๋‘์–ด๋ฅผ ๋ถ™์ด๊ณ  ํ‘œํ˜„์‹์„ {expression}์œผ๋กœ ์ž‘์„ฑํ•˜์—ฌ ๋ฌธ์ž์—ด์— ํŒŒ์ด์ฌ ํ‘œํ˜„์‹์˜ ๊ฐ’์„ ์‚ฝ์ž…ํ•จ.
    • print(f'Debugging {bugs} {counts} {area}') => {} ์ž๋ฆฌ์— ๊ฐ ๋ณ€์ˆ˜์— ์ž…๋ ฅ๋œ ๊ฐ’์ด ์ถœ๋ ฅ
    • (์ด์ „์—๋Š” .format ์ด๋ผ๋Š” ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ ํ•˜์˜€์œผ๋‚˜ ์ตœ๊ทผ์—๋Š” f-string ์‚ฌ์šฉ)
    • (๋” ์ด์ „์—๋Š” %s, %d, %f ๋“ฑ์„ ์‚ฌ์šฉํ–ˆ์Œ )
    • ์ธ๋ฑ์‹ฑ = ๊ทธ ์ž๋ฆฌ์˜ ์š”์†Œ ์ฐพ์•„์˜ค๊ธฐ // ์Šฌ๋ผ์ด์‹ฑ = ๊ทธ ์‚ฌ์ด์˜ ์ž๋ฆฌ ์š”์†Œ ์ฐพ์•„์˜ค๊ธฐ // ๊ธธ์ด = ์š”์†Œ์˜ ๊ฐฏ์ˆ˜
    • ![๋ฌธ์ž์—ด ์‹œํ€ธ์Šค ํŠน์ง•](์‚ฌ์ง„2 ๋ฌธ์ž์—ด ์‹œํ€€์Šค ํŠน์ง•.png)
  • ์ธ๋ฑ์Šค = ์‹œํ€€์Šค ๋‚ด์˜ ๊ฐ’๋“ค์— ๋Œ€ํ•œ ๊ณ ์œ  ๋ฒˆํ˜ธ, ๊ฐ ๊ฐ’์˜ ์œ„์น˜๋ฅผ ์‹๋ณ„

    • ![์‚ฌ์ง„3](์‚ฌ์ง„3 ์ธ๋ฑ์Šค.png)
  • ์Šฌ๋ผ์ด์‹ฑ = ์‹œํ€ธ์Šค์˜ ์ผ๋ถ€๋ฒ”์œ„๋ฅผ ์ถ”์ถœํ•˜์—ฌ ์ƒˆ๋กœ์šด ์‹œํ€ธ์Šค๋ฅผ ์ƒ์„ฑ

    • ![์‚ฌ์ง„4](์‚ฌ์ง„4 ์Šฌ๋ผ์ด์‹ฑ.png)
    • ์Šฌ๋ผ์ด์‹ฑ ๋ฒ”์œ„์˜ ๋งˆ์ง€๋ง‰์€ ์˜ˆ์™ธ
    • [ :3] ์ด๋ผ๋ฉด ์ฒ˜์Œ๋ถ€ํ„ฐ 3๊นŒ์ง€ // ์ฒ˜์Œ์ด๋ผ๋Š” ๊ฐ’์€ ์ž‘์„ฑX
    • [3: ] ์ด๋ผ๋ฉด 3๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๊นŒ์ง€ // ๋งˆ์ง€๋ง‰ ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€
    • ๋งˆ์ง€๋ง‰์— -1 ์€ ์‹œ์ž‘์ง€์ ์ด 0์ด๋ผ๋Š” ์ธ๋ฑ์Šค์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ๊ฒƒ์ด๋‹ค !
    • ![์‚ฌ์ง„5](์‚ฌ์ง„5 ์Šฌ๋ผ์ด์‹ฑ.png)
    • [0:5:2] 0๋ถ€ํ„ฐ5๊นŒ์ง€ (step)2์นธ์”ฉ ์ถ”์ถœ
    • [ : : -1] step์„ ์Œ์ˆ˜๋กœ ์ถ”์ถœํ•  ์‹œ ๊ฑฐ๊พธ๋กœ ์ฝํ˜€ hello๊ฐ€ olleh๋กœ ์ถ”์ถœ => ๋ฌธ์ž์—ด ๋’ค์ง‘๊ธฐ
    * greeting[start:end:step]
    * step>0 ์ด๋ฉด start๊ฐ€ 0์ด๋ฏ€๋กœ end-1
    * step<0 ์ด๋ฉด start๊ฐ€ -1์ด๋ฏ€๋กœ end+1

=> ๋ฌธ์ž์—ด์€ ๋ถˆ๋ณ€์ž…๋‹ˆ๋‹ค. ์žŠ์ง€๋งˆ์„ธ์š”. ํ•„์š”ํ•˜๋ฉด ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๊ธฐ.

list = ๊ฐ€๋ณ€ ์‹œํ€ธ์Šค ์ž๋ฃŒํ˜•

  • ๋ฆฌ์ŠคํŠธ๋Š” 0๊ฐœ ์ด์ƒ์˜ ๊ฐ์ฒด ํฌํ•จํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ชฉ๋ก ์ €์žฅ // ๋นˆ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅ

  • ๋Œ€๊ด„ํ˜ธ( [ ] )๋กœ ํ‘œ์‹œ

  • ์–ด๋– ํ•œ ์ž๋ฃŒํ˜•๋„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ

    • [ 1, 2, 3 'pyhthon' , ['hello', 'world' , '!!!']] => 5๊ฐœ์˜ ์ž๋ฃŒ
  • ์ค‘์ฒฉ๋œ ๋ฆฌ์ŠคํŠธ์˜ ์ ‘๊ทผ

    • ![์‚ฌ์ง„6](์‚ฌ์ง„6 ์ค‘์ฒฉ๋ฆฌ์ŠคํŠธ ์ ‘๊ทผ.png)
    • [4][-1] 4๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ -1 ์ฆ‰ ๋ฌธ์ž์—ด์˜ ๋งˆ์ง€๋ง‰ ๊ฐ’ '!!!' ์ถœ๋ ฅ
    • [-1][1][0] 3๋‹จ๊ณ„๋ฅผ ๊ฑธ์ณ w ์ถœ๋ ฅ
  • ๊ฐ€๋ณ€ํ˜• !! ์ธ๋ฑ์Šค๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฐ’์„ ์ž…๋ ฅ๊ฐ€๋Šฅ

    • ![์‚ฌ์ง„7](์‚ฌ์ง„7 ๋ฆฌ์ŠคํŠธ ๊ฐ€๋ณ€.png)

Tuple = ๋ถˆ๋ณ€ ์‹œํ€ธ์Šค ์ž๋ฃŒํ˜•

  • 0๊ฐœ ์ด์ƒ์˜ ๊ฐ์ฒด ํฌํ•จ // ๋นˆ ํŠœํ”Œ ๊ฐ€๋Šฅ

  • ์†Œ๊ด„ํ˜ธ๋กœ( () )๋กœ ํ‘œ์‹œ

  • ์–ด๋–ค ์ž๋ฃŒํ˜•๋„ ์ €์žฅ ๊ฐ€๋Šฅ

  • ํ•˜๋‚˜์˜ ์ž๋ฃŒํ˜•๋งŒ ์žˆ์–ด๋„ (1, ) ์œผ๋กœ " , " ๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•จ

  • ๋ฆฌ์ŠคํŠธ์™€ ์œ ์‚ฌํ•˜๋‚˜ ๋ถˆ๋ณ€ ๋ฐ์ดํ„ฐ ์ž๋ฃŒํ˜•

    • => ๊ฐœ๋ฐœ์ž๊ฐ€ ์“ฐ๊ธฐ๋ณด๋‹ค๋Š” ํŒŒ์ด์ฌ์˜ ๋‚ด๋ถ€ ๋™์ž‘์—์„œ ์‚ฌ์šฉ๋Œ
  • ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ํ• ๋‹นํ•˜์—ฌ ๊ทธ๋ฃนํ™” ํ• ๋•Œ ์‚ฌ์šฉ

    • x, y =(10, 20) ์ด๋Ÿด ๋•Œ ์‚ฌ์šฉ
    • => ๊ฐœ๋ฐœ์ž๊ฐ€ ์“ฐ์ผ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ฒŒ ์˜์‹ํ•˜์ง€ ์•Š์•„๋„ ๋Œ

range = ์—ฐ์†๋œ ์ •์ˆ˜ ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ถˆ๋ณ€ ์ž๋ฃŒํ˜•

  • range(n)

    • 0๋ถ€ํ„ฐ n-1๊นŒ์ง€์˜ ์ˆซ์ž ์‹œํ€€์Šค
  • range(n,m)

    • n ๋ถ€ํ„ฐ m-1๊นŒ์ง€์˜ ์ˆซ์ž ์‹œํ€€์Šค
  • ๋งˆ์ง€๋ง‰์— -1 ์€ ์‹œ์ž‘์ง€์ ์ด 0์ด๋ผ๋Š” ์ธ๋ฑ์Šค์˜ ํŠน์„ฑ์„ ๊ณ ๋ คํ•œ๊ฒƒ์ด๋‹ค !

  • range(n,m,s)

    • n ๋ถ€ํ„ฐ m-1๊นŒ์ง€ s๋งˆ๋‹ค ๊ฑด๋„ˆ๋›ด ์ˆซ์ž ์‹œํ€ธ์Šค
    • range[start๐Ÿ”šstep]
    • start < end = start๋ถ€ํ„ฐ end-1๊นŒ์ง€ step๋งŒํผ ์ฆ๊ฐ€
    • start > end = start๋ถ€ํ„ฐ end+1๊นŒ์ง€ step๋งŒํผ ๊ฐ์†Œ
  • ![์‚ฌ์ง„8](์‚ฌ์ง„8 range ์‚ฌ์šฉ๋ฒ•.png)

    • ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ’์„ ํ™œ์šฉํ•จ

Non-Sequence Types

dict = ๋”•์…”๋„ˆ๋ฆฌ (์ˆœ์„œ์™€ ์ค‘๋ณต์ด ์—†๋Š” ๊ฐ€๋ณ€ ์ž๋ฃŒํ˜•)

  • Key : value ์˜ ์„ธํŠธ ํ˜•ํƒœ
    • key๋Š” ๋ถˆ๋ณ€ํ˜• ์ž๋ฃŒํ˜•๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ(str, int, float, tuple, range ...)
    • value๋Š” ๋ชจ๋“  ์ž๋ฃŒํ˜• ์‚ฌ์šฉ๊ฐ€๋Šฅ
  • ์ค‘๊ด„ํ˜ธ ( {} )๋กœ ํ‘œ๊ธฐ
  • ![์‚ฌ์ง„9](์‚ฌ์ง„9 ๋”•์…”๋„ˆ๋ฆฌ.png)
    • Key๋ฅผ ํ™œ์šฉํ•˜์—ฌ value์— ์ ‘๊ทผ // ๋Œ€๊ด„ํ˜ธ ( [] )๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐ’์„ ์ถ”์ถœ
    • ๊ฐ€๋ณ€ํ˜•์ด๊ธฐ์— ํ‚ค๋ฅผ ํ™œ์šฉํ•ด value๊ฐ’ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ
# dict์•ˆ์— dict ๋˜์žˆ๋Š”๊ฒฝ์šฐ
my_dict = {
    'a1' : {'b1':1, 'b2':2, 'b3':3},
    'a2' : {'b1':4, 'b2':5, 'b3':6},
    'a3' : {'b1':7, 'b2':8, 'b3':9}
}
# value 5๋ฅผ ์ถœ๋ ฅ
print(my_dict['a2']['b2'])
# ๋‹ค๋ฅธ๋ฐฉ๋ฒ• .get( ) ์„ ์‚ฌ์šฉํ•œ๋‹ค
print(my_dict.get('a2').get('b2'))

set = ์„ธํŠธ ( ์ˆœ์„œ์™€ ์ค‘๋ณต์ด ์—†๋Š” ๊ฐ€๋ณ€ ์ž๋ฃŒํ˜•)

  • ์ˆ˜ํ•™์—์„œ์˜ ์ง‘ํ•ฉ์ด๋ผ ๋ณด๋ฉด ๋Œ
  • ์ค‘๊ด„ํ˜ธ ( {} )๋กœ ํ‘œ๊ธฐ
  • ๋นˆ ์ž๋ฃŒํ˜•์€ ๊ผญ "set( )" ๋กœ ํ‘œ๊ธฐ ํ•ด์•ผํ•จ ( ๋”•์…”๋„ˆ๋ฆฌ์™€ ๊ฒน์น˜๊ธฐ ๋•Œ๋ฌธ )
  • ![์‚ฌ์ง„10](์‚ฌ์ง„10 ์„ธํŠธ ์—ฐ์‚ฐ.png)
    • ์ˆ˜ํ•™์˜ ์ง‘ํ•ฉ๊ณผ ๋˜‘๊ฐ™์€ ์—ฐ์‚ฐ
    • | ํ•ฉ์ง‘ํ•ฉ // - ์ฐจ์ง‘ํ•ฉ // & ๊ต์ง‘ํ•ฉ //
    • ํŠœํ”Œ๊ณผ ๊ฐ™์ด ์กฐ๊ธˆ ๋…ํŠนํ•˜๋‹ค
# set ์‹ค์Šต
set_1 = { 1,2,3,4,5,6,7,8,8,9,10}
set_2 = {2,3,5,6,8,9,11}
# ํ•ฉ์ง‘ํ•ฉ
print(set_1 | set_2)
# ์ฐจ์ง‘ํ•ฉ
print(set_1 - set_2)
# ๊ต์ง‘ํ•ฉ
print(set_1 & set_2)
# ์„ธํŠธ์˜ ์‚ฌ์šฉ์˜ˆ์‹œ - ๋กœ๋˜๋ฒˆํ˜ธ ์ถ”์ฒจ
import random

lotto_set=set()

while len(lotto_set) < 6 :
    number = random.randint(1,45)
    lotto_set.add(number) #set์— ์ถ”๊ฐ€ํ•˜๋Š” .add

lotto_list = list(lotto_set)
lotto_list.sort  # sort๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
print(lotto_list)

Other Types

None = ๊ฐ’์ด ์—†์„ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•

  • 0์ด๋ž‘์€ ๋‹ค๋ฅด๊ฒŒ ์ •๋ง ๊ฐ’์ด ์—†๋‹ค ๋ผ๋Š” ๊ฒƒ์„ ํ‘œํ˜„

boolean = ์ฐธ๊ณผ ๊ฑฐ์ง“์„ ํ‘œํ˜„ํ•˜๋Š” ์ž๋ฃŒํ˜•

  • True ์™€ False
  • ๋น„๊ต / ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์˜ ํ‰๊ณผ ๊ฒฐ๊ณผ๋กœ ์‚ฌ์šฉ
  • ์ฃผ๋กœ ์กฐ๊ฑด/ ๋ฐ˜๋ณต๋ฌธ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ
  • ![์‚ฌ์ง„11](์‚ฌ์ง„11 ๋ถˆ๋ฆฐ.png)

collection = ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•ญ๋ชฉ์„ ๋‹ด๋Š” ์ž๋ฃŒ๊ตฌ์กฐ

  • str, list, tuple, set, dict
  • ![์‚ฌ์ง„12](์‚ฌ์ง„12 collection.png)
    • ๋ถˆ๋ณ€/๊ฐ€๋ณ€๊ณผ ์ˆœ์„œ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‚˜๋ˆ ์ง„๋‹ค
    • range๋Š” ๋ฌด์˜๋ฏธํ•˜๋‹ค์šฉ
  • ๋ถˆ๋ณ€๊ณผ ๊ฐ€๋ณ€์˜ ์ฐจ์ด
    • ๋ถˆ๋ณ€์€ ํ•˜๋‚˜์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ํ• ๋‹นํ•ด์„œ ๋ฐ”๊ฟ€์ˆ˜์—†๋‹ค
    • ๊ฐ€๋ณ€์€ ๊ฐ๊ฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ํ•˜๋‚˜์˜ ๊ฐ’์„ ํ• ๋‹นํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.
    • ํ•˜์—ฌ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๋ฅผ ๋ชจ์•„๋†“์€ ์ปฌ๋ ‰์…˜ ์ด๋ผ ์นญํ•จ
List_1 = [1, 2, 3,]
List_2 = List_1

List_1[0] = 100
print(List_1) # [100, 2, 3]
print(List_2) # [100, 2, 3]
  • ๋ฆฌ์ŠคํŠธ๋Š” ๊ฐ™์€ ๊ณณ์„ ๋ณต์‚ฌํ•˜์—ฌ ๋ณ€ํ™˜์‹œํ‚ค์ง€ ์•Š์•„๋„ ๋˜‘๊ฐ™์•„์ง // ํ”„๋ ˆ์ž„์€ ๋‹ค๋ฅด๋‚˜ ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•˜๊ฒŒ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๋ฌธ์ž์—ด : ' ' ๋ถˆ๋ณ€ ์‹œํ€ธ์Šค ์ž๋ฃŒํ˜• -> ์•Œ๊ณ ๋ฆฌ์ฆ˜ IMํ˜• ๋ฌธ์žํ˜• ํŒŒ์‹ฑ(์ธ๋ฑ์‹ฑ, ์Šฌ๋ผ์ด์‹ฑ ๋“ฑ)

๋ฆฌ์ŠคํŠธ : [ ] ๊ฐ€๋ณ€ ์‹œํ€ธ์Šค ์ž๋ฃŒํ˜• -> ์•Œ๊ณ ๋ฆฌ์ฆ˜ IMํ˜• ๋ฐฉํ–ฅ๋ฐฐ์—ด ๋“ฑ ,,, Aํ˜• DFS,BFS

ํŠœํ”Œ : ( ) ๋ถˆ๋ณ€ ์‹œํ€ธ์Šค ์ž๋ฃŒํ˜• -> ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฉํ–ฅ๋ฐฐ์—ด

๋ ˆ์ธ์ง€ : ์ƒ์„ฑํ˜• ๋ถˆ๋ณ€ ์‹œํ€€์Šค ์ž๋ฃŒํ˜•

๋”•์…”๋„ˆ๋ฆฌ : ๊ฐ€๋ณ€ ๋น„์‹œํ€ธ์Šค ์ž๋ฃŒํ˜•-> ket : value -> DB์˜ Json ํ˜•์‹๊ณผ ๋น„์Šท

์„ธํŠธ : ๊ฐ€๋ณ€ ๋น„์‹œํ€ธ์Šค ์ž๋ฃŒํ˜• -> ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ -> ์ง‘ํ•ฉ

ํ–‰- ๊ฐ€๋กœ ํ•œ์ค„์„ ๋œปํ•จ
์—ด- ์„ธ๋กœ ํ•œ์ค„์„ ๋œปํ•จ

1ํ–‰     1์—ด 2์—ด 3์—ด 4์—ด
2ํ–‰
3ํ–‰
4ํ–‰

Type Conversion = ํ˜•๋ณ€ํ™˜

lmplicit Type Conversion = ์•”์‹œ์  ํ˜• ๋ณ€ํ™˜

  • ํŒŒ์ด์ฌ์ด ์ž๋™์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•˜๋Š” ๊ฒƒ
  • Boolean๊ณผ Numeric Type์—์„œ๋งŒ ๊ฐ€๋Šฅ ์ •์ˆ˜ -> False = 0 ์‹ค์ˆ˜ -> False = 0.0 ๋ฌธ์ž์—ด -> False = "" (๊ณต๋ฐฑ์•„๋‹ˆ๊ณ  ์•„์˜ˆ ์—†์–ด์•ผํ•จ)
  • ![์‚ฌ์ง„13](์‚ฌ์ง„13 ์•”์‹œ์  ํ˜•๋ณ€ํ™˜.png)
  • ๋•Œ๋ฌธ์— ๋”ํ–ˆ์„๋•Œ ๊ฐ’์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ๋Œ
  • ์ •์ˆ˜ + ์‹ค์ˆ˜= ์‹ค์ˆ˜

Explicit Type Conversion = ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜

  • ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ˜•๋ณ€ํ™˜ ์‹œํ‚ค๋Š” ๊ฒƒ
  • str(๋ฌธ์ž์—ด) -> integer : ํ˜•์‹์— ๋งž๋Š” ์ˆซ์ž๋งŒ ๊ฐ€๋Šฅ
  • integer -> str : ๋ชจ๋‘ ๊ฐ€๋Šฅ
print(int('1')) #1
print(str(1)+'๋“ฑ' #1๋“ฑ
print(float( '3.5' )) # 3.5
print(int( 3.5 ) ) #3 // ํ˜•๋ณ€ํ™˜ํ• ๋•Œ๋Š” ๋ฒ„๋ฆผ์ด ๋œ๋‹ค.
prunt(int( '3.5' ) ) # ์—๋Ÿฌ๋ฐœ์ƒ
=> print( int( float('3.5') ) )  # 3
  • ![์‚ฌ์ง„14](์‚ฌ์ง„14 ํ˜•๋ณ€ํ™˜.PNG)

์—ฐ์‚ฐ์ž

์‚ฐ์ˆ  ์—ฐ์‚ฐ์ž

  • ![์‚ฌ์ง„15](์‚ฌ์ง„15 ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž.PNG)

๋ณตํ•ฉ์—ฐ์‚ฐ์ž

  • ![์‚ฌ์ง„16](์‚ฌ์ง„16 ๋ณตํ•ฉ์—ฐ์‚ฐ์ž”.PNG)

๋น„๊ต ์—ฐ์‚ฐ์ž

  • ![์‚ฌ์ง„17](์‚ฌ์ง„17 ๋น„๊ต์—ฐ์‚ฐ์ž.PNG)
  • ํ•ญ์ƒ ๋ถ€๋“ฑํ˜ธ๊ฐ€ ๋จผ์ € ์‚ฌ์šฉ๋˜์–ด์•ผํ•จ
  • ==, !=์€ ๋™๋“ฑ์„ฑ์„ ๋„๊ณ  ๊ฐ’์„ ํ™•์ธํ•˜๋‚˜ is์™€ is not์€ ์‹๋ณ„์„ฑ์„ ๋„๊ณ  ๋ ˆํผ๋Ÿฐ์Šค(์ฃผ์†Œ)๋ฅผ ๋น„๊ตํ•œ๋‹ค.
  • is ์—ฐ์‚ฐ์ž๋Š” ๋˜๋„๋ก์ด๋ฉด None, True, False ๋“ฑ์„ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉ!
print(2.0 == 2) # True
print(2,0 is 2) #False

a=3
b=3
print(a==b) #True
print(a is b) #False

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

  • and(๋…ผ๋ฆฌ๊ณฑ) = ๋ชจ๋‘ ๋‹ค ์ฐธ์ด์—ฌ์•ผ True
  • or(๋…ผ๋ฆฌํ•ฉ) = ํ•˜๋‚˜ ๋งŒ ์ฐธ์ด์—ฌ๋„ True
  • not(๋…ผ๋ฆฌ๋ถ€์ •) = True-> False // False->True
  • ๋น„๊ต ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค

๋‹จ์ถ•ํ‰๊ฐ€์˜ˆ์‹œ

  • ![์‚ฌ์ง„18](์‚ฌ์ง„18 ๋‹จ์ถ•ํ‰๊ฐ€.PNG)
  • and
    • ์ฒซ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ False๋ผ๋ฉด ์ „์ฒดํ‘œํ˜„์‹์€ False์ด๋ฉฐ ๋‘๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ๋ฌด์‹œ
    • ์ฒซ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ True๋ผ๋ฉด ๋‘๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋ฉฐ, ๋‘๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜
  • or
    • ์ฒซ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ True๋ผ๋ฉด ์ „์ฒดํ‘œํ˜„์‹์€ True์ด๋ฉฐ ๋‘๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๋Š” ๋ฌด์‹œ
    • ์ฒซ๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ False๋ผ๋ฉด ๋‘๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž์— ์˜ํ•ด ๊ฒฐ์ •๋˜๋ฉฐ, ๋‘๋ฒˆ์งธ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜
  • a์™€b๊ฐ€ ๊ณต๋ฐฑ์ด ์•„๋‹ˆ๊ธฐ๋•Œ๋ฌธ์— true์ด๋ฉฐ ๋‘๋ฒˆ์งธ ์—ฐ์‚ฐ์ž์ธ b๊ฐ€ ํฌํ•จ๋˜์ง€์•Š๊ธฐ์— false
  • a์™€b๊ฐ€ ๊ณต๋ฐฑ์ด ์•„๋‹ˆ๊ธฐ๋•Œ๋ฌธ์— true์ด๋ฉฐ ๋‘๋ฒˆ์งธ ์—ฐ์‚ฐ์ž์ธ a๊ฐ€ ํฌํ•จ๋˜๊ธฐ๋•Œ๋ฌธ์— True

๋‹จ์ถ•ํ‰๊ฐ€๋Š” ์ฝ”๋“œ์‹คํ–‰์„ ์ตœ์ ํ™”ํ•˜์—ฌ, ๋ถˆํ•„์š”ํ•œ ์—ฐ์‚ฐ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‹œํ–‰.

๋ฉค๋ฒ„์‰ฝ ์—ฐ์‚ฐ์ž

  • in = ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ์‹œํ€ธ์Šค์— ์†ํ•˜๋Š”์ง€๋ฅผ ํ™•์ธ!
  • not in = ์™ผ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž๊ฐ€ ์˜ค๋ฅธ์ชฝ ํ”ผ์—ฐ์‚ฐ์ž์˜ ์‹œํ€ธ์Šค์— ์†ํ•˜์ง€์•Š๋Š”์ง€๋ฅผ ํ™•์ธ!
  • ![์‚ฌ์ง„19](์‚ฌ์ง„19 ๋ฉค๋ฒ„์‰ฝ์—ฐ์‚ฐ์ž.PNG)

์‹œํ€ธ์Šคํ˜• ์—ฐ์‚ฐ์ž

  • ์‹œํ€ธ์Šค ๊ฐ„ ์—ฐ์‚ฐ์—์„œ ์‚ฌ์šฉ๋  ๋•Œ ๋‹ค๋ฅธ ์—ญํ• ์„ ๊ฐ€์ง
    • ๊ฒฐํ•ฉ ์—ฐ์‚ฐ์ž
    • ๋ฐ˜๋ณต ์—ฐ์‚ฐ์ž
  • ![์‚ฌ์ง„20](์‚ฌ์ง„20 ์‹œํ€ธ์Šคํ˜•์—ฐ์‚ฐ์ž.PNG)

์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„

  • ![์‚ฌ์ง„21](์‚ฌ์ง„21 ์—ฐ์‚ฐ์ž ์šฐ์„ ์ˆœ์œ„.PNG)

7.19

Functions ํ•จ์ˆ˜ = ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ ํ•˜๊ธฐ ์œ„ํ•œ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ ๋ฌถ์Œ

  • ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๊ณ , ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์ด ํ–ฅ์ƒ
  • ๋””๋ฒ„๊น… ํ•˜๊ธฐ ์šฉ์ดํ•˜๋‹ค.

๋‚ด์žฅํ•จ์ˆ˜(built-in function) = ํŒŒ์ด์ฌ์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜

  • ์ ˆ๋Œ€๊ฐ’ ํ•จ์ˆ˜ abs( ) // sum // str // type // input // int
  • ์ถœ๋ ฅํ•จ์ˆ˜ print( ) ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค.
  • ์œ„์ฒ˜๋Ÿผ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜์˜ ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜๋Š”๊ฒƒ์„ ํ•จ์ˆ˜ ํ˜ธ์ถœ (fuction call) ์ด๋ผ ํ•œ๋‹ค.

ํ•จ์ˆ˜๊ตฌ์กฐ

  • ![์‚ฌ์ง„1](์‚ฌ์ง„1 ํ•จ์ˆ˜๊ตฌ์กฐ.png)
  • def ํ•˜์—ฌ ํ•จ์ˆ˜์˜ ์ด๋ฆ„๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ง€์ •ํ•ด์ฃผ๊ณ ,
  • return ํ•˜์—ฌ ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜ ๊ณ„์‚ฐ ๊ฐ’์„ ์ง€์ •ํ•ด์ค€๋‹ค.
  • ์ฃผ์„์„ ํ†ตํ•ด ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์„ค๋ช…์„œ๋ฅผ ์ž‘์„ฑํ•ด์ค€๋‹ค.

ํ•จ์ˆ˜ ์ •์˜

  • def ํ‚ค์›Œ๋“œ๋กœ ์‹œ์ž‘
  • ์ดํ›„ ํ•จ์ˆ˜์ด๋ฆ„ ์ž‘์„ฑ
  • ๊ด„ํ˜ธ์•ˆ์— ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ •์˜
    • ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•จ์ˆ˜์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’
  • ![์‚ฌ์ง„2](์‚ฌ์ง„2 ํ•จ์ˆ˜์ •์˜.png)

ํ•จ์ˆ˜ body

  • def ~~ : ๋‹ค์Œ์— ๋“ค์—ฌ์“ฐ๊ธฐ๋œ ์ฝ”๋“œ๋ธ”๋ก
  • ํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋  ๋•Œ ์ˆ˜ํ–‰๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ •์˜
  • ์ฃผ์„์„ ์ด์šฉํ•ด ์„ค๋ช…์„ ์„ ํƒ์ ์œผ๋กœ ์ž‘์„ฑ๊ฐ€๋Šฅ

ํ•จ์ˆ˜ ๋ฐ˜ํ™˜๊ฐ’

  • return ์„ ์ด์šฉํ•ด ํ•„์š”ํ•  ๊ฒฝ์šฐ ๋ฐ˜ํ™˜ํ•  ๊ฐ’์„ ๋ช…์‹œํ•  ์ˆ˜ ์žˆ์Œ
  • ํ•จ์ˆ˜์˜ ์‹คํ–‰์„ ์ข…๋ฃŒํ•˜๊ณ  ํ˜ธ์ถœ๋ถ€๋ถ„์œผ๋กœ ๋ฐ˜ํ™˜
  • result๊ฐ€ None์ด ๋œฌ๋‹ค๋ฉด return์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์€ ๊ฒƒ
  • ![์‚ฌ์ง„3](์‚ฌ์ง„3 ํ•จ์ˆ˜body์™€ ๋ฐ˜ํ™˜.png)

ํ•จ์ˆ˜ ์ •์˜ ๋ฐ ํ˜ธ์ถœ

def ํ•จ์ˆ˜๋ช…(๋งค๊ฐœ๋ณ€์ˆ˜)
    ์ฝ”๋“œ (ํ•จ์ˆ˜๋ฐ”๋””)
return ~~~ (ํ•จ์ˆ˜๋ฐ˜ํ™˜๊ฐ’)
์ธํ’‹์€ ํŒŒ๋ผ๋ฏธํ„ฐ, ์•„์›ƒํ’‹์€ ๋ฆฌํ„ด ๋ฒจ๋ฅ˜

# ํ•จ์ˆ˜ํ˜ธ์ถœ
ํ•จ์ˆ˜๋ช…(ํ•จ์ˆ˜์ธ์ž)

๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ์žˆ์„์ˆ˜๋„ ์žˆ๊ณ  ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ฐ˜ํ™˜๊ฐ’์€ ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์—†์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. 

-> ์ด 4๊ฐ€์ง€ ์œ ํ˜•์˜ ํ•จ์ˆ˜ ์กด์žฌ!!
def get_sim(num1, num2):
    return (num1 + num2)

num1 = 5
num2 = 3
result = get_sum(num1,num2)
print(result)

# ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ํ•จ์ˆ˜๋กœ ๋ณ€ํ˜•(์ถœ๋ ฅ๊ฒฐ๊ณผ๋Š” ๊ฐ™๊ฒŒ)
def get_sum():
    num1, num2 = 5, 3
    return num1 + num2

result= get_sum()
print(result)
# return ๋ฐ˜ํ™˜๊ฐ’์ด ์—†๋Š” ํ•จ์ˆ˜๋กœ ๋ณ€ํ™˜(์ถœ๋ ฅ๊ฒฐ๊ณผ๋Š” ๊ฐ™๊ฒŒ)
def get_sim(num1, num2):
    result = num1 + num2
    print(result)

num1 = 5
num2 = 3
get_sum(num1, num2)

๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ž

  • ๋งค๊ฐœ๋ณ€์ˆ˜ (parameter)
    • ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ, ํ•จ์ˆ˜๊ฐ€ ๋ฐ›์„ ๊ฐ’์„ ๋‚˜ํƒ€๋‚ธ ๋ณ€์ˆ˜
  • ์ธ์ž (argument)
    • ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ์‹ค์ œ๋กœ ์ „๋‹ฌํ•˜๋Š” ๊ฐ’
  • ![์‚ฌ์ง„4](์‚ฌ์ง„4 ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ž ์˜ˆ์‹œ.png)

์ธ์ž์˜ ์ข…๋ฅ˜

  • ์œ„์น˜์ธ์ž (positional Arguments)

    • ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ ์ธ์ž์˜ ์œ„์น˜์— ๋”ฐ๋ผ ๋ฐ˜๋“œ์‹œ ์ „๋‹ฌ ํ•ด์•ผ ํ•˜๋Š” ์ธ์ž
    • ![์‚ฌ์ง„5](์‚ฌ์ง„5 ์œ„์น˜์ธ์ž.png)
    • ํ•จ์ˆ˜์˜ ํ•„์ˆ˜ ์š”์†Œ name๊ณผ age์˜ ์œ›์— ๋†“์ธ alice์™€ 25๊ฐ€ ์œ„์น˜์ธ์ž!!
  • ๊ธฐ๋ณธ ์ธ์ž ๊ฐ’(Default Argument Values)

    • ํ•จ์ˆ˜ ์ •์˜์—์„œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ธฐ๋ณธ๊ฐ’์„ ํ• ๋‹นํ•˜๋Š” ๊ฒƒ
    • ํ•จ์ˆ˜ ํ˜ธ์ถœ ์‹œ ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์œผ๋ฉด, ๊ธฐ๋ณธ๊ฐ’์ด ๋งค๊ฐœ๋ณ€์ˆ˜์— ํ• ๋‹น๋Œ
    • ![์‚ฌ์ง„6](์‚ฌ์ง„6 ๊ธฐ๋ณธ์ธ์ž.png)
    • age =30 ์ด ๊ธฐ๋ณธ์ธ์ž๊ฐ’์ด ๋œ๋‹ค. ( ๋ฐ‘์—์ฒ˜๋Ÿผ 40์„ ๋„ฃ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ)
  • ํ‚ค์›Œ๋“œ ์ธ์ž (keyword arguments)

    • ํ•จ์ˆ˜ ํ˜ธ์ถœ์‹œ ์ธ์ž์˜ ์ด๋ฆ„๊ณผ ํ•จ๊ป˜ ๊ฐ’์„ ์ „๋‹ฌํ•˜๋Š” ์ธ์ž
    • ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ์ธ์ž๋ฅผ ์ผ์น˜์‹œํ‚ค์ง€ ์•Š๊ณ , ํŠน์ • ๋งค๊ฐœ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹น ๊ฐ€๋Šฅ.
    • ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ์ธ์ž์˜ ์ด๋ฆ„์„ ๋ช…์‹œํ•ด์„œ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ.
    • ![์‚ฌ์ง„7](์‚ฌ์ง„7 ํ‚ค์›Œ๋“œ์ธ์ž.png)
    • name๊ณผ age์˜ ์ˆœ์„œ์™€ ์ƒ๊ด€์—†์ด ์ด๋ฆ„์„ ๋ช…์‹œํ•ด์„œ ์ „๋‹ฌํ•˜์˜€๋‹ค.
    • ์œ„์น˜์ธ์ž์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค!!
  • ์ž„์˜์˜ ๊ฐ€๋ณ€์ธ์ž ๋ชฉ๋ก ( Arbitrary )

    • ์ •ํ•ด์ง€์ง€ ์•Š์€ ๊ฐœ์ˆ˜์˜ ์ธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ธ์ž
    • ํ•จ์ˆ˜ ์ •์˜์‹œ ๋งค๊ฐœ๋ณ€์ˆ˜์•ž์— ( * ) ์„ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•˜๋ฉฐ, ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธ์ž๋ฅผ tuple๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    • ![์‚ฌ์ง„8](์‚ฌ์ง„8 ์ž„์˜์˜ ์ธ์ž.png)
    • ์†Œ๊ด„ํ˜ธ๋ฅผ ํ†ตํ•ด ํŠœํ”Œ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
    • ์ถœ๋ ฅ์ด ์ฃผ์„๊ณผ๊ฐ™์ด (1,2,3)์ด ๋‚˜์˜จ๋‹ค.
  • ์ž„์˜์˜ ๊ฐ€๋ณ€ํ‚ค์›Œ๋“œ์ธ์ž ๋ชฉ๋ก

    • ์ •ํ•ด์ง€์ง€ ์•Š์€ ๊ฐœ์ˆ˜์˜ ํ‚ค์›Œ๋“œ ์ธ์ž๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ธ์ž
    • ํ•จ์ˆ˜ ์ •์˜์‹œ ๋งค๊ฐœ๋ณ€์ˆ˜ ์•ž์— ( ** ) ๋ฅผ ๋ถ™์—ฌ ์‚ฌ์šฉ.
    • ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธ์ž๋ฅผ dict๋กœ ๋ฌถ์–ด์ฒ˜๋ฆฌ
    • ![์‚ฌ์ง„9](์‚ฌ์ง„9 ์ž„์˜์˜ ํ‚ค์›Œ๋“œ ์ธ์ž.png)
    • ํ•จ์ˆ˜ ์ธ์ž ๊ถŒ์žฅ ์ž‘์„ฑ์ˆœ์„œ
    • ์œ„์น˜ -> ๊ธฐ๋ณธ -> ๊ฐ€๋ณ€ -> ํ‚ค์›Œ๋“œ -> ๊ฐ€๋ณ€ํ‚ค์›Œ๋“œ
    • ํ˜ธ์ถœ ์‹œ ์ธ์ž๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๊ณผ์ •์—์„œ ํ˜ผ๋ž€์„ ์ค„์ด๊ธฐ ์œ„ํ•จ( ์ ˆ๋Œ€์ ์ธ ๊ทœ์น™ X)
    • ![์‚ฌ์ง„10](์‚ฌ์ง„10 ํ•จ์ˆ˜ ์ธ์ž ๊ถŒ์žฅ์ˆœ์„œ.png)

ํ•จ์ˆ˜์™€ scope

python์˜ ๋ฒ”์œ„(Scope)

  • ํ•จ์ˆ˜๋Š” ์ฝ”๋“œ ๋‚ด๋ถ€์— local scope ๋ฅผ ์ƒ์„ฑํ•˜๋ฉฐ, ๊ทธ ์™ธ์˜ ๊ณต๊ฐ„์ธ global scope๋กœ ๊ตฌ๋ถ„

  • scope

    • global scope : ์ฝ”๋“œ ์–ด๋””์—์„œ๋“  ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„
    • local scope : ํ•จ์ˆ˜๊ฐ€ ๋งŒ๋“  scope ( ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋งŒ ์ฐธ์กฐ ๊ฐ€๋Šฅ)
  • variable

    • global variable : global scope์— ์ •์˜๋œ ๋ณ€์ˆ˜
    • local variable : local scope์— ์ •์˜๋œ ๋ณ€์ˆ˜
# scope 
def my_func() :
    num = 1

print(num)
# num ์€ ํ•จ์ˆ˜์•ˆ์—๋งŒ ์ •์˜๋˜์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฐพ์ง€๋ชปํ•œ๋‹ค
# ํ•จ์ˆ˜๋‚ด์˜ num์ด local // print()๋‚ด์˜ num์ด global
  • num์€ local์— ์กด์žฌํ•˜๊ธฐ๋•Œ๋ฌธ์— global์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
  • ์ด๋Š” ๋ณ€์ˆ˜์˜ ์ˆ˜๋ช…์ฃผ๊ธฐ ์™€ ์—ฐ๊ด€์ด ์žˆ๋‹ค.

๋ณ€์ˆ˜์˜ ์ˆ˜๋ช…์ฃผ๊ธฐ

  • built-in scope
    • ํŒŒ์ด์ฌ ์‹คํ–‰ ํ›„ ์˜์›ํžˆ ์œ ์ง€
  • global scope
    • ๋ชจ๋“ˆ์ด ํ˜ธ์ถœ๋œ ์‹œ์  ์ดํ›„ or ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ์œ ์ง€
  • local scope
    • ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ์ƒ์„ฑ๋˜์–ด, ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€๋งŒ ์œ ์ง€

์ด๋ฆ„ ๊ฒ€์ƒ‰ ๊ทœ์น™

  • ํŒŒ์ด์ฌ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์ด๋ฆ„๋“ค์€ ํŠน์ •ํ•œ ์ด๋ฆ„๊ณต๊ฐ„์— ์ €์žฅ๋˜์žˆ์Œ
  • ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ์ด๋ฆ„์„ ์ฐพ์•„ ๋‚˜๊ฐ€๋ฉฐ, LEGB Rule์ด๋ผ๊ณ  ๋ถ€๋ฆ„
    • local scope : ์ง€์—ญ๋ฒ”์œ„(ํ˜„์žฌ ์ž‘์—…์ค‘์ธ ๋ฒ”์œ„)
    • Enclosed scope : ์ง€์—ญ๋ฒ”์œ„ ํ•œ๋‹จ๊ณ„ ์œ„ ๋ฒ”์œ„
    • Global scope : ์ตœ์ƒ๋‹จ์— ์œ„์น˜ํ•œ ๋ฒ”์œ„
    • Built-in scope : ๋ชจ๋“  ๊ฒƒ์„ ๋‹ด๊ณ  ์žˆ๋Š” ๋ฒ”์œ„(์ •์˜ํ•˜์ง€์•Š์•„๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ)
  • ํ•จ์ˆ˜ ๋‚ด์—์„œ ๋ฐ”๊นฅ Scope ๋ณ€์ˆ˜์— ์ ‘๊ทผ์€ ๊ฐ€๋Šฅํ•˜๋‚˜ ์ˆ˜์ •์€ ๋ถˆ๊ฐ€ํ•จ.
  • ![์‚ฌ์ง„11](์‚ฌ์ง„11 scope ๋ฒ”์œ„.png)
# bulit-in scope๋Š” ๋‚ด์žฅํ•จ์ˆ˜
z = 3 # global scope
def outer():
    x=1 # ๋กœ์ปฌ๋ณ€์ˆ˜
    def inner():
        y=2 #๋กœ์ปฌ๋ณ€์ˆ˜
        result = x + y # x๊ฐ€ enclosed scope์— ํ•ด๋‹น
        print(result)
    inner()
outer()
  • LEGB Rule์— ์˜ํ•ด ํ•˜์œ„scope์—์„œ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ์‹œ ๋‚ด์žฅํ•จ์ˆ˜๋ฅผ ํ•˜์œ„scope์—์„œ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ํ•˜๊ธฐ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
  • LEGB Rule๋•Œ๋ฌธ์— ๋‚ด์žฅํ•จ์ˆ˜์™€ ๊ฐ™์€ ์ด๋ฆ„์ด ์‚ฌ์šฉ๋ถˆ๊ฐ€
  • ![์‚ฌ์ง„12](์‚ฌ์ง„12 scope ์˜ˆ์‹œ .png)
  • ๋‹ต์— ๋Œ€ํ•ด ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ๊ธฐ!!

' global ' ํ‚ค์›Œ๋“œ

  • ๋ณ€์ˆ˜์˜ ์Šค์ฝ”ํ”„๋ฅผ ์ „์—ญ๋ฒ”์œ„๋กœ ์ง€์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ

  • ์ผ๋ฐ˜์ ์œผ๋กœ ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ „์—ญ ๋ณ€์ˆ˜๋ฅผ ์ˆ˜์ •ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ

  • ![์‚ฌ์ง„13](์‚ฌ์ง„13 globalํ‚ค์›Œ๋“œ.png)

  • ํ•จ์ˆ˜๋‚ด์—์„œ num์— +1 ํ•˜๋Š” ๊ฒƒ๋•Œ๋ฌธ์— globalํ‚ค์›Œ๋“œ ์‚ฌ์šฉ

  • ๊ถŒ์žฅํ•˜์ง€ ์•Š์œผ๋‚˜ ๋ฌธ์ œํ’€์ด๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜๊ธดํ•จ.

  • ์ฃผ์˜์‚ฌํ•ญ

    • globalํ‚ค์›Œ๋“œ ์„ ์–ธ์ „์— ์ ‘๊ทผ X
    • ![์‚ฌ์ง„14](์‚ฌ์ง„14 global์ฃผ์˜์‚ฌํ•ญ.png)
    • ๋งค๊ฐœ๋ณ€์ˆ˜์— globalํ‚ค์›Œ๋“œ ์‚ฌ์šฉ๋ถˆ๊ฐ€
    • ![์‚ฌ์ง„15](์‚ฌ์ง„15 global์ฃผ์ซํ•ญ.png)

globlaํ‚ค์›Œ๋“œ๋Š” ๊ฐ€๊ธ‰์  ์‚ฌ์šฉํ•˜์ง€์•Š๊ณ , ํ•จ์ˆ˜๋กœ ๊ฐ’์„ ๋ฐ”๊พธ๊ณ ์ž ํ•œ๋‹ค๋ฉด ์ธ์ž๋กœ ๋„˜๊ธฐ๊ณ  ํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’์„ ์‚ฌ์šฉํ•˜๋„๋ก ๊ถŒ์žฅ

์žฌ๊ท€ํ•จ์ˆ˜ = ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜

  • ํŠน์ • ์•Œ๊ณ ๋ฆฌ์ฆ˜์‹ ํ‘œํ˜„์‹œ ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ์ด ์ค„๊ณ  ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์ด ์ข‹์•„์ง
  • 1๊ฐœ์ด์ƒ์˜ base case(์ข…๋ฃŒ๋˜๋Š” ์ƒํ™ฉ)์ด ์กด์žฌํ•˜๊ณ  ์ˆ˜๋ ดํ•˜๋„๋ก ์ž‘์„ฑ
  • ์žฌ๊ท€ํ•จ์ˆ˜์˜ ์˜ˆ์‹œ๋กœ ํŒฉํ† ๋ฆฌ์–ผ์ด ์žˆ๋‹ค
    • n! = n*(n-1)! = n*(n-1)*(n-2)! = . . .
  • ![์‚ฌ์ง„16](์‚ฌ์ง„16 ์žฌ๊ท€ํ•จ์ˆ˜ ํŒฉํ† ๋ฆฌ์–ผ.png)
  • ![์‚ฌ์ง„17](์‚ฌ์ง„17 ์žฌ๊ท€ํ•จ์ˆ˜ ํŒฉํ† ๋ฆฌ์–ผ.png)
  • ํŒฉํ† ๋ฆฌ์–ผ์ด ์ž๊ธฐ์ž์‹ ์„ ์žฌ๊ท€์ ์œผ๋กœ ํ˜ธ์ถœํ•˜์—ฌ ์ˆซ์žn์˜ ํŒฉํ† ๋ฆฌ์–ผ ๊ณ„์‚ฐ
  • ์žฌ๊ท€ํ•จ์ˆ˜๋Š” n์ด 0์ด ๋ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต, ์ข…๋ฃŒ์กฐ๊ฑด์„ ์„ค์ •ํ•˜์—ฌ ๋ฉˆ์ถœ์ˆ˜ ์žˆ๋„๋ก ํ•จ
  • ์žฌ์žฌ๊ท€ ํ˜ธ์ถœ์˜ ๊ฒฐ๊ณผ๋ฅผ ์ด์šฉํ•ด ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋‹จ์œ„์˜ ๋ฌธ์ œ๋กœ ๋ถ„ํ• ํ•˜๊ณ , ๋‹ค์‹œ ๋ถ„ํ•  ๋œ ๋ฌธ์ œ๋“ค์˜ ๊ฒฐ๊ณผ๋ฅผ ์ข…ํ•ฉํ•˜์—ฌ ์ตœ์ข…๊ฒฐ๊ณผ ๋„์ถœ.
  • => ์ข…๋ฃŒ์กฐ๊ฑด์ด ๋ช…ํ™•ํ•˜๊ณ , ๋ฐ˜๋ณต๋˜๋Š” ํ˜ธ์ถœ์ด ์ข…๋ฃŒ์กฐ๊ฑด์„ ํ–ฅํ•˜๋„๋ก ์ž‘์„ฑ! STACK์ด๋ผ ์นญํ•˜๊ธฐ๋„ํ•จ.
  • ์–ด๋ ต๊ฒŒ ๊ฐ€์ง€๋ง๊ณ  1. ์ข…๋ฃŒ์กฐ๊ฑด์ด ๋ช…ํ™•ํ•˜๊ณ , 2. ๋ฐ˜๋ณต๋˜๋Š” ํ˜ธ์ถœ์ด ์ข…๋ฃŒ์กฐ๊ฑด์„ ํ–ฅํ•˜๋„๋ก ์ž‘์„ฑ ์„ ์œ„์ฃผ๋กœํ•˜๊ธฐ

์œ ์šฉํ•œ ํ•จ์ˆ˜

์œ ์šฉํ•œ ๋‚ด์žฅํ•จ์ˆ˜

  • map(function, iterable)
    • ์ˆœํšŒ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ๊ตฌ์กฐ(iterable)์˜ ๋ชจ๋“ ์š”์†Œ์— ํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜๊ณ , ๊ทธ๊ฒฐ๊ณผ๋ฅผ map object๋กœ ๋ฐ˜ํ™˜
#map ํ•จ์ˆ˜
numbers = [ 1, 2, 3 ]
result =  map(str, numbers)
print(result) #<map object at 0x0000019A62C613D0>
print(list(result)) #['1', '2', '3']

a = list(map(int, input().split()))
  • zip(*iterables)
    • ์ž„์˜์˜ iterable์„ ๋ชจ์•„ ํŠœํ”Œ์„ ์›์†Œ๋กœ ํ•˜๋Š” zip object๋ฅผ ๋ฐ˜ํ™˜
names = ['Alice', ' Bob', 'Charlie']
ages = [30,  35]
cities = ['New york', 'London', 'Paris' ]

for name, age, city in zip(names, ages, cities):
    print(name, age, city)


keys = ['a', 'b', 'c']
values = [1,2,3]
my_dict = dict(zip(keys, values))
print(my_dict)
  • ๋ฆฌ์ŠคํŠธ์˜ ๊ฐฏ์ˆ˜๊ฐ€ ๋งž์ง€์•Š์œผ๋ฉด ๋งž๋Š” ๊ฐฏ์ˆ˜ ๋งŒํผ๋งŒ ์ž‘์„ฑ๋Œ!!!

lambdaํ•จ์ˆ˜ = ์ด๋ฆ„์—†์ด ์ •์˜๋˜๊ณ  ์‚ฌ์šฉ๋˜๋Š” ์ต๋ช…ํ•จ์ˆ˜

  • lambda ๋งค๊ฐœ๋ณ€์ˆ˜ : ํ‘œํ˜„์‹
  • lamdaํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉ
  • ๋งค๊ฐœ๋ณ€์ˆ˜ : ํ•จ์ˆ˜์— ์ „๋‹ฌ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค // ์‰ผํ‘œ๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌ๋ถ„
  • ํ•จ์ˆ˜์˜ ์‹คํ–‰์ฝ”๋“œ๋ธ”๋ก์œผ๋กœ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ‘œํ˜„์‹
# lambda์™€ map ํ•จ์ˆ˜
numbers = [1, 2 ,3 ,4 ,5]
result = list(map(lambda x: x * 2, numbers))
print(result)

# def double_number(x):
#     return x *2
# ์œ„์˜ lambdaํ•จ์ˆ˜ ๋ฅผ ํ’€์–ด์“ฐ๋ฉด ์ด๋ ‡๊ฒŒ๋œ๋‹ค

# lambda ๋งค๊ฐœ๋ณ€์ˆ˜ : ํ‘œํ˜„์‹

#1. 1ํšŒ์„ฑ์ด๊ธฐ๋•Œ๋ฌธ์— ํ•จ์ˆ˜ ๋ช…์ด ํ•„์š”์—†๋‹ค.
#2. ํ‘œํ˜„์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ˜ํ™˜๋˜๊ธฐ๋•Œ๋ฌธ์— return๋„ ํ•„์š”์—†๋‹ค

packing ํŒจํ‚น

  • ์—ฌ๋Ÿฌ๊ฐœ์˜ value๋ฅผ ํ•˜๋‚˜์˜ ์‹œํ€€์Šค๋กœ ๋ฌถ๋Š” ๊ณผ์ • ( ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜์— ๋ฌถ์Œ)
  • ํŠœํ”Œํ˜•ํƒœ๋กœ ๋ฌถ์ธ๋‹ค.
# ํŒจํ‚น : ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•˜๋‚˜์˜ ์‹œํ€€์Šค๋กœ ๋ฌถ๋Š” ๊ณผ์ •
# ์˜ˆ์‹œ1)
packing_values = 1,2,3,4,5
print(packing_values) # (1, 2, 3, 4, 5) ํŠœํ”Œํ˜•ํƒœ
numbers = [1,2,3,4,5]

a, *b, c = numbers # *(์• ์Šคํ„ฐ๋ฆฌ์Šคํฌ): ํŒจํ‚น์—ฐ์‚ฐ์ž๋กœ ํ™œ์šฉ
print(a) #1
print(b) #[2, 3, 4] *b๋Š” ๋‚จ์€ ์š”์†Œ๋“ค์„ ๋ฆฌ์ŠคํŠธ๋กœ ํŒจํ‚นํ•˜์—ฌ ํ• ๋‹น 
print(c) # 5
  • print ํ•จ์ˆ˜์— ์ž„์˜์˜ ๊ฐ€๋ณ€์ธ์ž๋ฅผ ์ž‘์„ฑํ• ์ˆ˜ ์žˆ๋˜ ์ด์œ 
  • print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • objects๋ฅผ ํ…์ŠคํŠธ ์ŠคํŠธ๋ฆผ file๋กœ ์ธ์‡„ํ•˜๋Š”๋ฐ, sep์œผ๋กœ ๊ตฌ๋ถ„๋˜๊ณ  end๋ฅผ ๋’ค์— ๋ถ™์ž…๋‹ˆ๋‹ค. ์žˆ๋‹ค๋ฉด sep, end, file ๋ฐ flush๋Š” ๋ฐ˜๋“œ์‹œ ํ‚ค์›Œ๋“œ ์ธ์ž๋กœ ์ œ๊ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๋น„ ํ‚ค์›Œ๋“œ ์ธ์ž๋Š” str()ํ•˜๋“ฏ์ด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜๋œ ํ›„ ์“ฐ์ด๋“ฏ sep๊ณผ end๋„ ๋ฌธ์ž์—ด์ด์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • objects๊ฐ€ ์ฃผ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๋ฉด print()๋Š” end๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค
# print ํ•จ์ˆ˜์— ์ž„์˜์˜ ๊ฐ€๋ณ€์ธ์ž๋ฅผ ์ž‘์„ฑํ• ์ˆ˜ ์žˆ๋˜ ์ด์œ 

print('hi', 'hello', 'goodbye', sep = "-") # hi-hello-goodbye
print('hi',end=' ')
print('hello') # hi hello

์–ธํŒจํ‚น Unpacking

  • ํŒจํ‚น๋œ ๋ณ€์ˆ˜๋ฅผ ๊ฐœ๋ณ„์ ์ธ ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ํ• ๋‹นํ•˜๋Š”๊ฒƒ
  • ( * )๋Š” ๋ฆฌ์ŠคํŠธ ์–ธํŒจํ‚น, ( ** )๋Š” ๋”•์…”๋„ˆ๋ฆฌ ํ‚ค-๊ฐ’์„ ์–ธํŒจํ‚น
# *(์• ์Šคํ„ฐ๋ฆฌ์Šคํฌ)๋ฅผ ์–ธํŒจํ‚น ์—ฐ์‚ฐ์ž๋กœ ํ™œ์šฉ
names=['key', 'bob', 'jane']
print(*names) # key bob jane

## ** : ๋”•์…”๋„ˆ๋ฆฌ ์–ธํŒจํ‚น ์—ฐ์‚ฐ์ž
def my_funtion(x,y,z):
    print(x, y, z)
dict_values={'x':1, 'y':2, 'z':3}
my_funtion(**dict_values) # 1 2 3

๋ชจ๋“ˆ import

  • ๋ชจ๋“ˆ๊ณผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐ™์€ ๋ง์ธ๊ฐ€? xx
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ชจ๋“ˆ๊ณผ ํŒจํ‚ค์ง€์˜ ์ง‘ํ•ฉ์ด๋‹ค.
  • ํ•œ ํŒŒ์ผ๋กœ ๋ฌถ์ธ ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜ ๋ชจ์Œ
  • ํŠน์ •ํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ž‘์„ฑ๋œ ํŒŒ์ด์ฌ ํŒŒ์ผ
  • import ํ˜น์€ from์„ ์‚ฌ์šฉํ•ด ๋ชจ๋“ˆ์„ ํ˜ธ์ถœํ•ด ์‚ฌ์šฉํ•œ๋‹ค.
# ํŒŒ์ด์ฌ math ๋ชจ๋“ˆ ์˜ˆ์‹œ
import math
print(math.pi) # 3.141592653589793
print(math.sqrt(16)) # 4.0
# ctrl์„ ๋ˆ„๋ฅธ์ฑ„ math๋ฅผ ๋ˆ„๋ฅด๋ฉด ์•ˆ์— ํ•จ์ˆ˜๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
# help(math) ์ž…๋ ฅ๋„ ๊ฐ€๋Šฅ

from math import pi, sqrt
print(pi)
print(sqrt(2))

#from ๊ณผ import ์ฐจ์ด 2
import random
print(random.randint(1,46))

from random import *
print(randint(1,46))

์‚ฌ์šฉ์ž ์ •์˜ ๋ชจ๋“ˆ

  • ๋ชจ๋“ˆ my_math.py ์ž‘์„ฑ ( ์ด๋ฆ„์€ ๊ฐ์ž ์•Œ์•„์„œ ์ž‘์„ฑ)
  • ๋‹ค๋ฅธ .pyํŒŒ์ผ์—์„œ import ํ˜น์€ from ํ•˜์—ฌ ํ˜ธ์ถœ
# my_math.py
def add(x,y):
    return x + y

# ์‚ฌ์šฉ์ž ์„ค์ • ๋ชจ๋“ˆ 
import my_math
print(my_math.add(1,2))

from my_math import *
print(add(1,2))

ํŒŒ์ด์ฌ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

  • ๋ชจ๋“ˆ๊ณผ ํŒจํ‚ค์ง€์˜ ์ง‘ํ•ฉ

ํŒจํ‚ค์ง€

  • ๊ด€๋ จ๋œ ๋ชจ๋“ˆ๋“ค์„ ํ•˜๋‚˜์˜ ๋””๋ ‰ํ† ๋ฆฌ์— ๋ชจ์•„๋†“์€๊ฒƒ

![์‚ฌ์ง„18](์‚ฌ์ง„18 ํŒจํ‚ค์ง€ ํ™œ์šฉ.png)

  • ์™ผ์ชฝ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋””๋ ‰ํ† ๋ฆฌ๋‚ด์— ํ™œ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ ํ™œ์„ฑํ™”
# ๋ผ์ด๋ธŒ๋Ÿฌ์ง€- ํŒจํ‚ค์ง€ ๋””๋ ‰ํ† ๋ฆฌ 
from my_package.math import my_math
from my_package.statistics import tools
print(my_math.add(1,2))
print(tools.mod(1,2))

PLS๋‚ด๋ถ€ ํŒจํ‚ค์ง€

  • ์„ค์น˜์—†์ด ๋ฐ”๋กœ importํ•˜์—ฌ ์‚ฌ์šฉ

์™ธ๋ถ€ ํŒจํ‚ค์ง€( pip install )

  • python installer package = ์™ธ๋ถ€ํŒจํ‚ค์ง€ ์„ค์น˜๋ฅผ ๋„์™€์ฃผ๋Š” ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ
  • pip install Somepackage (== 1.0.0) or (>= 1.0.5) ๋“ฑ ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์—ฌ ์„ค์น˜๊ฐ€๋Šฅ
  • git bash์—์„œ pip install requests ์ž…๋ ฅ
  • ramdom-data
  • Json viewer
# ํŒจํ‚ค์ง• ์„ค์น˜ Json
import requests

url = 'https://random-data-api.com/api/v2/users'

response = requests.get(url).json()
print(response)
# https://jsonviewer.stack.hu/์—์„œ ์ถœ๋ ฅ์„ ํ…์ŠคํŠธ์— ์ž…๋ ฅํ•˜๋ฉด ์ •๋ฆฌ๋œ ๋ชจ์Šต ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Œ

# ์‹ค์Šต) united states๋ฅผ ์ถœ๋ ฅํ•ด๋ณด์„ธ์š”. - key๋กœ ์ ‘๊ทผ

print(response['address']['country'])
print(response.get('address').get('country'))

ํŒจํ‚ค์ง€ ์‚ฌ์šฉ๋ชฉ์ 

  • ๋ชจ๋“ˆ๋“ค์˜ ์ด๋ฆ„๊ณต๊ฐ„์„ ๊ตฌ๋ถ„ํ•˜์—ฌ ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ณ 
  • ๋ชจ๋“ˆ๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์—ญํ• 

7.20

์ œ์–ด๋ฌธ(Control Statement)

  • ์กฐ๊ฑด๋ฌธ
  • ๋ฐ˜๋ณต๋ฌธ
  • ์ฝ”๋“œ์˜ ์‹คํ–‰ ํ๋ฆ„์„ ์ œ์–ดํ•˜๊ฑฐ๋‚˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์ฝ”๋“œ ๋ธ”๋ก์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‹คํ–‰

์กฐ๊ฑด๋ฌธ(Conditional Statement)

  • ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์„ ํ‰๊ฐ€ํ•˜์—ฌ ์ฐธ(True)์ธ ๊ฒฝ์šฐ์—๋งŒ ์ฝ”๋“œ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ๊ฑด๋„ˆ๋œ€
  • if, elif, else
  • ์กฐ๊ฑด์‹์—๋Š” ๋น„๊ต์—ฐ์‚ฐ, ๋…ผ๋ฆฌ์—ฐ์‚ฐ, ๋ฉค๋ฒ„์—ฐ์‚ฐ๋“ฑ ,,,

' if ' statement

# if statement์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ
if ํ‘œํ˜„์‹ :
    ์ฝ”๋“œ๋ธ”๋ก
elif ํ‘œํ˜„์‹ : 
    ์ฝ”๋“œ๋ธ”๋ก
else :
    ์ฝ”๋“œ๋ธ”๋ก

num = int(input('์ˆซ์ž๋ฅผ ์ž…๋ ฅํ•˜์„ธ์š” : '))

# if statement
# num์ด ํ™€์ˆ˜๋ผ๋ฉด
if num % 2 == 1 :
    print(f"{num}์€ ํ™€์ˆ˜ ์ž…๋‹ˆ๋‹ค")
# if num % 2 : ๋ผ๊ณ  ์จ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ๊ฒฐ๊ณผ๊ฐ’์ธ 1์ด Ture๋ฅผ ๋œปํ•˜๊ธฐ์— if๋ฌธ์ด ์‹คํ–‰๋œ๋‹ค.
# num์ด ์ง์ˆ˜๋ผ๋ฉด
else :  # num % 2 == 0 ์„ ์“ฐ์ง€ ์•Š์•„๋„๋Œ 
    print(f"{num}์€ ์ง์ˆ˜ ์ž…๋‹ˆ๋‹ค")
  • ๋ณต์ˆ˜ ์กฐ๊ฑด๋ฌธ ( if // elif // elif // else )
    • ์กฐ๊ฑด์‹์„ ๋™์‹œ์— ๊ฒ€์‚ฌํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์ˆœ์ฐจ์ ์œผ๋กœ ๋น„๊ต
  • ์ค‘์ฒฉ ์กฐ๊ฑด๋ฌธ
dust = 480

if dust >150:
    print('๋งค์šฐ๋‚˜์จ')
    if dust > 300:
	print(' ์œ„ํ—˜ํ•ด์š”! ๋‚˜๊ฐ€์ง€๋งˆ์„ธ์š”!')
elif dust > 80:
    print('๋‚˜์จ')
elif dust > 30:
    print('๋ณดํ†ต')
else :
    print('์ข‹์Œ')
  • ์œ„์™€ ๊ฐ™์ด if ๋ฌธ ๋‚ด์— if๋ฌธ์ด ์กด์žฌํ•˜๋Š” ์ค‘์ฒฉ ์กฐ๊ฑด๋ฌธ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

๋ฐ˜๋ณต๋ฌธ(Loop Statement)

  • ์ฃผ์–ด์ง„ ์ฝ”๋“œ ๋ธ”๋ก์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•˜๋Š” ๊ตฌ๋ฌธ
    • ํŠน์ • ์ž‘์—…์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์ˆ˜ํ–‰
    • ์ฃผ์–ด์ง„ ์กฐ๊ฑด์ด ์ฐธ์ธ ๋™์•ˆ๋งŒ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰
  • for // while

' for ' statement

  • ์ž„์˜์˜ ์‹œํ€ธ์Šค ํ•ญ๋ชฉ๋“ค์„ ๊ทธ ์‹œํ€ธ์Šค์— ๋“ค์–ด์žˆ๋Š” ์ˆœ์„œ๋Œ€๋กœ ๋ฐ˜๋ณต
    • ์‹œํ€€์Šค๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๊ณ  ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ  ๊ธธ์ด(๊ฐฏ์ˆ˜)๊ฐ€ ์žˆ๋Š” ํ•ญ๋ชฉ
# for statement ์˜ ๊ธฐ๋ณธ๊ตฌ์กฐ
for ๋ณ€์ˆ˜ in ๋ฐ˜ ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด :
     ์ฝ”๋“œ๋ธ”๋ก

๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด(iterable) =๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋ฌธ์ž์—ด, range๋“ฑ

  • ๋ฐ˜๋ณต๋ฌธ์—์„œ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด
    • ์‹œํ€ธ์Šค ๊ฐ์ฒด ๋ฟ๋งŒ์•„๋‹ˆ๋ผ dict, set ๋“ฑ๋„ ํฌํ•จ
    • [ 1, 2, 3] ์ด๋ผ๋ฉด 1(๋ฆฌ์ŠคํŠธ ๋‚ด ์ฒซ ํ•ญ๋ชฉ)๋ถ€ํ„ฐ ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜๊ณ  ์ฝ”๋“œ๋ธ”๋ก์„ ์‹คํ–‰ ํ›„ 2(2๋ฒˆ์งธ ํ•ญ๋ชฉ)๊ฐ€ ๋˜ ํ• ๋‹น๋Œ.
    • ์ด๋ ‡๊ฒŒ ๋งˆ์ง€๋ง‰ ๊ฐ์ฒด๊นŒ์ง€ ๋ณ€์ˆ˜์— ํ• ๋‹น๋˜๋ฉด for ๋ฌธ์€ ๋๋‚˜๊ฒŒ ๋œ๋‹ค.
# ๋ฌธ์ž์—ด ์ˆœํšŒ
country = 'korea'
for char in country :
    print(char)
"""
k
o
r
e
a
"""
# range ์ˆœํšŒ
for i in range(5) 
    print(i)
"""
0
1
2
3
4
"""
# ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผํ•ด์„œ ๋ณ€๊ฒฝํ•˜๊ธฐ
numbers = [4, 6, 10, -8 ,5 ]

for i in range(len(numbers)) : 
    numbers[i] = numbers[i] * 2

print(numbers) # [8, 12, 20, -16, 10 ]
# ์ค‘์ฒฉ๋œ ๋ฐ˜๋ณต๋ฌธ
outers = ['A', 'B']
inners = ['c', 'd']

for outer in outers :
    for inner in inners :
	print(outer, inner)

"""
A c
A d # ์•ˆ์ชฝ ๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜์•ผ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๊ฒŒ ๋Œ
B c
B d
"""

# ์ค‘์ฒฉ LIST ์ˆœํšŒ
# ๋ฐ”๊นฅ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ์ค‘์ฒฉ๋ฐ˜๋ณต์„ ์‚ฌ์šฉํ•ด ์•ˆ์ชฝ ๋ฐ˜๋ณต ์ˆœํšŒ
elements = [['A', 'B'], ['c', 'd']]

for elem in elements :
    print (elem)
"""
['A', 'B']
['c', 'd']
"""
for elem in elements :
    for item in elem :
        print (item)
"""
A
B
c
d
"""

' while ' statement

  • ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๋™์•ˆ ๊ณ„์† ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰( ์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ด ๋ ๋•Œ๊นŒ์ง€๋งŒ ๋ฐ˜๋ณต)
# while statement ์˜ ๊ธฐ๋ณธ๊ตฌ์กฐ
while ์กฐ๊ฑด์‹ :
     ์ฝ”๋“œ๋ธ”๋ก
# while ๋ฌธ ์˜ˆ์‹œ 
a = 0

while a <3:
    print(a)
    a += 1

print('๋')
"""
0
1
2
๋
"""
# while๋ฌธ์„ ์‚ฌ์šฉํ•ด ์ž…๋ ฅ๊ฐ’์—๋Œ€ํ•œ ์ข…๋ฃŒ์กฐ๊ฑด ํ™œ์šฉ (if๋ฌธ)
number = int(input("์–‘์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”. : ")
while number <= 0 :
    if number < 0 :
        print( ' ์Œ์ˆ˜๋ฅผ ์ž…๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.')
    else : 
        print(' 0์€ ์–‘์˜ ์ •์ˆ˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ')
    number = int(input("์–‘์˜ ์ •์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”. : ")

print('์ž˜ํ–ˆ์Šต๋‹ˆ๋‹ค!')

while๋ฌธ์€ ๋ฐ˜๋“œ์‹œ ์ข…๋ฃŒ ์กฐ๊ฑด ์ด ํ•„์š”

์ ์ ˆํ•œ ๋ฐ˜๋ณต๋ฌธ ํŒ๋‹จํ•˜๊ธฐ

  • for๋ฌธ ( iterable์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ˆœํšŒํ•˜๋ฉฐ ๋ฐ˜๋ณต)

    • ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •ํ•ด์ ธ ์žˆ๋Š” ๊ฒฝ์šฐ
    • ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฆฌ์ŠคํŠธ, ํŠœํ”Œ, ๋ฌธ์ž์—ด ๋“ฑ๊ณผ ๊ฐ™์€ ์‹œํ€€์Šค ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ• ๋•Œ
  • while (์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๋™์•ˆ ๋ฐ˜๋ณต)

    • ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋ถˆ๋ช…ํ™•ํ•˜๊ฑฐ๋‚˜ ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณต์„ ์ข…๋ฃŒํ•ด์•ผ ํ•  ๊ฒฝ์šฐ
    • ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ ํŠน์ • ์กฐ๊ฑด์ด ์ถฉ์กฑ๋  ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๋Š” ๊ฒฝ์šฐ

๋ฐ˜๋ณต์ œ์–ด

  • for๋ฌธ๊ณผ while์ด ๋•Œ๋กœ๋Š” ์ผ๋ถ€๋งŒ ์‹คํ–‰ํ•˜๊ณ  ์ค‘๊ฐ„์— ๋ฉˆ์ถ”์–ด์•ผํ• ๋•Œ
  • break ๋ฐ˜๋ณต์„ ์ฆ‰์‹œ ์ค‘์ง€
  • continue ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๊ฑด๋„ˆ๋œ€

break

  • if ์™€ break์„ ์‚ฌ์šฉํ•จ
  • break์„ ๋งŒ๋‚ ์‹œ for ํ˜น์€ while๋ฌธ์ด ๋ฐ”๋กœ ์ข…๋ฃŒ๋Œ.
  • ![์‚ฌ์ง„1](์‚ฌ์ง„1 break ์˜ˆ์‹œ1.png)![์‚ฌ์ง„2](์‚ฌ์ง„2 break์˜ˆ์‹œ2.png)

continue

  • if์™€ continue๋ฅผ ์‚ฌ์šฉ
  • continue๋ฅผ ๋งŒ๋‚˜๋ฉด ํ•˜์œ„ ๋‚จ์€ ์กฐ๊ฑด๋ฌธ ๋‚ด ์ฝ”๋“œ๋ฅผ ๋ชจ๋‘ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ๋ฐ˜๋ณต์ด ๋Œ.
  • ![์‚ฌ์ง„3](์‚ฌ์ง„3 continue ์˜ˆ์‹œ.png)

๋ฐ˜๋ณต์ œ์–ด๋ฌธ์˜ ์ฃผ์˜ ์‚ฌํ•ญ

  • break๊ณผ continue๋ฅผ ๋‚จ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ ์ €ํ•˜
  • ํŠน์ • ์ข…๋ฃŒ์กฐ๊ฑด์„ ๋งŒ๋“ค์–ด break์„ ๋Œ€์‹ ํ•˜๊ฑฐ๋‚˜ if๋ฌธ์„ ์‚ฌ์šฉํ•ด continue ๋Œ€์‹  ์ฝ”๋“œ๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Œ
  • ![์‚ฌ์ง„4](์‚ฌ์ง„4 ์ฃผ์˜์‚ฌํ•ญ.png)
  • expression์€ ์ƒˆ ๋ฆฌ์ŠคํŠธ์— ๋“ค์–ด๊ฐˆ ํ•ญ๋ชฉ๋“ค์˜ ํ˜•ํƒœ

LIST Comprehension

  • ๊ฐ„๊ฒฐํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ ๋ฐฉ๋ฒ•
    1. [ ]
    1. map+list( )
# LIST Comprehension ๊ตฌ์กฐ
[expression for ๋ณ€์ˆ˜ in iterable ]
list(expression for ๋ณ€์ˆ˜ in iterable)

์˜ˆ์‹œ
# list comprehension
# 1. 1-10 ๊นŒ์ง€ ์š”์†Œ๋ฅผ ๊ฐ€์ง€๋Š” ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
new_list = []
for i in range(1,11):
    new_list.append(i) # append ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋„ฃ๋Š” ํ•จ์ˆ˜
print(new_list)

# 2. list comprehension
new_list2 = [i for i in range(1,11)]
print(new_list2)


# LIST Comprehension ๊ตฌ์กฐ
[expression for ๋ณ€์ˆ˜ in iterable if ์กฐ๊ฑด์‹]
list(expression for ๋ณ€์ˆ˜ in iterable if ์กฐ๊ฑด์‹)


# 1. 1-10 ์ค‘ ํ™€์ˆ˜ ์š”์†Œ๋ฅผ ๊ฐ€์ง€๋Š” ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
new_list = []
for i in range(1,11):
     if i % 2 ==1 :
        new_list.append(i) # append ๋ฆฌ์ŠคํŠธ์˜ ๊ฐ’์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๋„ฃ๋Š” ํ•จ์ˆ˜
print(new_list)

# 2. list comprehension
new_list2 = [i for i in range(1,11) if i % 2 ==1 ]
print(new_list2)

๊ฐ„๊ฒฐํ•ด์ง€๋‚˜ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง€๊ธฐ๋•Œ๋ฌธ์— comprehension์„ ๋‚จ์šฉํ•˜์ง€ ๋ง์ž

# ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“œ๋Š” 3๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋น„๊ต
# ์ •์ˆ˜ 1,2,3์„ ๊ฐ€์ง€๋Š” ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ
numbers = [ '1', '2', '3']
# 1. for ๋ฐ˜๋ณต๋ฌธ
new_numbers = []
for number in numbers:
    new_numbers.append(int(number))
print(new_numbers)

# 2.map
new_numbers2 = list(map(int, numbers))
print(new_numbers2)

# 3. list comprehension
new_numbers3 = [int(number) for number in numbers]
print(new_numbers3)

pass

  • ์•„๋ฌด ๋™์ž‘๋„ ํ•˜์ง€์•Š๊ณ  ๋„˜์–ด๊ฐ€๋Š” ์—ญํ• 
  • ๋ฌธ๋ฒ•์ ์œผ๋กœ๋Š” ๋ฌธ์žฅ์ด ํ•„์š”ํ•˜์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€์•Š์•„์•ผ ํ•  ๋•Œ ์‚ฌ์šฉ
    1. ์ฝ”๋“œ ์ž‘์„ฑ์ค‘ ๋ฏธ์™„์„ฑ๋ถ€๋ถ„
  • ![์‚ฌ์ง„5](์‚ฌ์ง„5 ํŒจ์Šค1.png)
    1. ์กฐ๊ฑด๋ฌธ์—์„œ ์•„๋ฌด๋Ÿฐ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์•„์•ผํ• ๋•Œ
  • ![์‚ฌ์ง„6](์‚ฌ์ง„6 ํŒจ์Šค2.png)
    1. ๋ฌดํ•œ๋ฃจํ”„์—์„œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์ง€ ์•Š์„ ๋•Œ passํ•˜์—ฌ ๋ฃจํ”„๋ฅผ ๊ณ„์† ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ![์‚ฌ์ง„7](์‚ฌ์ง„7 ํŒจ์Šค3.png)

enumerate(iterable, start=0)

  • iterable ๊ฐ์ฒด์˜ ๊ฐ ์š”์†Œ์— ๋Œ€ํ•ด ์ธ๋ฑ์Šค์™€ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋‚ด์žฅํ•จ์ˆ˜
  • ![์‚ฌ์ง„8](์‚ฌ์ง„8 enumerate.png)
# enumerate
result = [ 'a', 'b', 'c']

print(enumerate(result)) # <enumerate object at 0x000002946EBBE680>
print(list(enumerate(result))) # [(0, 'a'), (1, 'b'), (2, 'c')]

for index, elem in enumerate(result):
    print(index, elem)
# 0 a
# 1 b
# 2 c

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors