본문 바로가기
Python/Basic

[Python Basic]Function and print function formatting

by 하람 Haram 2022. 9. 23.
728x90

함수

(주로 상단에 적어준다 )

def 함수명 (매개변수):
    수행문 (statements) //보통 4칸의 들여쓰기를 한다
return 반환값

-> 캡슐화 : 인터페이스만 알면 타인의 코드 사용 가능

함수 사이에는 두 줄씩을 띄운다

개념적 접근

parameter : 함수의 입력 값 인터페이스

argument : 실제 Parameter에 대입된 값

print문을 formatting 하는 방법

1. %string
2. format함수
3. fstring

 

old school formatting : 자료형을 직접 적음

% format

print('%datatype' %(variable)) #한개면 상관없는데 두개 이상 var이면 튜플로 묶음

s->string,    c ->char,     d -> int,      f-> float

print(%s %s  % ('one','two') )
print( %d %d % (1,2) )    #%f

or

print('{} {}' .format('one','two'))
print('{} {}' .format(1,2))

 

공간 및 자릿수도 지정이 가능하다

ex) %5d -> 5자리를 만들고 넣어라 _ _312

ex) %8.2f -> 8자리 만들고 소수 둘째자리 까지 나타내라 _ _ _59.06

​ex) %.2f ->소수 둘째자리 까지 나타내라 59.06

{ }의 활용(format)

1. {숫자}   # 숫자는 format 함수내의 변수의 순서를 나타냄 .format(name, age) name->0 age-> 1

2. {1:.3f}   #  format함수에 있는 두번째의 실수를 소숫점 3번째 까지 나타내라

3. padding

{1:>3f}    # 3칸을 비우면서 오른쪽으로 정렬

{1:<3f}    # 3칸을 비우면서 왼쪽으로 정렬

추가 내용

print("this is %(name)10s, and this price is %(price)10.5f" %{"name" : "Apple","price": 5.242})

이런 식으로 %뒤에 dic type이 들어가면 앞에 숫자를 넣은 것과 마찬가지로 key을 써서 순서를 구분한다

 

f-string

요즘 대세 -> f string (PEP498)에 근거 (왼쪽 정렬이 default)

print(f"content") 이런식으로 f 붙이고 바로 때리기

 

ex)

name = "유승종"

age = 20

print(f"HELLO {name} Your age is {age}")

{name:20}  #-> 20칸을 확보하고 name을 적음

{name:>20} #-> 오른쪽 정렬

{name:*<20} # -> 왼쪽정렬이고 빈 부분을 *로 채우기

{name:^20} #-> 가운데 정렬

{number:.2f} #-> 소수 둘째자리 까지 나타내기

 

728x90