ํค์๋
- Comprehension - list/set/dictionary
- Pseudocode(์์ฌ์ฝ๋)
- ์ง์ญ๋ณ์(local)/์ ์ญ๋ณ์(global)
- ์์ธ์ฒ๋ฆฌ - else/except/raise/assert
๋ฌธ์ ํด๊ฒฐ
- ๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋ฌธ์ ๋ฅผ ๋ ์์ ๋จ์๋ก ๋ถํ
- ์ต์ํ์ ์๊ฐ์ ํ์ฉ ๋ฌธ์ ๋ถ์
- ์ ์ฒด ๋ฌธ์ ๊ฐ ํ๋ฆฌ์ง ์๋๋ค๋ฉด ์ผ๋ถ ํ๋ฆฌ๋ ๋ถ๋ถ๋ถํฐ ์ฐพ์์ ํด๊ฒฐ
Comprehension
ํ ์ค๋ก ํ์ด์ฌ ๊ธฐ๋ฅ์ ๊ตฌํํ ์ ์๋ ๊ธฐ๋ฅ
- ์ฝ๋๋ฅผ ๊ฐ์ํํ์ฌ ์ง๊ด์ ์ด๋ฉฐ ๋น ๋ฆ
- ๋จ์ : ๋๋ฌด ์ฌ๋ฌ ์กฐ๊ฑด ์ค์ฒฉ ์ ๊ฐ๋ ์ฑ์ด ๋จ์ด์ง, ๋๋ ค ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ ๋ง์ด ์ฐจ์งํ ์ ์์
- ํ์ด์ฌ ์ฝ๋ ์ ์๋ฃํ ์ค list, set, dictionary 3๊ฐ์ง๊ฐ ์ปดํ๋ฆฌํจ์ ํํ ๊ฐ๋ฅ
# ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์
์์
arr_a = [1, 2, 3, 4]
arr_b = [2, 3, 4, 5]
ans = [a for a in arr_a for b in arr_b if a == b]
print(ans) # ์ถ๋ ฅ : [2, 3, 4]
Pseudocode(์์ฌ์ฝ๋)
- ์ฝ๋ฉ์ด
๊ฑด์ถ
์ด๋ผ๋ฉด ์์ฌ์ฝ๋๋์ค๊ณ๋
- ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ , ๋ด๊ฐ ์ดํดํ ์ ์๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ์์
- ํ๋ก๊ทธ๋จ์ด ์ปค์ง์๋ก, ์ด๋ ค์ธ์๋ก, ํ์ ์ด ํ์ํ ์๋ก ๋ ์ค์ํ ์์ (์ฝ๋์ ์๋๋ฅผ ๋ช ํํ ์ ๋ฌํด์ผํ๊ธฐ ๋๋ฌธ)
### ์์ฌ์ฝ๋ ์์
function div
For๋ฐ๋ณต๋ฌธ (i = 1๋ถํฐ i<=10๊น์ง, ๋ฐ๋ณตํ ๋๋ง๋ค i๊ฐ 1์ฉ ์ฆ๊ฐ)
{
If i๊ฐ 3์ผ๋ก ๋๋ ์ง๋ ๊ฒฝ์ฐ,
print 3์ผ๋ก ๋๋ ์ง๋ค.
If i๊ฐ 5๋ก ๋๋ ์ง๋ ๊ฒฝ์ฐ
print 5๋ก ๋๋ ์ง๋ค.
If i๊ฐ 3๊ณผ 5๋ก ๋๋ ์ง์ง์๋ ๊ฒฝ์ฐ,
print ๋๋ ์ง์ง ์์
}
### ์์ฌ์ฝ๋์ ๋ฐ๋ฅธ ์ค์ ์ฝ๋ ์์ฑ
def div():
for i in range(1,11):
if i % 3 == 0:
print('์ซ์',i, '=>','3์ผ๋ก ๋๋ ์ง')
elif i % 5 == 0:
print('์ซ์',i, '=>','5๋ก ๋๋ ์ง')
else:
print('๊ทธ์ธ',i, '=>','์ซ์ 3๊ณผ 5๋ก ๋๋ ์ง์ง ์์')
div()
์ง์ญ๋ณ์(Local)์ ์ ์ญ๋ณ์(Global)
- ์ง์ญ๋ณ์ : ํจ์ ์์์ ์ ์๋ ๋ณ์๋ก, ํจ์ ๋ด์์๋ง ์์ ํ๊ณ ์ฝ์ ์ ์์
- ์ ์ญ๋ณ์ : ํ๋์ ํ์ด์ฌ ํ์ผ ์ ์ฒด์์ ์ฌ์ฉํ ์ ์๋ ๋ณ์
glo = 'jayden' ### ์ ์ญ๋ณ์ ์ ์ธ
def hi():
lo = 'goguma' ### ์ง์ญ๋ณ์ ์ ์ธ
global glo2 ### ํจ์ ๋ด์์ ์ ์ญ๋ณ์ ์ ์ธํ๋ ๋ฐฉ๋ฒ
glo2 = 'hodu'
์์ธ์ฒ๋ฆฌ
- ์ค์ ์ฝ๋ ์๋ฌ ๋ฐ์ ์, ์์ฑํ ํ๋ก๊ทธ๋จ์ด ์๋์ ๋ฉ์ถ๊ฒ ๋จ
- ๋จ์ํ ์ฝ๋์์๋ ์์ธ์ฒ๋ฆฌ์ ํ์ฉ๋๊ฐ ๋ฎ์ผ๋, ์ค์ ์๋น์ค๋ก ๊ตฌํ ์ ํน์ ์ํฉ์ ํ๋ก๊ทธ๋จ์ด ์๋์ ๋ฉ์ถ๋ ๊ฒฝ์ฐ๋ ์์ด์ผํจ
- ์ฆ, ์ํ๋ ๊ฒฐ๊ณผ ์ด์ธ์ ์๊ฐ์น๋ชปํ ์๋ฌ์ ๋ํด์ ํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์๋ํ๊ฒ๋ ํ๋ ์์ ์ด ํ์
[์์ธ์ฒ๋ฆฌ] try, except, finally
try:
a
except:
b
### a์ ๋ํด ์คํํ๊ณ ์์ธ ์ํฉ ์ b๋ฅผ ์คํ
try:
a
except ๋ฐ์ ์ค๋ฅ:
b
### a์ ๋ํด ์คํํ๊ณ '๋ฐ์ ์ค๋ฅ' ์ b๋ฅผ ์คํ(์ฆ, ์์ ๊ฒฝ์ฐ๋ณด๋ค ๋ ์์ ๋ฒ์ -> ํน์ ์ค๋ฅ์ ๋ํด์๋ง ์์ธ์ฒ๋ฆฌ)
try:
a
finally:
b
### a์ ๋ํด ์คํํ๊ณ , a์ ๋ํด ์ด๋ค ์์ธ ๋ฐ์ ์ฌ๋ถ์ ์๊ด์์ด b๋ฅผ ์คํํ๋ค.
try:
age=int(input('๋์ด๋ฅผ ์
๋ ฅํ์ธ์: '))
except:
print('์
๋ ฅ์ด ์ ํํ์ง ์์ต๋๋ค.')
else:
if age <= 18:
print('๋ฏธ์ฑ๋
์๋ ์ถ์
๊ธ์ง์
๋๋ค.')
else:
print('ํ์ํฉ๋๋ค.')
### else๋ฅผ ํ์ฉํ ์ข์ ์์(์ค๋ฅ๊ฐ ์์ ๋๋ง, else๊ฐ ์คํ๋๋ค.)
[์์ธ์ฒ๋ฆฌ] raise, assert
- raise : ๊ฐ์ ๋ก ์ค๋ฅ๋ฅผ ๋ฐ์์ํค๋ ๋ช ๋ น์ด
- assert : ํน์ ๊ตฌ๋ฌธ์ด True ์ธ ๊ฒฝ์ฐ passํ๊ณ , False ์ธ ๊ฒฝ์ฐ ์๋ฌ ๋ฐ์
### raise๋ฅผ ์ด์ฉํ์ฌ ์๋ฌ ๋ฐ์์ํค๊ธฐ
a = '5'
if type(a) != 'int':
raise Exception('์ซ์๊ฐ ์๋๋๋ค.')
### ์์ ์ํฉ์ assert๋ก ๊ตฌํ
a = '5'
assert type(a) == 'int', Exception('์ซ์๊ฐ ์๋๋๋ค.')
'๐ฟ Data > ๋ถํธ์บ ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[TIL] 95. python ์๋ฃ๊ตฌ์กฐ ๋ฐ ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ณธ (0) | 2022.03.31 |
---|---|
[TIL] 94. python OOP (0) | 2022.03.30 |
[TIL] 92. python ๊ธฐ๋ณธ (0) | 2022.03.28 |
[TIL] 85. GAN(Generative Adversarial Networks) (0) | 2022.03.15 |
[TIL] 84. AutoEncoder (0) | 2022.03.14 |