๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
self-study/์ฝ”๋“œ์ž‡ - ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค

[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ต์‹ฌ ๊ฐœ๋… in Python] Python ๊ธฐ์ดˆ ๋ฌธ๋ฒ• ์™„๋ฒฝ ์ •๋ฆฌ - ์ž๋ฃŒํ˜• | ๋ฌธ์ž์—ด | ์ œ์–ด๋ฌธ | ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ(PEP8)

by all_zer0 2025. 1. 10.
๋ฐ˜์‘ํ˜•

 

์ž๋ฃŒํ˜•

1. ์ˆซ์žํ˜•

[ ์ฝ”๋“œ ]

print(7 % 3)   # ๋‚˜๋จธ์ง€
print(2 ** 3)   # ๊ฑฐ๋“ญ์ œ๊ณฑ
print(7 // 2)   # ๋ฒ„๋ฆผ ๋‚˜๋ˆ—์…ˆ
print(round(3.141592, 2)   # ๋ฐ˜์˜ฌ๋ฆผ(round)

 

[ ๊ฒฐ๊ณผ๋ฌผ ] 

1
8
3
3.14

 

 

2. Type ํ•จ์ˆ˜

[ ์ฝ”๋“œ ]

print(type(3))
[ ๊ฒฐ๊ณผ๋ฌผ ]

<class 'int'>

 

 

3. ๋ฌธ์ž์—ด๊ณผ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ(String Concatenation)

(1) ๊ธฐ๋ณธ ๋ฌธ์ž์—ด ์—ฐ๊ฒฐ ๋ฐฉ๋ฒ•

[ ์ฝ”๋“œ ]

subject = 'I'
emotion = 'excited'

print(subject + '\'m ' + emotion + ' to learn Python')

- ๋ฌธ์ž์—ด์— '๋‚˜ "๋ฅผ ์“ฐ๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์•ž์— \๋ฅผ ์จ์ค˜์•ผ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์ง€ ์•Š์Œ

 

 

(2) format์„ ์ด์šฉํ•œ ๋ฌธ์ž์—ด ํฌ๋งคํŒ…

year = 2019
month = 10
day = 29

# ๋ฐฉ๋ฒ• 1
print("์˜ค๋Š˜์€ " + str(year) + "๋…„ " + str(month) + "์›” " + str(day) + "์ผ์ž…๋‹ˆ๋‹ค.")

# ๋ฐฉ๋ฒ• 2
print("์˜ค๋Š˜์€ {}๋…„ {}์›” {}์ผ์ž…๋‹ˆ๋‹ค.".format(year, month, day))

# ๋ฐฉ๋ฒ• 3
date_string = "์˜ค๋Š˜์€ {}๋…„ {}์›” {}์ผ์ž…๋‹ˆ๋‹ค."
print(date_string.format(year, month, day))

 

 

(3) format ๋‹ค๋ฃจ๊ธฐ

[ ์ฝ”๋“œ ]

print("์ €๋Š” {1}, {0}, {2}๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค!". format("๋ฐ•์ง€์„ฑ", "์œ ์žฌ์„", "๋นŒ ๊ฒŒ์ด์ธ "))
[ ๊ฒฐ๊ณผ๋ฌผ ]

์ €๋Š” ์œ ์žฌ์„, ๋ฐ•์ง€์„ฑ, ๋นŒ ๊ฒŒ์ด์ธ ๋ฅผ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค!

 

 

4. ํ˜• ๋ณ€ํ™˜

  - ๊ฐ’์„ ํ•œ ์ž๋ฃŒํ˜•์—์„œ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ

print(float("1.1") + float("2.5"))   # ๊ฒฐ๊ณผ : 3.6
print(str(2) + str(5))   # ๊ฒฐ๊ณผ : 25

 

 

5. ๋ถˆ ๋Œ€์ˆ˜์˜ ์—ฐ์‚ฐ(AND / OR / NOT)

- AND ์—ฐ์‚ฐ : x์™€ y๊ฐ€ ๋ชจ๋‘ ์ฐธ์ผ ๋•Œ๋งŒ x AND y๊ฐ€ ์ฐธ

- OR ์—ฐ์‚ฐ : x์™€ y ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์ฐธ์ด๋ฉด x OR y๋Š” ์ฐธ

- NOT ์—ฐ์‚ฐ : ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘์–ด ์ฃผ๋Š” ๊ฒƒ

 

 

์ถ”์ƒํ™”

- ํŒŒ์ด์ฌ์—์„œ =๋Š” ์ง€์ •์—ฐ์‚ฐ์ž(assignment operator)๋กœ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ฐ’์„ ์™ผ์ชฝ์— ๋„ฃ์œผ๋ผ๋Š” ๋œป

- return๋ฌธ์˜ ์—ญํ•  : ํ•จ์ˆ˜ ์ฆ‰์‹œ ์ข…๋ฃŒํ•˜๊ธฐ, ๊ฐ’ ๋Œ๋ ค์ฃผ๊ธฐ

- (์ฐธ๊ณ ) return๊ณผ print์˜ ์ฐจ์ด

[ ์ฝ”๋“œ ] 

def print_square(x):
	print( x * x )
    
def get_square(x):
	return x * x	# ํ•จ์ˆ˜ ํ˜ธ์ถœ ๋ถ€๋ถ„์ด 9๋กœ ๋Œ€์ฒด๋˜๊ธฐ๋งŒ ํ•˜๊ณ  ์ถœ๋ ฅ๋ฌธ์ด ์—†์œผ๋ฏ€๋กœ ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ
[ ์ถœ๋ ฅ๋ฌผ ]

9

 

[ ์ฝ”๋“œ ] 

def print_square(x):
	print( x * x )	# return๋ฌธ์ด ๋”ฐ๋กœ ์—†๊ธฐ ๋•Œ๋ฌธ์— None์ด๋ผ๋Š” ๊ฐ’์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋จ
  	
def get_square(x):
	return x * x
   
print(get_sqaure(3))
print(print_square(3))
[ ์ถœ๋ ฅ๋ฌผ ]

9
None

 

 

์˜ต์…”๋„ ํŒŒ๋ผ๋ฏธํ„ฐ

- ํŒŒ๋ผ๋ฏธํ„ฐ์— '๊ธฐ๋ณธ๊ฐ’(default value)'๋ฅผ ์„ค์ •ํ•ด ๋‘˜ ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋ฅผ '์˜ต์…”๋„ ํŒŒ๋ผ๋ฏธํ„ฐ(optional parameter)'๋ผ๊ณ  ํ•จ

[ ์ฝ”๋“œ ]

def myself(name, age, nationality="ํ•œ๊ตญ"):
    print("๋‚ด ์ด๋ฆ„์€ {}".format(name))
    print("๋‚˜์ด๋Š” {}์‚ด".format(age))
    print("๊ตญ์ ์€ {}".format(nationality))

myself("์ฝ”๋“œ์ž‡", 1, "๋ฏธ๊ตญ")  # ์˜ต์…”๋„ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๊ฐ’์„ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ
myself("์ฝ”๋“œ์ž‡",2)     # ์˜ต์…”๋„ ํŒŒ๋ผ๋ฏธํ„ฐ์— ๊ฐ’์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
[ ์ถœ๋ ฅ๋ฌผ ]

๋‚ด ์ด๋ฆ„์€ ์ฝ”๋“œ์ž‡
๋‚˜์ด๋Š” 1์‚ด
๊ตญ์ ์€ ๋ฏธ๊ตญ
๋‚ด ์ด๋ฆ„์€ ์ฝ”๋“œ์ž‡
๋‚˜์ด๋Š” 2์‚ด
๊ตญ์ ์€ ํ•œ๊ตญ

 

 

Syntactic Sugar

- ์ž์ฃผ ์“ฐ์ด๋Š” ํ‘œํ˜„์„ ๋” ๊ฐ„๋žตํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•

x += 1	# x = x + 1
x += 2	# x = x + 2
x *= 2 	# x = x * 2
x -= 3	# x = x - 3
x /= 2	# x = x / 2
x %= 7	# x = x % 7

 

 

ํŒŒ์ด์ฌ ์Šคํƒ€์ผ ๊ฐ€์ด๋“œ(PEP8)

1. ์ด๋ฆ„ ๊ทœ์น™

- ๋ชจ๋“  ๋ณ€์ˆ˜์™€ ํ•จ์ˆ˜ ์ด๋ฆ„์€ ์†Œ๋ฌธ์ž๋กœ ์“ฐ๊ณ , ์—ฌ๋Ÿฌ ๋‹จ์–ด์ผ ๊ฒฝ์šฐ `_`๋กœ ๋‚˜๋ˆ„๊ธฐ : (ex) some_function_name()
- ๋ชจ๋“  ์ƒ์ˆ˜ ์ด๋ฆ„์€ ๋Œ€๋ฌธ์ž๋กœ ์“ฐ๊ณ , ์—ฌ๋Ÿฌ ๋‹จ์–ด์ผ ๊ฒฝ์šฐ `_`๋กœ ๋‚˜๋ˆ„๊ธฐ : (ex) SOME_CONSTANT = 3.14
- ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„(๋ณ€์ˆ˜) : (ex) radius, PI, ... โœ”๏ธ ์ƒ์ˆ˜(constant)์˜ ์ด๋ฆ„์„ ์ง€์„ ๋•Œ๋Š” ๋Œ€๋ฌธ์ž๋กœ ์ •์˜
- ์˜๋ฏธ ์žˆ๋Š” ์ด๋ฆ„(ํ•จ์ˆ˜) : (ex) say_hello(), ...

 

2. ํ™”์ดํŠธ ์ŠคํŽ˜์ด์Šค

- ๋“ค์—ฌ์“ฐ๊ธฐ๋Š” ๋ฌด์กฐ๊ฑด ์ŠคํŽ˜์ด์Šค 4๊ฐœ๋ฅผ ์‚ฌ์šฉ
- ํ•จ์ˆ˜ ์ •์˜ : ํ•จ์ˆ˜ ์ •์˜ ์œ„์•„๋ž˜๋กœ ๋นˆ ์ค„์ด ๋‘ ๊ฐœ์”ฉ(๋‹จ, ํŒŒ์ผ์˜ ์ฒซ ์ค„์ด ํ•จ์ˆ˜ ์ •์˜์ธ ๊ฒฝ์šฐ ํ•ด๋‹น ํ•จ์ˆ˜ ์œ„์—๋Š” ๋นˆ ์ค„์ด ์—†์–ด๋„ ๋จ)
- ๊ด„ํ˜ธ ์•ˆ : ๊ด„ํ˜ธ ๋ฐ”๋กœ ์•ˆ์—๋Š” ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š์Œ (ex) ~~spam( ham[ 1 ], { eggs: 2 } )~~,  spam(ham[1], {eggs: 2})
- ํ•จ์ˆ˜ ๊ด„ํ˜ธ : ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๊ฑฐ๋‚˜ ํ˜ธ์ถœํ•  ๋•Œ, ํ•จ์ˆ˜ ์ด๋ฆ„๊ณผ ๊ด„ํ˜ธ ์‚ฌ์ด์— ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š์Œ
- ์‰ผํ‘œ : ์‰ผํ‘œ ์•ž์—๋Š” ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š์Œ
- ์ง€์ • ์—ฐ์‚ฐ์ž(=) : ์ง€์ • ์—ฐ์‚ฐ์ž ์•ž๋’ค๋กœ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•˜๋‚˜์”ฉ
- ์—ฐ์‚ฐ์ž : ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ์—ฐ์‚ฐ์ž ์•ž๋’ค๋กœ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ํ•˜๋‚˜์”ฉ(๋‹จ, ์—ฐ์‚ฐ์˜ '์šฐ์„  ์ˆœ์œ„'๋ฅผ ๊ฐ•์กฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, ์—ฐ์‚ฐ์ž ์•ž๋’ค๋กœ ๋„์–ด์“ฐ๊ธฐ๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์„ ๊ถŒ์žฅ)
- ์ฝ”๋ฉ˜ํŠธ : ์ผ๋ฐ˜ ์ฝ”๋“œ์™€ ๊ฐ™์€ ์ค„์— ์ฝ”๋ฉ˜ํŠธ๋ฅผ ์“ธ ๊ฒฝ์šฐ, ์ฝ”๋ฉ˜ํŠธ ์•ž์— ๋„์–ด์“ฐ๊ธฐ ์ตœ์†Œ ๋‘ ๊ฐœ๋ฅผ ์ž…๋ ฅ

 

 

์ œ์–ด๋ฌธ

1. while ๋ฐ˜๋ณต๋ฌธ

while ์กฐ๊ฑด ๋ถ€๋ถ„:
	์ˆ˜ํ–‰ ๋ถ€๋ถ„

 

 

2. if๋ฌธ

if ์กฐ๊ฑด ๋ถ€๋ถ„:
	์ˆ˜ํ–‰ ๋ถ€๋ถ„

 

 

3. break๋ฌธ

- ๋งŒ์•ฝ while๋ฌธ์˜ ์กฐ๊ฑด ๋ถ€๋ถ„๊ณผ ์ƒ๊ด€ ์—†์ด ๋ฐ˜๋ณต๋ฌธ์—์„œ ๋‚˜์˜ค๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ

[ ์ฝ”๋“œ ]

i = 100

while True:
	# i๊ฐ€ 23์˜ ๋ฐฐ์ˆ˜๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋๋ƒ„
    if i % 23 == 0:
    	break
    i += 1

print(i)
[ ์ถœ๋ ฅ๋ฌผ ]

115

 

 

4. continue๋ฌธ

- ํ˜„์žฌ ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š” ์ž‘๋™ ๋ถ€๋ถ„์„ ์ค‘๋‹จํ•˜๊ณ  ๋ฐ”๋กœ ์กฐ๊ฑด ๋ถ€๋ถ„์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ

[ ์ฝ”๋“œ ]

i = 0

while i < 15:
	i += 1
    
    # i๊ฐ€ ํ™€์ˆ˜๋ฉด print(i)ํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ ์กฐ๊ฑด ๋ถ€๋ถ„์œผ๋กœ ๋Œ์•„๊ฐ
    if i % 2 == 1:
    	continue
    print(i)
[ ์ถœ๋ ฅ๋ฌผ ]

2
4
6
8
10
12

 

 

๋ฐ˜์‘ํ˜•

'self-study > ์ฝ”๋“œ์ž‡ - ๋ฐ์ดํ„ฐ์‚ฌ์ด์–ธ์Šค' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ฝ”๋“œ์ž‡ : ๊ธฐ์ดˆ ํ†ต๊ณ„์™€ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”] ํ†ต๊ณ„์™€ ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ์™„๋ฒฝ ๊ฐ€์ด๋“œ : ํ†ต๊ณ„ ๊ธฐ๋ณธ ์ƒ์‹ | seaborn | seaborn์œผ๋กœ ๊ทธ๋ž˜ํ”„ ์ปค์Šคํ„ฐ๋งˆ์ด์ง•  (0) 2025.01.25
[์ฝ”๋“œ์ž‡ : ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค Toolkit] ํŒŒ์ด์ฌ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ฒซ๊ฑธ์Œ - Numpy, Pandas, Matplotlib๋กœ ์‰ฝ๊ณ  ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ฐฐ์šฐ๊ธฐ  (0) 2025.01.11
[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๋ฐ์ดํ„ฐ in Python] ํŒŒ์ด์ฌ ์ดˆ๋ณด ํƒˆ์ถœ! ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ ํ™œ์šฉ๋ฒ•๋ถ€ํ„ฐ ํ…์ŠคํŠธ ํŒŒ์ผ ์ฝ๊ธฐยท์“ฐ๊ธฐ ๋ฐฉ๋ฒ•  (0) 2025.01.10
[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‹œ์ž‘ํ•˜๊ธฐ in Python] ํŒŒ์ด์ฌ ๊ธฐ์ดˆ ๊ฐœ๋… ํ•™์Šตํ•˜๊ธฐ - ์ž๋ฃŒํ˜• | ์ถ”์ƒํ™” | ํ•จ์ˆ˜ | ํŒŒ๋ผ๋ฏธํ„ฐ  (0) 2025.01.09
[์ฝ”๋“œ์ž‡ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฒ„๋ทฐ] ํŒŒ์ด์ฌ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„๊นŒ์ง€ : ๋น„์ „๊ณต์ž ์ดˆ๋ณด ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€์˜ ์ฝ”๋”ฉ ๊ณต๋ถ€ ์‹œ์ž‘ ๐Ÿƒ๐Ÿปโ€โ™€๏ธ  (0) 2025.01.09