ํจ์(function, method)
ํจ์๋ฅผ ๋ง๋ค ๋ ์๊ฐํด์ผ๋ 4๊ฐ์ง
- x๊ฐ → y = test()
- y๊ฐ → test(x)
- ํ์ํ ๋ด๋ถ ์ฒ๋ฆฌ
- ํจ์ ์ด๋ฆ : ์ต๋ํ ์๋ฏธ์๊ฒ ์ฐ๋๊ฒ ์ข๋ค
* ์ฐธ๊ณ ) x ๋ y ๊ฐ์ด ์์ ์๋ ์๋ค
def total_nums(num1, num2=7): # ๋ํดํธ ๊ฐ ์ง์ ๋ ๊ฐ๋ฅํ๋ ๋ค์์๋ถํฐ ์ง์ ํด์ผํ๋ค
total = num1 + num2
return total # return ๊ฐ์ ์ฌ๋ฌ ๊ฐ ๋ง๋ค ์ ์๋ค
total_nums(13) # ํจ์๋ฅผ ์คํ(ํธ์ถ)ํ ๋ num1, num2 ๋ณ์๊ฐ ์๊ธฐ๊ณ ,
# return์ ํ๋ ์๊ฐ total์ด๋ผ๋ ๋ณ์๊ฐ ์๋๋ผ ๊ทธ ์์ ๋ด๊ธด "๊ฐ"์ด ๋๊ฐ๋ค
๋งค๊ฐ๋ณ์(parameter) : ํจ์์ ์ ๋ ฅ์ผ๋ก ์ ๋ฌ๋ ๊ฐ์ ๋ฐ๋ ๋ณ์. (์ฌ๊ธฐ์๋ num1, num2)
์ธ์(argument) : ํจ์๋ฅผ ํธ์ถํ ๋ ํจ์์ ์ ๋ฌํ๋ ์ ๋ ฅ๊ฐ. (์ฌ๊ธฐ์๋ 13)
Coding convention
PEP8(Python Enhancement proposals)
: ํ์ด์ฌ ์ธ์ด๋ฅผ ๋ฐ์ ์์ผ ๋๊ฐ๊ณ ์ ํ๋ ๋ ธ๋ ฅ์์ ๋ชจ์ ์ฝ๋ ์์ฑ ์ ์๋ค
[ ๋ณ์ ๋ค์ด๋ฐ ๊ท์น ]
- snake_case ← ํ์ด์ฌ์ ๋ณ์๋ช /ํจ์๋ช
- PascalCase ← ํ์ด์ฌ์ class
- camelCase
- kebab-case
List(๋ฆฌ์คํธ)
๐ฝ ๋ฆฌ์คํธ ์์ดํ ์ ์ญ์ ํ๋ 3๊ฐ์ง ๋ฐฉ๋ฒ
1. ๋ฐ์ดํฐ์ ์๋ฆฌ(์์)๋ฅผ ํ์ฉํ๋ค : del list[index๋ฒํธ]
2. ๋ฐ์ดํฐ ๊ฐ ์์ฒด๋ฅผ ํ์ฉํ๋ค : list.remove(๊ฐ)
3. list.pop() - ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฆฌ์คํธ์ ๋ง์ง๋ง ์์๋ฅผ ์ญ์ ํ๊ณ ๋ฐํ(return)ํ๋ค. stack ๊ตฌ์กฐ
๐ฝ ๋ฆฌ์คํธ ์์ดํ ์ ๋ ฌ
list.sort()
* ์ฐธ๊ณ ) ์ญ์ผ๋ก ์ ๋ ฌ : list.sort( reverse = True )
Dict(๋์ ๋๋ฆฌ)
value ๊ฐ ๊ตฌํ๊ธฐ : dict.get( 'key ๊ฐ' )
* ์ฐธ๊ณ )
์๋ key ๊ฐ์ ๊ตฌํ ๋, '์๋ค'๋ผ๊ณ ๋ํ๋ด๊ณ ์ถ์ผ๋ฉด?! dict.get('key ๊ฐ', '์๋ค')
๋ชจ๋ value ๊ฐ์ ๊ตฌํ๋ ค๋ฉด?! dict.values()
tuple(ํํ)
ํํ์ ์๋์ ์ผ๋ก ๋ฐ์๋ค์ฌ์ ์ฐ์ง, ๋ง๋ค์ด์ ์ธ ์ผ์ ๋ณ๋ก ์๋ค.
์๋ฅผ ๋ค์ด, ํจ์๋ฅผ ๋ง๋ค๊ณ ์ฌ๋ฌ ๊ฐ์ ๋ฆฌํด๊ฐ์ ํ๋์ ๋ณ์๋ก ๋ฐ์ผ๋ฉด ํํ๋ก ๋์จ๋ค.
set(์งํฉ)
์ค๋ณต์ ํ์ฉํ์ง ์๋๋ค. ์งํฉ ์ฐ์ฐ ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค(ํฉ์งํฉ, ๊ต์งํฉ, ์ฐจ์งํฉ)
- ํฉ์งํฉ : set.union( ์ธํธ1, ์ธํธ2 ) ๋๋ OR ์ฐ์ฐ์ |
- ๊ต์งํฉ: set.intersection( ์ธํธ1, ์ธํธ2 ) ๋๋ AND ์ฐ์ฐ์ &
- ์ฐจ์งํฉ: set.difference( ์ธํธ1, ์ธํธ2 ) ๋๋ ๋บ์ ์ฐ์ฐ์ -
- ๋์นญ์ฐจ์งํฉ: set.symmetric_difference( ์ธํธ1, ์ธํธ2 ) ๋๋ XOR ์ฐ์ฐ์ ^
IF (์กฐ๊ฑด)
- 0 ์ด ์๋ ๋ชจ๋ ์ & ๋น์ด์์ง ์์ ์งํฉํ ๋ณ์ : True
- 0 or ๋น์ด์๋ ๋ชจ๋ ์งํฉํ ๋ณ์ : False
For
index์ ์์๋ฅผ ๋์์ ์ ๊ทผํ ์ ์๋ ๋ฐฉ๋ฒ! enumerate() ๋ด์ฅํจ์
for index, letter in enumerate(['H','K']):
print(index, letter)
# ๊ฒฐ๊ณผ
# 0 H
# 1 K
BoW(Bag of Words) - ๋จ์ด ์ฌ์ ๋ง๋ค๊ธฐ
# ์์ ๋ฌธ์ฅ
sentence = 'This is Python world. Python is very fun. I like python'
# ๋ฌธ์ฅ ์ชผ๊ฐ๊ธฐ - ๋/์๋ฌธ์ ๊ตฌ๋ถ์์ด ๋จ์ด ์ฌ์ฉ ํ์๋ฅผ ์ฒดํฌํ๊ธฐ ์ํด ๋ชจ๋ ์๋ฌธ์๋ก ๋ฐ๊พผ ์ํ์์ ๋๋!
words = sentence.lower().split(' ')
# ๋ฐฉ๋ฒ1
# ์๊ฐ ์ฃผ์ธ๊ณต!
bag_of_words = {}
# ํ์ ์ฒดํฌ
for word in words:
if word not in bag_of_words:
bag_of_words[word] = 1
else:
bag_of_words[word] += 1
print(bag_of_words)
# ๋ฐฉ๋ฒ2
# collections ๋ชจ๋ Counter ์ฌ์ฉํ๊ธฐ
from collections import Counter
bag_of_words = dict(Counter(words))
print(bag_of_words)
pass ์ continue ์ฐจ์ด
pass๋ ๊ตฌ๋ฌธ์ ์ฝ๋๊ฐ ํ์ํ์ง๋ง ํ๋ก๊ทธ๋จ์ด ์๋ฌด ์์ ๋ ํ์ง ์๊ธฐ๋ฅผ ๋ฐ๋ ๋ ์ฌ์ฉํ๋ค.
์ฆ, ์คํํ ์ฝ๋๊ฐ ์์ผ๋ ๊ทธ๋ฅ ๋์ด๊ฐ! ๋ผ๋ ์๋ฏธ๋ค.
continue๋ ๋ค์ ์๋ฒ์ ๋ฃจํ๊ฐ ๋๋๋ก ์ด๋ฒ ๋ฐํด๋ ์ฌ๊ธฐ์ ๋์ด๊ฐ! ๋ผ๋ ์๋ฏธ๋ค.
class(ํด๋์ค)
class๋ ๊ณง ๋ถ์ด๋นต ํ๋ก ์๊ฐํ๋ฉด ํธํ๋ค. ์ค๊ณ๋(blueprint)์ ๋น์ ํ๊ธฐ๋ ํ๋ค.
์ฌ๊ธฐ์ ๋ถ์ด๋นต์ (ํด๋์ค) (์ธ์คํด์ค) ๊ฐ์ฒด ๋ณ์๋ค ⇒ class instance object variable
((ํด๋์ค ๊ฐ์ฒด ๋ณ์, ํด๋์ค ์ธ์คํด์ค, ๊ฐ์ฒด ๋ณ์, ๋ณ์, ์ธ์คํด์ค ๋ฑ ๋ค ๊ฐ์ ๋ง์ด๋ค.))
๋ถ์ด๋นต์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐฐ๋์ ์๊ฐ๋์ ์กด์ฌํ๋ค๊ฐ ์ฌ๋ผ์ง ๊ฒ์ด๊ธฐ์ 'instant'์์ ๋ฐ์ ์ธ์คํด์ค๋ผ๊ณ ๋ถ์๋ค.
# class ์์
class Person:
# ์์ฑ์(Constructor) - ํด๋์ค๋ผ๋ ์ค๊ณ๋๋ฅผ ๋ฐ๋ผ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ ์ด๊ธฐํ ๊ฐ
def __init__(self):
self.things = ['book','pencil','laptop']
# ์์งํ ํ์ธํ๋ ํจ์
def check_items(self):
print(self.things)
# ์์งํ ๋ฌผ๊ฑด ์ถ๊ฐํ๋ ํจ์
def plus_item(self, item):
self.things.append(item)
print(self.things)
# ์ฌ์ฉํ๊ธฐ
User_A = Person()
User_A.check_items()
# ๊ฒฐ๊ณผ: ['book', 'pencil', 'laptop']
User_A.plus_item('bible')
# ๊ฒฐ๊ณผ: ['book', 'pencil', 'laptop', 'bible']
โ ๏ธ ํด๋น ๊ธ์ ๋ฉ์์ด์ฌ์์ฒ๋ผ AI SCHOOL ๊ต์ก ๋ด์ฉ์ ๋ณต์ตํ๊ธฐ ์ํด ์์ฑํ์์ต๋๋ค
โ ๏ธ ์์ ์ฝ๋๋ ๋ชจ๋ ๋ณํํ์ต๋๋ค
'TIL๐ฅ > ๋ฉ์์ด์ฌ์์ฒ๋ผ_AI School 5๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 10 (0) | 2022.03.23 |
---|---|
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 9 (0) | 2022.03.22 |
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 6 (0) | 2022.03.19 |
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 5 (0) | 2022.03.18 |
[๋ฉ์ฌ] AI SCHOOL 5๊ธฐ_ Day 4 (0) | 2022.03.17 |
๋๊ธ