본문 바로가기

Computer Science/Jupyter notebook

파이썬 기본편 #1

print 인자들

print("파이썬", end=" ") # end 입력 시 줄바꿈 하지 않고 이어 다음 문구 출력함, 다른 문자 넣어도 됨
 
print("파이썬", "자바", sep=",") # 구분자 설정 가능
 
print("파이썬", "자바", file=sys.stdout) # 표준 출력으로 처리
  
print("파이썬", "자바", file=sys.stderr) # 표준 에러 처리

print(subject.ljust(8), str(score).rjust(4))
	#subject는 8칸 공간 확보 후 왼쪽 정렬
	#score은 4칸 공간 확보 후 오른쪽 정렬
    
print(str(num).zfill(3))
	#num에 3자리 공간 확보 후 0으로 채우는 것

 

{0} 으로 입력할 수도 있지만,

{0: >10} = 빈자리는 빈공간 / > 오른쪽 정렬 / 10자리 확보

{0: >+10} : 양수일 때는 +, 음수일 때는 - 표시됨

{0:_<10} : 빈자리는 _로 채우고 / < 왼쪽 정렬 / 10자리 확보

{0:,} : 3자리마다 콤마 찍어주기

{0:f} : 소수점 출력

{0:.2f} : 소수점 셋째자리에서 반올림, 둘째자리까지 출력

 

가변인자

def profile(*language):

서로 다른 개수의 인자를 입력할 때 *을 붙여 사용

 

전역변수/지역변수

gun = 10

def checkpoint(soldiers):
	global gun # 전역 공간에 있는 1번줄gun 사용
    gun = gun - soldiers
    print( gun )
    
print("전체 총 : {0}".format(gun))
checkpoint(2)
print("남은 총 : {0}".format(gun))

 

global 을 붙여서 1번째 줄의 gun을 호출할 수 있음. 그렇지 않으면 함수 내 gun 변수 초기화 해주어야 함

그런데 전역변수를 너무 많이 쓰게 되면 코드 관리가 어려워지므로 아래와 같이 작성하는 것을 권장

def checkpoint(gun, soldiers):

 

items() 메서드

1. 딕셔너리에서 키와 값을 동시에 순회할 때:

my_dict = {'apple': 3, 'banana': 5, 'orange': 2}

for key, value in my_dict.items():
    print(f"The key is {key} and the value is {value}")

 

2. 딕셔너리의 내용을 리스트로 변환할 때:

my_dict = {'apple': 3, 'banana': 5, 'orange': 2}
items_list = list(my_dict.items())

print(items_list)

[('apple', 3), ('banana', 5), ('orange', 2)] 

딕셔너리의 '(키, 값)' 쌍이 담긴 리스트가 됨

 

3. 딕셔너리 비교 및 업데이트:

dict1 = {'a': 1, 'b': 2}
dict2 = {'b': 3, 'c': 4}

# dict1에 dict2의 값들로 업데이트
for key, value in dict2.items():
    dict1[key] = value

print(dict1)

딕셔너리를 병합하거나 업데이트 가능

 

Pickle

기본 호출

import pickle
file = open("file.pickle", "wb") # write 모드
file = open("file.pickle", "rb") # read 모드

 

wb = 피클을 쓰기 위해서는 항상 바이너리 형태로 호출해야 함

 

with 로 간단하게 표현 가능

import pickle

with open("file.pickle", "rb") as file:
	print(pickle.load(file))

 

클래스

class Unit:
	def __init__(self, name, hp, damage):
    	self.name = name
        self.hp = hp
        self.damage = damage
        
marine1 = Unit("마린", 40, 5)
tank = Unit("탱크", 150, 35)

붕어빵 틀과 같은 역할 class.

  • __init__ 함수 : 파이썬의 생성자. 객체가 생성될 때 자동으로 호출되는 함수
  • 마린과 탱크는 Unit의 인스턴스. Class로부터 만들어지는 객체.
  • 멤버변수 : 클래스 내에서 정의된 변수 (name, hp, damage). 클래스 외부에서 호출하기 위해서는 tank.멤버변수 형식으로 사용해야 함.
  • 외부에서 멤버변수를 추가해서 사용할 수 있음, 단 확장을 한 객체에 대해서만 적용됨