λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Language/Python

[Python]파이썬의 λ‹€μ–‘ν•œ μ—°μ‚°μžμ™€ ν™œμš©λ²•

by YJ Dev 2024. 3. 28.
728x90
λ°˜μ‘ν˜•
SMALL

μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•˜μ—¬ λ³€μˆ˜λ‚˜, κ°’λ“€μ˜ 연산을 μˆ˜ν–‰ν•©λ‹ˆλ‹€. 이번 κΈ€μ—μ„œλŠ” python의 μ‚°μˆ  μ—°μ‚°μž, λ³΅ν•©λŒ€μž… μ—°μ‚°μž, 관계 μ—°μ‚°μž, 논리 μ—°μ‚°μž, λΉ„νŠΈ μ—°μ‚°μž, μ‹œν€€μŠ€ μ—°μ‚°μž, 멀버쉽 μ—°μ‚°μžμ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ—°μ‚°μž


1. μ‚°μˆ  μ—°μ‚°μžπŸ”’

μ‚°μˆ  μ—°μ‚°μžμ—λŠ” +, -, *, /, **, //, % 연산이 μžˆμŠ΅λ‹ˆλ‹€.

κ°€μž₯ 기본적인 사칙 μ—°μ‚° +, -, *, / λŠ” λ™μΌν•˜κ²Œ 연산이 μ μš©λ©λ‹ˆλ‹€.

쑰금 μƒμ†Œν•œ μ—°μ‚°μžλŠ” **, //, %)μž…λ‹ˆλ‹€. ν•œλ²ˆ μ‚΄νŽ΄λ³ΌκΉŒμš”?

+ λ§μ…ˆ
- λΊ„μ…ˆ
* κ³±μ…ˆ
/ λ‚˜λˆ—μ…ˆ
** 제곱
// μ •μˆ˜ λ‚˜λˆ„κΈ°
% λ‚˜λ¨Έμ§€


**
λŠ” 숫자λ₯Ό μ œκ³±ν•˜λŠ” μ—°μ‚°μž…λ‹ˆλ‹€.
2²λŠ” 2**2, 2³μ€ 2**3으둜 ν‘œν˜„ν•΄ μ€λ‹ˆλ‹€.

print(2 ** 2) # 4
print(2 ** 3) # 8


//
λŠ” 숫자λ₯Ό λ‚˜λˆ„κ³  μ†Œμˆ˜μ  μ΄ν•˜μ˜ 자릿수λ₯Ό 버리고 μ •μˆ˜λ§Œ ν‘œν˜„λ˜λŠ” μ—°μ‚°μž…λ‹ˆλ‹€.

3/2λŠ” 1.5 λ‚˜νƒ€λ‚΄μ§€λ§Œ3//2λŠ” μ†Œμˆ˜μ μ„ λ–Όκ³  1만 결과둜 λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

print(3 / 2) # 1.5
print(3 // 2) # 1


%
λŠ” 숫자λ₯Όλ‚˜λˆ„κ³  남은 λ‚˜λ¨Έμ§€λ₯Ό κ΅¬ν•˜λŠ” μ—°μ‚°μž…λ‹ˆλ‹€.

% μ—°μ‚°μž


15 % 2λ₯Ό ν•˜λ©΄ λ‚˜λ¨Έμ§€ 1이 결과둜 λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

print(15 % 2) # 1


μ—°μ‚°μžμ—λŠ” μš°μ„ μˆœμœ„κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€. κ³±μ…ˆ, λ‚˜λˆ—μ…ˆμ΄ λ§μ…ˆκ³Ό λΊ„μ…ˆλ³΄λ‹€ μš°μ„ ν•©λ‹ˆλ‹€.

같은 μš°μ„ μˆœμœ„λ₯Ό κ°–λŠ” μ—°μ‚°μžλŠ” μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μœΌλ‘œ 계산이 λ©λ‹ˆλ‹€.

λ§Œμ•½ μš°μ„  μ—°μ‚°ν•˜κ³  싢은 뢀뢄이 μžˆλ‹€λ©΄ μˆ˜ν•™μ— 배운 것과 같이 ()λ₯Ό μ‚¬μš©ν•΄ μ£Όλ©΄ λ©λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, μ—°μ‚°μž μš°μ„  μˆœμœ„κ°€ ν™•μ‹€ν•˜λ”λΌλ„ κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•˜λŠ” 게 가독성이 μ’‹μŠ΅λ‹ˆλ‹€.


2. 볡합 λŒ€μž… μ—°μ‚°μžπŸŽ²

볡합 λŒ€μž… μ—°μ‚°μžλŠ” κΈ°λ³Έ μ—°μ‚°μžμ™€ = μ—°μ‚°μžλ₯Ό ν•¨κ»˜ μ‚¬μš©ν•©λ‹ˆλ‹€.

+= λ§μ…ˆ ν›„ λŒ€μž…
-= λΊ„μ…ˆ ν›„ λŒ€μž…
*= κ³±μ…ˆ ν›„ λŒ€μž…
/= λ‚˜λˆ—μ…ˆ ν›„ λŒ€μž…
%= λ‚˜λ¨Έμ§€ κ΅¬ν•œ ν›„ λŒ€μž…
**= 제곱 ν›„ λŒ€μž…


μ•„λž˜ μ½”λ“œμ—μ„œ 10을 가진 aλΌλŠ” λ³€μˆ˜μ— +5λ₯Ό μ‹œμΌœλ³΄κ² μŠ΅λ‹ˆλ‹€.

a += 5 λŠ” a = a + 5와 같은 μ˜λ―Έκ°€ λ©λ‹ˆλ‹€. λ”°λΌμ„œ κ°’ 15λ₯Ό 결과둜 λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

a = 10
a += 5 
print('{}'.format(a)) # 15


λ¬Έμžμ—΄μ—λŠ” +=, *= 볡합 λŒ€μž… μ—°μ‚°μžλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

+= μ—°κ²° ν›„ λŒ€μž…
*= 반볡 ν›„ λŒ€μž…


λ¬Έμžμ—΄μ€ μˆ«μžμ™€ 달리 사칙 연산이 μ μš©λ˜λŠ” 것이 μ•„λ‹Œ
+λŠ” λ¬Έμžμ—΄μ„ μ—°κ²° ν›„ λŒ€μž…, *λŠ” λ¬Έμžμ—΄μ„ 반볡 ν›„ λŒ€μž…ν•˜κ²Œ λ©λ‹ˆλ‹€.

b = 'μ•ˆλ…•'
b *= 2
print(b) # μ•ˆλ…•μ•ˆλ…•

3.관계 μ—°μ‚°μžπŸ•Έ

관계 μ—°μ‚°μžλŠ” 2개의 항을 λΉ„κ΅ν•˜μ—¬ κ·Έ κ²°κ³Όλ₯Ό 논리(bool) μžλ£Œν˜•μœΌλ‘œ λ°˜ν™˜ν•˜λŠ” μ—°μ‚°μžμž…λ‹ˆλ‹€.

== κ°™λ‹€
!= λ‹€λ₯΄λ‹€
< μž‘λ‹€
> 크닀
<= μž‘κ±°λ‚˜ κ°™λ‹€
>= ν¬κ±°λ‚˜ κ°™λ‹€


bool 즉, True(μ°Έ) λ˜λŠ” False(거짓)의 κ²°κ³Όλ§Œμ„ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

a = 15
print(a == 10) # False
print(a != 10) # True
print(a < 10) # False
print(a > 10) # True
print(a <= 10) # False
print(a >= 10) # True


관계 μ—°μ‚°μžλ„ λ¬Έμžμ—΄μ— μ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμžμ—΄μ€ 사전 μˆœμ„œ (κ°€λ‚˜λ‹€μˆœ)둜 μ•žμ— μžˆλŠ” 것이 μž‘μ€ 값을 κ°™μŠ΅λ‹ˆλ‹€.

μ•„λž˜ μ½”λ“œμ—μ„œ 'κΈ°μ—­'이 'λ‹ˆμ€'보닀 μž‘μ€ 값을 κ°–μŠ΅λ‹ˆλ‹€.

print('κΈ°μ—­' == 'κΈ°μ—­') # True
print('κΈ°μ—­' != 'λ‹ˆμ€') # True
print('κΈ°μ—­' > 'λ‹ˆμ€') # False
print('κΈ°μ—­' < 'λ‹ˆμ€') # True

4. 논리 μ—°μ‚°μžπŸ—£

논리 μ—°μ‚°μžλŠ” 2개 μ΄μƒμ˜ 항을 λ…Όλ¦¬μ μœΌλ‘œ μ—°κ²°ν•  λ•Œ μ‚¬μš©ν•˜λŠ” μ—°μ‚°μžλ‘œ 뢈(bool)끼리의 값을 μ—°μ‚°ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€.

not μ•„λ‹ˆλ‹€ λΆˆμ„ λ°˜λŒ€λ‘œ μ „ν™˜
and 그리고 μ—°μ‚°μž 2κ°œκ°€ λͺ¨λ‘ 참일 λ•Œ True
or λ˜λŠ” μ—°μ‚°μž λ‘˜ 쀑 ν•˜λ‚˜κ°€ 참이여도 True


β–Ά not μ—°μ‚°μž

True(μ°Έ)κ³Ό False(거짓)을 λ°˜λŒ€λ‘œ λ°”κΏ€ λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

a = 5
b = a < 10
print(b) # True
print(not b) # False


β–Ά and μ—°μ‚°μž

두 개의 값이 λͺ¨λ‘ 참일 λ•Œ Trueλ₯Ό 결과둜 λ‚˜νƒ€λƒ…λ‹ˆλ‹€. κ·Έ μ™Έμ—λŠ” λͺ¨λ‘ Falseλ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

a = 1
b = 2
print(a > 0 and b > 0) # True


β–Ά or μ—°μ‚°μž

두 개의 κ°’ 쀑 ν•˜λ‚˜κ°€ 참이면 True, 두 κ°œκ°€ λͺ¨λ‘ 거짓일 λ•Œλ§Œ Falseλ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

a = 1
b = 0
print(a > 0 or b > 0) # True


β–Ά and μ—°μ‚°μž, or μ—°μ‚°μž 비ꡐ

μ’Œλ³€ μš°λ³€ and μ—°μ‚° κ²°κ³Ό or μ—°μ‚° κ²°κ³Ό
True True True True
True False False True
False True False True
False False False False

5. μ‹œν€€μŠ€ μ—°μ‚°μžπŸ‘―

μ‹œν€€μŠ€ μ—°μ‚°μžλŠ” μˆœμ„œκ°€ μžˆλŠ” 데이터 ꡬ쑰인 리슀트, νŠœν”Œ, λ¬Έμžμ—΄ 등을 μ—°μ‚°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μ‹œν€€μŠ€ μ—°μ‚°μžμ—λŠ” 인덱싱, μŠ¬λΌμ΄μ‹±, λ¬Έμžμ—΄ μ—°μ‚°μž, 멀버쉽 μ—°μ‚°μž, 길이 μ—°μ‚°μžκ°€ μžˆμŠ΅λ‹ˆλ‹€.

인덱싱과 μŠ¬λΌμ΄μ‹±μ€ μ•„λž˜ ν¬μŠ€νŒ… λ‚΄μš©μ„ 확인해 μ£Όμ„Έμš”πŸ˜Š

" "

[파이썬]인덱싱과 μŠ¬λΌμ΄μ‹±

λͺ©μ°¨ 1. 문자 인덱싱 2. λ¬Έμžμ—΄ μŠ¬λΌμ΄μ‹± 3. λ¬Έμžμ—΄ 길이 κ΅¬ν•˜κΈ° 4. 리슀트 인덱싱 5. 리슀트 μŠ¬λΌμ΄μ‹± 6. ν•΅μ‹¬λ‚΄μš© 인덱싱과 μŠ¬λΌμ΄μ‹± 인덱싱은 λ¬Έμžμ—΄μ΄λ‚˜ 리슀트 λ‚΄λΆ€ μš”μ†Œ ν•˜λ‚˜λ₯Ό μ„ νƒν•˜λŠ” μ—°μ‚°

creativevista.tistory.com

λ¬Έμžμ—΄ μ—°μ‚°μž(+, *), 멀버쉽 μ—°μ‚°μž(in, not in)λŠ” λ¦¬μŠ€νŠΈμ™€ νŠœν”Œ ν¬μŠ€νŒ…μ—μ„œλ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

" "

[파이썬]μ»¬λ ‰μ…˜ μžλ£Œν˜•_list와 tuple

λͺ©μ°¨ 1. μ»¬λ ‰μ…˜ μžλ£Œν˜•μ΄λž€ 2. list 3. tuple 4. list와 tuple 비ꡐ 5. ν•΅μ‹¬λ‚΄μš© μ»¬λ ‰μ…˜ μžλ£Œν˜•_list와 tuple λͺ¨λ“  λ°μ΄ν„°λŠ” μœ ν˜•μ΄ μžˆμŠ΅λ‹ˆλ‹€. μœ ν˜•μ€ 크게 κΈ°λ³Έ μžλ£Œν˜•κ³Ό μ»¬λ ‰μ…˜ μžλ£Œν˜•μœΌλ‘œ λ‚˜λ‰©λ‹ˆλ‹€. κΈ°λ³Έ

creativevista.tistory.com

λ¬Έμžμ—΄ μ—°μ‚°μž(+, *), 멀버쉽 μ—°μ‚°μž(in, not in)λ₯Ό λ‹€μ‹œ ν•œλ²ˆ 정리해 λ³΄κ² μŠ΅λ‹ˆλ‹€.


β–Ά
λ¬Έμžμ—΄ μ—°μ‚°μž

λ¬Έμžμ—΄ μ—°μ‚°μžμ—λŠ” μ—°κ²° μ—°μ‚°μž +, 반볡 μ—°μ‚°μž *κ°€ μžˆμŠ΅λ‹ˆλ‹€.

+ λŠ” λ¬Έμžμ—΄μ„ μ—°κ²°ν•  λ•Œ, 반볡 μ—°μ‚°μž * λŠ” λ¬Έμžμ—΄μ„ λ°˜λ³΅ν•  λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

tree = '#'
space = ' '
print(space * 4 + tree * 1) #     #
print(space * 3 + tree * 3) #    ###
print(space * 2 + tree * 5) #   #####
print(space * 1 + tree * 7) #  #######
print(space * 0 + tree * 9) # #########


β–Ά
멀버쉽 μ—°μ‚°μž

멀버쉽 μ—°μ‚°μžμ—λŠ” in μ—°μ‚°μžμ™€ , not in μ—°μ‚°μžκ°€ μžˆμŠ΅λ‹ˆλ‹€.

in μ—°μ‚°μžλŠ” μ‹œν€€μŠ€μ— νŠΉμ • ν•­λͺ©μ΄ μžˆλŠ”μ§€λ₯Ό ν™•μΈν•˜κ³ , μžˆλ‹€λ©΄ Trueλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

λ°˜λŒ€λ‘œ not in μ—°μ‚°μžλŠ” μ‹œν€€μŠ€μ— νŠΉμ • ν•­λͺ©μ΄ μ—†λŠ”μ§€λ₯Ό ν™•μΈν•˜κ³ , μ—†λ‹€λ©΄ Trueλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.

print('μ•ˆλ…•' in 'μ•ˆλ…•ν•˜μ„Έμš”') # True
print('μ•ˆλ…•' not in 'μ•ˆλ…•ν•˜μ„Έμš”') # False


β–Ά
길이
μ—°μ‚°μž

길이 μ—°μ‚°μžλŠ” μ‹œν€€μŠ€μ˜ 길이λ₯Ό ꡬ할 λ•Œ μ‚¬μš©λ©λ‹ˆλ‹€.

λ¦¬μŠ€νŠΈμ™€ λ¬Έμžμ—΄μ˜ 수λ₯Ό λ„˜λŠ” μš”μ†Œλ‚˜ κΈ€μžλ₯Ό μ„ νƒν•˜λ©΄ IndexError μ˜ˆμ™Έκ°€ λ°œμƒν•©λ‹ˆλ‹€.

μ΄λ•Œ 길이λ₯Ό κ΅¬ν•˜λŠ” len() ν•¨μˆ˜λ₯Ό μ΄μš©ν•΄ 길이λ₯Ό 확인해 λ΄…λ‹ˆλ‹€.

# λ¬Έμžμ—΄ 길이 κ΅¬ν•˜κΈ°
print(len('Hello Python')) # 12

# 리슀트 길이 κ΅¬ν•˜κΈ°
print(len([1, 2, 3, 4, 5, 6])) # 6

# νŠœν”Œ 길이 κ΅¬ν•˜κΈ°
print(len((1, 2, 3, 4, 5, 6))) # 6

6. ν•΅μ‹¬λ‚΄μš©πŸ‘€

μ‚°μˆ  μ—°μ‚°μž, 볡합 λŒ€μž… μ—°μ‚°μž
관계 μ—°μ‚°μž, 논리 μ—°μ‚°μž
μ‹œν€€μŠ€ μ—°μ‚°μž

728x90
λ°˜μ‘ν˜•
LIST