PYTHONIC πŸΆμ™ˆλŸ¬μŠ€ μ—°μ‚°μž(:=)

LightmanΒ·2021λ…„ 6μ›” 29일
3

CS: PYTHON🐍 & Ⓡ

λͺ©λ‘ 보기
9/14
post-thumbnail
  • λŒ€μž…λ¬Έassignment statement : a = b /a equal b/
  • λŒ€μž…μ‹assignment expression : a := b /a walrus b/
    • λŒ€μž…λ¬Έμ„ μ‚¬μš©ν•  수 μ—†λŠ” κ²½μš°μ— λŒ€μž… κ°€λŠ₯

πŸ›΄ 같은 식 λ˜λŠ” 같은 λŒ€μž…λ¬Έμ΄ λ˜ν’€μ΄ λœλ‹€λ©΄? λŒ€μž…μ‹μ„ κ³ λ €ν•΄λ³΄μž!

😺CASEβ‘ : μž¬μ‚¬μš©μ΄ λΆˆν•„μš”ν•œ λ³€μˆ˜μ˜ 경우

  • countλ³€μˆ˜λŠ” 였직 if문의 쑰건을 μ²΄ν¬ν•˜κΈ° μœ„ν•΄μ„œλ§Œ μ‚¬μš©λœλ‹€. λ”°λΌμ„œ μž¬μ‚¬μš©μ΄ λΆˆν•„μš”ν•˜λ©° μ€‘μš”ν•˜μ§€ μ•Šμ€ λ³€μˆ˜μ΄λ‹€. λŒ€μž…μ‹μ„ 톡해 그것이 λͺ…μ‹œλœλ‹€!
if count := fresh_fruit.get('레λͺ¬', 0):
  make_lemonade(count)
else:
  out_of_stock( )

😸CASEβ‘‘: ν˜„μž¬ 관심 μ˜μ—­μ„ λ‘˜λŸ¬μ‹Ό λ³€μˆ˜μ˜ 경우

  • countλ₯Ό λŒ€μž…μ‹ μ²˜λ¦¬ν•¨μœΌλ‘œμ¨ pieces의 μ˜λ―Έκ°€ λ”μš± λͺ…ν™•ν•΄μ‘Œλ‹€!
pieces = 0
if (count := fresh_fruit.get('λ°”λ‚˜λ‚˜', 0)) >= 2:
  pieces = slice_bananas(count)
try:			# piecesκ°€ 0이 μ•„λ‹μˆ˜λ„ μžˆμœΌλ‹ˆκΉŒ ν•œλ²ˆ ν•΄λ³ΌκΉŒ?
  smoothies = make_smoothies(pieces)
except OutOfBananas:	# μ•„λ‹ˆλ©΄ 말고
    out_of_stock()

😹CASEβ‘’: Switch/Caseλ¬Έ λͺ¨μ‚¬μ˜ 경우

  • countλ³€μˆ˜μ— λŒ€μž…μ‹μ„ 톡해 톡일성 있게 μˆ˜μ‹μ„ 꾸릴 수 μžˆλ‹€!
if (count := fresh_fruit.get('λ°”λ‚˜λ‚˜',0)) >= 2 :
  pieces = slice_bananas(count)
  to_enjoy = make_smoothies(pieces)
elif (count := fresh_fruit.get('사과',0)) >= 4 :
  to_enjoy = make_cider(count)
elif (count := fresh_fruit.get('레λͺ¬',0)) :
  to_enjoy = make_lemonade(count)
else:
  to_enjoy = 'nothing'

😼CASEβ‘£: Do/Whileλ¬Έ λͺ¨μ‚¬μ˜ 경우

  • while 쑰건을 μ²΄ν¬ν• λ•Œ λ§ˆλ‹€ λŒ€μž…μ‹μœΌλ‘œ 쑰건을 μ—…λ°μ΄νŠΈν•œ ν›„ 체크할 수 μžˆλ‹€!
bottles = []
while fresh_fruit := pick_fruit( ):		# pick_fruit:generator
	for fruit, count in fresh_fruit.items():
	batch = make_juice(fruit, count)
	bottle.extend(batch)         
  • μ°Έκ³ 
    • append와 extend의 차이
    • 정황상 λŒ€μž…μ‹μ€ μ΄ν„°λ ˆμ΄ν„°, μ œλ„ˆλ ˆμ΄ν„°μ™€ ν•¨κ»˜ κ°•λ ₯ν•˜κ²Œ λ™μž‘ν•˜λŠ” κ²ƒμœΌλ‘œ 보인닀.

😻끝.


Effective Python 2nd μ΄νŽ™ν‹°λΈŒ 파이썬 : 파이썬 μ½”λ”©μ˜ 기술의 BETTERWAY10의 λ‚΄μš©μž…λ‹ˆλ‹€.

profile
ν˜„μ§ 데이터 뢄석가 / 데이터 κ³Όν•™μ˜ 정도λ₯Ό 따라 🚲 / About DEV DA ML

0개의 λŒ“κΈ€