[🧨파이썬 기초4] 클래슀, λͺ¨λ“ˆ, νŒ¨ν‚€μ§€, μ˜ˆμ™Έμ²˜λ¦¬, λ‚΄μž₯ν•¨μˆ˜, μ™Έμž₯ν•¨μˆ˜

μ•ˆμ§€μˆ˜Β·2023λ…„ 1μ›” 31일
0

πŸ‘ŒImmutable

: μ •μˆ˜, μ‹€μˆ˜, λ¬Έμžμ—΄, νŠœν”Œ

πŸ‘Œmutable

: 리슀트, λ”•μ…”λ„ˆλ¦¬, 집합

클래슀

: λ°˜λ³΅λ˜λŠ” λ³€μˆ˜ & λ©”μ„œλ“œ(ν•¨μˆ˜)λ₯Ό 미리 정해놓은 섀계도(ν‹€)

  • λŒ€λ¬Έμžλ‘œ μ‹œμž‘!
class FourCal:
	def __init__(self, first, second):
    	self.first = first
        self.second = second
    def setdata(self, first, second):
    	self.first = first
        self.second = second
    def add(self)
    	result = self.first + self.second
        return result
        
>> a = FourCal()
>> a.setdata(4,2)
>> print(a.add())
6
  • init: μƒμ„±μž(맨 처음 μ‹€ν–‰)

πŸ‘‘ 클래슀의 상속

class MoreFourCal(FourCal):
	pass
  • κ΄„ν˜Έμ— λΆ€λͺ¨ν΄λž˜μŠ€! λΆ€λͺ¨ 클래슀의 λ³€μˆ˜μ™€ ν•¨μˆ˜ λͺ¨λ‘ μ‚¬μš© κ°€λŠ₯

  • ν•¨μˆ˜ μ˜€λ²„λΌμ΄λ”©: μžμ‹μ΄ ν•¨μˆ˜ λ³€ν˜• κ°€λŠ₯/ μžμ‹μ΄ μš°μ„  μ‹œ!(같은 ν•¨μˆ˜μ΄λ©΄)

  • 클래슀 λ³€μˆ˜(ν΄λž˜μŠ€μ— 미리 μ„ μ–Έν•΄ 놓은 λ³€μˆ˜), 객체 λ³€μˆ˜(클래슀 객체 생성을 톡해 λ§Œλ“€μ–΄μ§„ 클래슀의 λ³€μˆ˜)

λͺ¨λ“ˆ

: 미리 λ§Œλ“€μ–΄λ†“μ€ .py 파일

  • import둜 λͺ¨λ“ˆ ν¬ν•¨μ‹œμΌœμ„œ μ‹€ν–‰
import mod1
print(mod1.add(3,4))
>> 7
  • from λͺ¨λ“ˆμ΄λ¦„ import λͺ¨λ“ˆν•¨μˆ˜: 일뢀 ν•¨μˆ˜λ§Œ μΆ”κ°€
from mod1 import add
print(add(3,4))
>> 7

βœ”βœ” if name=="main" 의미

: κ·Έ νŒŒμΌμ„ 직접 ν˜ΈμΆœν•œ κ²½μš°μ—λŠ” mainμ•ˆμ— μžˆλŠ” 것듀을 μ‹€ν–‰(name이 main이 됨),
importν•œ κ²½μš°μ—λŠ” μ‹€ν–‰ν•˜μ§€ μ•ŠμŒ(name은 ν˜ΈμΆœν•œ λͺ¨λ“ˆ 이름)
--> 이 뢀뢄이 이해가 μ•ˆλ˜μ—ˆμŒ: ꡬ글링을 톡해 해결함.
즉, κ·Έλƒ₯ κ·Έ νŒŒμΌμ„ 직접 μ‹€ν–‰μ‹œν‚€λŠ” κ²½μš°μ—λ§Œ ifλ¬Έ μ•ˆμ— μžˆλŠ” λ¬Έμž₯듀이 싀행됨!!!

νŒ¨ν‚€μ§€

: λͺ¨λ“ˆ μ—¬λŸ¬ 개 λͺ¨μ•„놓은 것

πŸ‘‘ νŒ¨ν‚€μ§€ μ•ˆμ˜ ν•¨μˆ˜ μ‹€ν–‰μ‹œν‚€κΈ°

  1. import game.sound.echo
    game.sound.echo.echo_test()
    echo
  2. from game.sound import echo
    echo.echo_test()
    echo
  3. from game.sound.echo import echo_test()
    echo_test()
    echo
  • from game.sound import *: init.py 파일의 all에 μžˆλŠ” 것듀 λ‹€ κ°€μ Έμ˜€λž€ μ†Œλ¦¬

μ˜ˆμ™Έμ²˜λ¦¬

: 였λ₯˜κ°€ λ°œμƒν–ˆμ„ λ•Œ, μ–΄λ–»κ²Œ μ²˜λ¦¬ν•  지 μ •ν•˜λŠ” 것

try:
	#였λ₯˜κ°€ λ°œμƒν•  수 μžˆλŠ” ꡬ문
except Exception as e:
	#였λ₯˜ λ°œμƒ μ‹œ 처리
else:
	#였λ₯˜ λ°œμƒν•˜μ§€ μ•ŠμŒ
finally:
	#λ§ˆμ§€λ§‰μ— 무쑰건 μ‹€ν–‰ν•˜λŠ” ꡬ문(ex- νŒŒμΌλ‹«κΈ°)
  • 였λ₯˜ μ—¬λŸ¬ 개인 경우: except λ¬Έμž₯ μ—¬λŸ¬ 개 써 μ£Όλ©΄ 됨
  • pass ν†΅ν•œ 였λ₯˜ νšŒν”Ό
  • raise: 였λ₯˜ μΌλΆ€λŸ¬ λ°œμƒμ‹œν‚€κΈ°(ν•¨μˆ˜ μ˜€λ²„λΌμ΄λ”© ν•˜μ§€ μ•Šμ€ 경우)

λ‚΄μž₯ν•¨μˆ˜

:νŒŒμ΄μ¬μ—μ„œ 기본적으둜 ν¬ν•¨ν•˜κ³  μžˆλŠ” ν•¨μˆ˜

  • abs: μ ˆλŒ“κ°’
    abs(-3)
    -> 3

  • all: λͺ¨λ‘ 참인지 검사
    all([1,2,3])
    -> True (0 ν•˜λ‚˜λΌλ„ ν¬ν•¨λ˜μ–΄ 있으면 false)

  • any: ν•˜λ‚˜λΌλ„ 참이 μžˆλŠ”κ°€?
    any([0, ""])
    -> False

  • chr: μ•„μŠ€ν‚€μ½”λ“œ 값을 μž…λ ₯λ°›μ•„ 문자 좜λ ₯
    chr(97)
    ->'a'

  • dir: κ΄„ν˜Έμ— ν•΄λ‹Ήν•˜λŠ” λ³€μˆ˜λ‚˜ ν•¨μˆ˜ λ³΄μ—¬μ€Œ
    dir([1,2,3]) #리슀트의 ν•¨μˆ˜λ“€ λ³΄μ—¬μ€Œ
    ->['append', 'count', 'extend', 'index',.....]

  • divmod: λͺ«κ³Ό λ‚˜λ¨Έμ§€λ₯Ό νŠœν”Œ ν˜•νƒœλ‘œ 돌렀쀌
    divmod(7,3)
    -> (2,1)

  • enumerate: μ—΄κ±°ν•΄μ€Œ

for i in enumerate(['body', 'foo', 'bar'])
	print(i, name)
-> 0 body
   1 foo
   2 bar
  • eval: μ‹€ν–‰ ν›„ 결괏값을 돌렀쀌
    eval('1+2')
    -> 3

  • filter: 참인 κ²ƒλ§Œμ„ 돌렀쀌
    a = list(filter(lamda x:x>0, [1,-3,2,0-5,6]))
    print(a)
    -> [1,2,6]

  • id: μ£Όμ†Œ κ°’
    id(a)

  • input: μ‚¬μš©μžκ°€ μž…λ ₯λ°›λŠ” ν•¨μˆ˜

  • int: 10μ§„μˆ˜ μ •μˆ˜ ν˜•νƒœλ‘œ λ³€ν™˜
    int('3')
    -> 3

  • len: 길이
    len("python")
    -> 6

  • list: 리슀트둜 λ³€ν™˜
    list("python")
    -> ['p', 'y', 't', 'h', 'o', 'n']

  • map: 각 μš”μ†Œκ°€ μˆ˜ν–‰ν•œ κ²°κ³Ό 돌렀쀌
    a = list(map(lamda a: a*2, [1,2,3,4]))
    print(a)
    -> [2,4,6,8]

  • max: μ΅œλŒ€ κ°’
    max([1,2,3])
    -> 3

  • min: μ΅œμ†Œ κ°’

  • open: 파일 μ—΄κΈ°

  • pow: μ œκ³±ν•œ 결괏값 λ°˜ν™˜
    pow(2,4)
    -> 16

  • range: λ²”μœ„
    list(range(5))
    -> [0,1,2,3,4]

  • round: 반올림
    round(4.6)
    -> 5

  • sorted: μ •λ ¬

  • str: λ¬Έμžμ—΄ λ°˜ν™˜
    str(3)
    -> '3'

  • tuple: νŠœλΈ” λ°˜ν™˜
    : tuple("abc")
    -> ('a', 'b', 'c')

  • type: νƒ€μž…μ„ 좜λ ₯

  • zip: μžλ£Œν˜•μ„ λ¬Άμ–΄μ£ΌλŠ” μ—­ν• 
    list(zip([1,2,3], [4,5,6])
    -> [(1,4), (2,5), (3,6)]

μ™Έμž₯ν•¨μˆ˜

: 라이브러리 ν•¨μˆ˜(import ν•΄μ„œ μ‚¬μš©)

  • sys.argv
    import sys
    print(sys.argv)

  • pickle

  • time

  • time.sleep: 쉬어라

  • random

  • webbrowser

πŸ˜€ ν•¨μˆ˜λ“€μ€ ν•„μš”ν•œ λ•Œμ— ꡬ글 κ²€μƒ‰ν•΄μ„œ μ‚¬μš©ν•˜κΈ°!! λ‹€ μ™ΈμšΈ ν•„μš” μ—†μŒ

profile
μ§€μˆ˜μ˜ μ·¨μ€€, 개발일기

0개의 λŒ“κΈ€