Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- ์์ด๊ณต๋ถ
- ์์ด์์ธ
- ํธ์ฃผ์ํ๋น์
- ํจ์คํธ์บ ํผ์ค #๋ด์ผ๋ฐฐ์์นด๋ #๊ตญ๋น์ง์๊ต์ก #k๋์งํธ๊ธฐ์ด์ญ๋ํ๋ จ #์๋น์ค๊ธฐํ
- ํธ์ฃผ์ํ
- ๋ณดํ
- ์คํฝ
- ๋ง์ด๋ฑ ํฌ
- ํธ์ฃผ์ํ์์ด
- ๋น์๊ฒ์ง
Archives
- Today
- Total
ํ ๊ฑธ์์ฉ
[python] ์ ์ด๋ฌธ, ๋ฐ๋ณต๋ฌธ, ํจ์ ๋ณธ๋ฌธ
๐ฑ if ๋ฌธ
a, b = 13, 4
if a > b:
print('Hi')
elif a < b:
print('Failed')
else:
print('wow')
>> Hi
๐ฑ for loop
# ์ ์๋ฅผ ๋ฐ๋ณต
for i in range(4):
print(i, end=" ")
>> 0 1 2 3
print(list(range(5, 10)))
>> [5, 6, 7, 8, 9]
print(list(range(0, 10, 3)))
>> [0, 3, 6, 9]
# ๋ฌธ์์ด์ ๋ฐ๋ณต
for i in 'CAMBRIDGE":
print(i, end=" ")
>> C A M B R I D G E
# ๋ฆฌ์คํธ๋ฅผ ๋ฐ๋ณต
words = ['cat', 'window', 'defenestrate']
for w in words:
print(w, len(w))
>> cat 3
>> window 6
>> defenestrate 12
# ๋์
๋๋ฆฌ ๋ฐ๋ณต
users = {'Hans': 'active', 'Éléonore': 'inactive', 'ๆฏๅคช้': 'active'}
for user, status in users.copy().items(): # ๋์
๋๋ฆฌ์ ํค์ ๊ฐ์ ํ๋ฒ์ ์ถ๋ ฅ: .items()
if status == 'inactive':
del users[user] # ๋์
๋๋ฆฌ์์ 'inactive' ๊ฐ ์ญ์
print(users)
>> {'Hans': 'active', 'ๆฏๅคช้': 'active'}
active_users = {}
for user, status in users.items():
if status == 'active':
active_users[user] = status # users ๋์
๋๋ฆฌ์ ํค์ ๊ฐ์ ์กฐ๊ฑด์ ๋ง๊ฒ active_users ๋์
๋๋ฆฌ์ ์ถ๊ฐ
print(active_users)
>> {'Hans': 'active', 'ๆฏๅคช้': 'active'}
๐ฑ break, continue, else, pass
- else: loop๋ฌธ์ else ์ ์ ๊ฐ์ง ์ ์๋๋ฐ loop์ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด ๋ผ์ loop๊ฐ ์ข
๋ฃ๋ ๋ ์คํ (try ~ except ์์ธ์ฒ๋ฆฌ ๋ฐฉ์๊ณผ ๋น์ท)
- try๋ฌธ์ else์ ์ ์์ธ๊ฐ ๋ฐ์ํ์ง ์์ ๋
- loop์ else์ ์ break๊ฐ ๋ฐ์ํ์ง ์์ ๋ ์คํ
- break: loop๊ฐ break ๋ฌธ์ผ๋ก ์ข ๋ฃํ ๋๋ ์คํX
- continue: loop์ ๋ค์ iteration(๋ฐ๋ณต)์์ ๊ณ์ํ๋๋ก ๋ง๋ฆ
- pass: pass๋ฌธ์ ํ๋ก๊ทธ๋จ์ด ํน๋ณํ ํ ์ผ์ด ์์ ๋ ์ฌ์ฉ, ๋ฌด์๋จ
๐ฑ ํจ์
โถ๏ธ ํจ์ ์ ์ํ๊ธฐ
# ํจ์๋ฅผ ์ ์ํ๊ณ ํธ์ถํ๊ธฐ
# def๋ ํจ์ ์ ์, fib ์๋ฆฌ๋ ํจ์์ด๋ฆ, ๊ดํธ ์: ๋งค๊ฐ๋ณ์(parameter)
def fib(n): # fib(10)์ 10์ n์ ๋์
๋๋ฉด์ ์์
a, b = 0, 1
while a < n: # a๊ฐ์ด n = 10๋ณด๋ค ํฌ์ง ์์ ๋๊น์ง while loop ์คํ
print(a, end=' ')
a, b = b, a+b # a, b๊ฐ์ด ๊ณ์ ๋ฐ๋
print()
fib(10) # ํจ์ ํธ์ถ
>> 0 1 1 2 3 5 8
print(fib)
>> <function fib at 10042ed0>
f = fib
f(100)
>> 0 1 1 2 3 5 8 13 21 34 55 89
# return ๋ฌธ์ด ์๋ ํจ์๋ None ๊ฐ์ผ๋ก ๋ฐํ
print(fib(0))
>> None
print(fib(10))
>> 0 1 1 2 3 5 8
>> None
โถ๏ธ return
# return : ์๋ ์์น๋ก ๋์๊ฐ + ํจ์๋ฅผ ์ฌ๊ธฐ์ ๋๋ด / ๋ฆฌํด ๊ฐ์ด ์๋ค๋ฉด None
# ์์ 1
def return_test():
print('A ์
๋๋ค')
return
print('B ์
๋๋ค')
return_test()
>> A ์
๋๋ค
# ์์ 2
def fib2(n):
result = [] # result ๋น ๋ฆฌ์คํธ ์์ฑ
a, b = 0, 1
while a < n:
result.append(a) # ์กฐ๊ฑด์ด True์ผ ๋๋ง๋ค result๋ฆฌ์คํธ์ a๋ฅผ append
a, b = b, a+b
return result # ํจ์๋ก๋ถํฐ ๊ฐ์ ๊ฐ๊ณ ๋ณต๊ทํ๊ฒ ๋ง๋ฆ, ๊ฐ์ด ์๋ค๋ฉด None
f100 = fib2(100) # call it
print(f100) # write the result
>> [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
โถ๏ธ ํค์๋ ๋งค๊ฐ๋ณ์
# ํค์๋ ๋งค๊ฐ๋ณ์
def print_n_times(*values, n=2): # ๊ธฐ๋ณธ ๋งค๊ฐ๋ณ์(n=2)๊ฐ ๊ฐ๋ณ ๋งค๊ฐ๋ณ์(*values)๋ณด๋ค ์์ ์ค๋ฉด ์ค๋ฅ๋ฐ์
for i in range(n):
for value in values:
print(value)
print(value)
print() # ์ค๋ฐ๊ฟ
# ํจ์ ํธ์ถ
print_n_times('์๋
ํ์ธ์', '์ฆ๊ฑฐ์ด', 'ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ', n=3) # n=3์ด ํค์๋ ๋งค๊ฐ๋ณ์
>> ์๋
ํ์ธ์
>> ์ฆ๊ฑฐ์ด
>> ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ
>> ์๋
ํ์ธ์
>> ์ฆ๊ฑฐ์ด
>> ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ
>> ์๋
ํ์ธ์
>> ์ฆ๊ฑฐ์ด
>> ํ์ด์ฌ ํ๋ก๊ทธ๋๋ฐ
โถ๏ธ ์ฌ๊ท ํจ์
- ์ฌ๊ท(recursion) : ์๊ธฐ ์์ ์ ํธ์ถํ๋ ๊ฒ
- ์ํฉ์ ๋ฐ๋ผ ๊ฐ์ ๊ฒ์ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋ง์ด ๋ฐ๋ณตํ๋ค๋ ๋จ์ ์กด์ฌ
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
print('5!:', factorial(5))
>> 5!: 120
โถ๏ธ UnboundLocalError
- ํ์ด์ฌ์ ํจ์ ๋ด๋ถ์์ ํจ์ ์ธ๋ถ์ ์๋ ๋ณ์๋ฅผ ์ฐธ์กฐํ์ง ๋ชปํจ
- ํ์ง๋ง, ์ฐธ์กฐํ ์ ์๋ ๋ฐฉ๋ฒ ์กด์ฌ โก๏ธ ํจ์ ๋ด๋ถ์์ [global ๋ณ์ ์ด๋ฆ] ์์ฑ
โถ๏ธ lamda
- ํจ์๋ผ๋ '๊ธฐ๋ฅ'์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌํ๋ ์ฝ๋๋ฅผ ๋ง์ด ์ฌ์ฉํ๋๋ฐ ์ด๋ฐ ์ฝ๋๋ฅผ ํจ์จ์ ์ผ๋ก ์์ฑํ ์ ์๋๋ก ํ์ด์ฌ์ lamda๊ธฐ๋ฅ ์ ๊ณต
- lamda : ๊ฐ๋จํ ใ ๋ง์๋ฅด๋ฅด ์ฝ๊ฒ ์ ์ธํ๋ ๋ฐฉ๋ฒ
lambda ๋งค๊ฐ๋ณ์ : ๋ฆฌํด๊ฐ
ex) lambda x: x * x
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ๋ชจ๋ (0) | 2023.02.10 |
---|---|
[python] ์๋ฃ๊ตฌ์กฐ (0) | 2023.02.09 |
[python] ๋ด์ฅ ํจ์, ์ฉ์ด ๊ณต์๋ฌธ์ ํ์ธํ๊ธฐ (0) | 2023.02.07 |
[python] ๋ฆฌ์คํธ (0) | 2023.02.06 |
[python] ๋ฌธ์์ด (1) | 2023.02.06 |