SQL & Python Study

[D+12] ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ํŒŒ์ด์ฌ(4) - ํ•จ์ˆ˜, ๋ณ€์ˆ˜, ์ธ์ˆ˜ ๋ณธ๋ฌธ

๐Ÿ’กPython

[D+12] ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ํŒŒ์ด์ฌ(4) - ํ•จ์ˆ˜, ๋ณ€์ˆ˜, ์ธ์ˆ˜

๊น€์ˆฎ์—‰ 2024. 5. 2. 22:13

4์ฃผ์ฐจ๋ฅผ ์ง€๋‚˜๋Š” ์ค‘์ด์–ด์•ผ ํ–ˆ๋Š”๋ฐ, ์˜ค๋Š˜ 5์ฃผ์ฐจ๊นŒ์ง€ ๋“ค์–ด์„œ ! ์™„๊ฐ• ์ด๋ฏธ์ง€๋กœ ๋Œ€์ฒด ํ•ฉ๋‹ˆ๋‹ค!

 

 

โœ๏ธ STUDY INDEX 

1. ํ•จ์ˆ˜ ์ •์˜  
2. ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜ 
- ์ „์—ญ ๋ณ€์ˆ˜ vs ์ง€์—ญ ๋ณ€์ˆ˜, ๋งค๊ฐœ ๋ณ€์ˆ˜ vs ์ธ์ˆ˜, ํ‚ค์›Œ๋“œ ์ธ์ˆ˜ vs ์œ„์น˜ ์ธ์ˆ˜  
- ๊ธฐ๋ณธ ๊ฐ’ ์„ค์ •, ๊ฐ€๋ณ€ ์ธ์ˆ˜ ํ™œ์šฉ๋ฒ• 

 

 

1. ํ•จ์ˆ˜ ์ •์˜ 


ํ•จ์ˆ˜๋Š” ๋ณ€์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์›ํ•˜๋Š” ์ฒ˜๋ฆฌ๋ฅผ ํ•œ ํ›„ ๊ฐ’์„ ๋‚ด๋ณด๋‚ด๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•ด์š”. 

์ฆ‰, ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜์—ฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ˜•ํƒœ๋กœ ์ •์˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

๊ทธ๋ž˜์„œ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ชจ๋“ˆํ™” ํ•  ์ˆ˜ ์žˆ๊ณ  ์œ ์ง€ ๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์–ด์š”.

ํ•จ์ˆ˜๋Š” def ํ‚ค์›Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ •์˜ํ•ด์š”. 

def ํ•จ์ˆ˜๋ช… (๋งค๊ฐœ ๋ณ€์ˆ˜1, ๋งค๊ฐœ ๋ณ€์ˆ˜ 2 ...) : 
    ์ˆ˜ํ–‰ํ•  ์ž‘์—… ์ฝ”๋“œ 
    return ๊ฒฐ๊ณผ๊ฐ’

(์˜ˆ์ œ) ๋ฆฌ์ŠคํŠธ ํ•ฉ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ ๋งŒ๋“ค๊ธฐ

#ํ•จ์ˆ˜ ์ •์˜
def calculate (usr_list) :
  cnt = 0 
  for i in usr_list :  
  	cnt += i 
  return cnt

#ํ•จ์ˆ˜ ํ˜ธ์ถœ  
user_list_data = [10, 20, 30, 40, 50]
calculate(user_list_data) #๊ฒฐ๊ณผ : 150

 

2. ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜ 


ํŒŒ์ด์ฌ๊ณผ ํ•จ์ˆ˜์—์„œ ์ง€์นญํ•˜๋Š” ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ํ™•์‹คํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๊ณ  ๋„˜์–ด๊ฐ‘์‹œ๋‹ค.

โ‘   ์ „์—ญ ๋ณ€์ˆ˜์™€ ์ง€์—ญ ๋ณ€์ˆ˜ 

  • ์ „์—ญ ๋ณ€์ˆ˜(global variables) : ํ•จ์ˆ˜ ๋ฐ–์—์„œ ์ •์˜๋œ ๋ณ€์ˆ˜. ํ”„๋กœ๊ทธ๋žจ ์–ด๋””๋“  ์ ‘๊ทผ ๊ฐ€๋Šฅ.
  • ์ง€์—ญ ๋ณ€์ˆ˜(local variables) : ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ •์˜๋œ ๋ณ€์ˆ˜. ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ.
    ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋  ๋•Œ ์ƒ์„ฑ๋˜๋ฉฐ, ์ข…๋ฃŒ๋˜๋ฉด ์‚ฌ๋ผ์ง. → ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰ ๊ด€๋ฆฌ์— ์œ ์šฉ! 

โ‘ก  ๋งค๊ฐœ ๋ณ€์ˆ˜์™€ ์ธ์ˆ˜ 

  • ๋งค๊ฐœ ๋ณ€์ˆ˜(parameter) : ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•  ๋•Œ, ํ•จ์ˆ˜๊ฐ€ ๋ฐ›์•„๋“ค์ด๋Š” ๊ฐ’! def user_funtion (๋งค๊ฐœ ๋ณ€์ˆ˜) : ... 
  • ์ธ์ˆ˜ (argument) : ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ํ•จ์ˆ˜์— ์ „๋‹ฌ๋˜๋Š” ๊ฐ’์œผ๋กœ, ํ•จ์ˆ˜์—์„œ ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ํ™œ์šฉ๋จ. user_funtion(์ธ์ˆ˜

โ‘ข  ์œ„์น˜ ์ธ์ˆ˜์™€ ํ‚ค์›Œ๋“œ ์ธ์ˆ˜ 

  • ์œ„์น˜ ์ธ์ˆ˜(positional argument) : ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ์œ„์น˜์— ๋”ฐ๋ผ ์ „๋‹ฌ๋˜๋Š” ์ธ์ˆ˜ 
  • ํ‚ค์›Œ๋“œ ์ธ์ˆ˜(keyword argument) : ํŠน์ • ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๊ฐ’์„ ํ• ๋‹นํ•˜์—ฌ ์ „๋‹ฌํ•˜๋Š” ์ธ์ˆ˜.
    ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ์œ„์น˜๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์ถœ๋ ฅ ๊ฐ’์— ๋ณ€๋™ ์—†์Œ. 
def message (name, age) : 
	print (f"์ด๋ฆ„ : {name} \n ๋‚˜์ด : {age}")

message('ํ•˜๋‹ˆ', '20') # ์œ„์น˜ ์ธ์ˆ˜ 
message(name='ํ•˜๋‹ˆ', age='20') # ํ‚ค์›Œ๋“œ ์ธ์ˆ˜

โ‘ฃ ๋งค๊ฐœ ๋ณ€์ˆ˜์— ์ธ์ˆ˜๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š์•˜์„ ๋•Œ, ๊ธฐ๋ณธ๊ฐ’(Default Values) ์„ค์ • 

def hello_message(user = '์‹ ์ž…์ƒ') : # ๋งค๊ฐœ ๋ณ€์ˆ˜์— ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •
	print(f"{user} ๋‹˜, ์ž…ํ•™์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค!")
 
hello_message()

 

โ‘ค ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ธ์ˆ˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š”, ๊ฐ€๋ณ€ ์ธ์ˆ˜(Variable-length Arguments) ํ™œ์šฉ

  • *args : ์ž„์˜์˜ ๊ฐœ์ˆ˜์˜ ์œ„์น˜ ์ธ์ˆ˜ ์ „๋‹ฌ 
  • **kwargs  : ์ž„์˜์˜ ๊ฐœ์ˆ˜์˜ ํ‚ค์›Œ๋“œ ์ธ์ˆ˜ ์ „๋‹ฌ
def sum_list(*arg):
    x = 0
    for num in arg:
        x += num
    return x

sum_list(1, 0, 3, 33, 8)
# ๊ฒฐ๊ณผ : 45
def user_dict (**kwargs) : 
  x = {} 
  for key, value in kwargs.items() : 
    x[key] = value
  return x 

user_dict(name = '๋ฏผ์ง€', gender = '์—ฌ์„ฑ', age = '21')
#๊ฒฐ๊ณผ : {'name': '๋ฏผ์ง€', 'gender': '์—ฌ์„ฑ', 'age': '21'}

 

[ TIL ]  2024. 5. 2  

 

์˜ค๋Š˜์˜ ๋ณต์Šต์€ ์—ฌ๊ธฐ๊นŒ์ง€์ž…๋‹ˆ๋‹ค. 

 

์‚ฌ์‹ค ์˜ค๋Š˜์€ ๊ฐ•์˜๋ฅผ ๋“ฃ๋Š” ๊ฒƒ๋ณด๋‹ค ํŒŒ์ด์ฌ ๊ณผ์ œ์— ์‹œ๊ฐ„์„ ๋งŽ์ด ์ผ์Šต๋‹ˆ๋‹ค. ์บ๊ธ€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ 10๊ฐœ์˜ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๊ฒƒ์ธ๋ฐ ๋งŽ์ด ์–ด๋ ต๋”๋ผ๊ณ ์š”. ๊ทธ๋ž˜๋„ ์ƒ๊ฐ๋ณด๋‹ค ๋น ๋ฅด๊ฒŒ ๊ณผ์ œ๋ฅผ ๋งˆ๋ฌด๋ฆฌํ•  ์ˆ˜ ์žˆ์—ˆ์–ด์š”! ๊ฐ•์˜๋ฅผ ๋“ค์„ ๋• ๊ธฐ์ดˆ ์˜ˆ์ œ๋งŒ ํ’€์—ˆ๋‹ค ๋ณด๋‹ˆ ๊ฑฑ์ •์ด ๋งŽ์•˜๋Š”๋ฐ(๋‹ค๋“ค ์—ญ๋Œ€๊ธ‰ ๋‚œ์ด๋„๋ผ๊ณ  ํ•ด์„œ ์ž”๋œฉ ๊ฒ๋จน์—ˆ์–ด์š”..) ์ž˜ ํ‘ผ ๊ฒƒ ๊ฐ™์•„ ๋‹คํ–‰์ž…๋‹ˆ๋‹ค ใ…Žใ…Ž ๋‚ด์ผ ํŠœํ„ฐ๋ง ์„ธ์…˜์„ ๋“ฃ๊ณ , ๊ฒฐ๊ณผ ๊ฐ’์ด ์ž˜ ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธํ•ด ๋ด์•ผ๊ฒ ์–ด์š”!

 

๋‚จ์€ ์ฃผ๊ฐ„์—๋Š” ์ฝ”๋žฉ์— ํŒŒ์ผ์„ ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ฐฉ๋ฒ• + ์–ด๋ ค์› ๋˜ SQL ์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๋ฌธ์ œ ํ’€์ด ํฌ์ŠคํŒ…์„ ์ง„ํ–‰ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค! ํŒŒ์ด์ฌ, ์ €๋„ ์ชผ๊ธˆ์€ ๊ฐœ๋…์ด ์žกํžŒ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค! ์š”์ฆ˜ ์ง‘์ค‘๋ ฅ์ด ๋–จ์–ด์ง€๋Š”๋ฐ, ์ •์‹  ์ฐจ๋ฆฌ๊ณ  ๋”๋” ๋งŽ์ด ์ง‘์ค‘ํ•ด์„œ ๊ณต๋ถ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค!๐Ÿ€