240501 Today I Learn
๋งค๊ฐ๋ณ์ vs. ์ธ์
๐ก ๋งค๊ฐ๋ณ์ vs. ์ธ์
* ๋งค๊ฐ๋ณ์ : ํจ์๋ฅผ ์ ์ํ ๋ ํจ์๊ฐ ๋ฐ์๋ค์ด๋ ๊ฐ
* ์ธ์ : ํจ์ ํธ์ถ ์ ํจ์์ ์ ๋ฌ๋๋ ๊ฐ
โถ๏ธ ์์ 1
#1
def greet(name):
print("Hello, " + name + "!")
#2
greet("Alice")
- #1์ name์ ํจ์๋ฅผ ์ ์ํ ๋ ์ฌ์ฉ๋๋ ๊ฐ์ผ๋ก ๋งค๊ฐ๋ณ์์ด๋ค.
- #2์์ "hello ์ด๋ฆ !"์ ๋ฐํํ๋ greetํจ์ ์์ ์๋ Alice๋ ํจ์์ ์ ๋ฌ๋๋ ๊ฐ์ผ๋ก ์ธ์์ด๋ค.
โถ๏ธ ์์ 2) ๊ฐ์กฑ์ ๊ฐ์ง ์น๊ฐ๋ค ์ค์์ ๊ฐ์ฅ ๋ง์ ๊ฐ์กฑ์ ๊ฐ์ง ์น๊ฐ์ ์ฐพ๋ ํจ์๋ฅผ ๋ง๋ค์ด๋ผ.
def largest_family(df):
family = df['SibSp']+df['Parch']
answer = []
for i, k in enumerate(family):
if k == max(family):
answer.append(df.loc[i]['Name'])
return answer
largest_family(df)
- ํจ์ `largest_family`๋ฅผ ์ ์ํ ๋ ์ฌ์ฉ๋ `df`๋ ๋งค๊ฐ๋ณ์์ด๊ณ ,
- ํจ์ `largest_family`๋ฅผ ์ฌ์ฉํ ๋ ๊ดํธ ์์ ์ ์ `df`๋ ์ธ์์ด๋ค.
๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ ์ค์ ํ๊ธฐ
๋งค๊ฐ๋ณ์๋ฅผ ์ ๋ ฅํ ๋, `๋งค๊ฐ๋ณ์ = value(๊ฐ)`ํํ๋ก ์์ฑํด ๊ธฐ๋ณธ๊ฐ์ ์ค์ ํ ์ ์๋ค.
def greet(name="Guest", age=25):
print("์ด๋ฆ:", name)
print("๋์ด:", age)
greet()
## ์ด๋ฆ : Guest
## ๋์ด : 25
- ์์ `greet`ํจ์์ ๊ฒฝ์ฐ name์ ๊ธฐ๋ณธ๊ฐ์ 'guest', age์ ๊ธฐ๋ณธ๊ฐ์ 25๋ก ์ค์ ํ๊ธฐ ๋๋ฌธ์, ๊ดํธ ์์ ์๋ฌด๊ฒ๋ ์ ๋ ฅํ์ง ์์ `greet()`์ ๊ฒฐ๊ณผ๊ฐ์ ์์ ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
โถ๏ธ ์์ ) ํ์ดํ๋ ์น๊ฐ์ ์์กด์ ์ค ์ฑ๋ณ์ ๋ฐ๋ฅธ ์์กด์์ ์๋ฅผ ๊ณ์ฐํ๊ณ ์ถ๋ ฅํ๋ ํจ์๋ฅผ ๋ง๋ค์ด๋ผ. ์ด๋ ์ฑ๋ณ์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅ ๋ฐ์ ์ ์๋๋ก ํ๊ณ ๊ธฐ๋ณธ๊ฐ์ 'female'์ด๋ค.
def survived_female(df, gender = 'female'):
female_survivor = 0
for x, y in zip(df['Sex'], df['Survived']):
if x == gender and y == 1:
female_survivor+=1
return female_survivor
survived_female(df)
- ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ดํฐ ํ๋ ์`df`์ ์ฑ๋ณ`gender`๋ฅผ ์ ๋ ฅํ๊ณ
- ๊ธฐ๋ณธ๊ฐ์ ์ง์ ํ๊ธฐ ์ํด `gender = 'female'`์ ๊ฐ์ด ์์ฑํด์ค๋ค.
- ์ฑ๋ณ์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅ๋ฐ์์ผ๋ฏ๋ก ์ฑ๋ณ์ ํ์ ํ๋ ์กฐ๊ฑด๋ฌธ ์๋ฆฌ์๋ `gender`๊ฐ ๋ค์ด๊ฐ์ผ ํ๋ค.
- ๊ธฐ๋ณธ๊ฐ์ 'female'๋ก ์ง์ ํด์ฃผ์์ผ๋ฏ๋ก, ์์ ๊ฐ์ด `survived_female(df)`๋ก ์ ๋ ฅํ์์ ๋์๋ ์ฌ์ฑ ์์กด์์ ์๋ฅผ ๊ณ์ฐํ๋ ํจ์๊ฐ ๋๊ณ , `survived_female(df, 'male')`๊ณผ ๊ฐ์ด ์ ๋ ฅํ๋ฉด ๋จ์ฑ ์์กด์์ ์๋ฅผ ๊ณ์ฐํ๋ ํจ์๊ฐ ๋๋ค.