분명 다 배운건데 너무 옛날에 배워서 (3년전) 기억이 날듯말듯하는 파이썬 기초 문법들 다시 정리하기,,
출처: Do it 점프 투 파이썬
"%10s" % "hi"
' hi'
전체 길이가 10개인 문자열 공간에서 대입되는 값을 오른쪽으로 정렬하고 나머지는 공백으로 남김
즉 공백은 8개
h | i |
"%-10sjane" % "hi"
hi에서 jane 전까지의 길이는 10개이고, 공백은 8개다.
format 함수
number = 10
day = "three"
"I ate {0} apples. so I was sick for {1} days.".format(number, day)
I ate 10 apples. so I was sick for three days.
format 함수를 통한 포매팅 시 인덱스 항목이 format 함수의 입력값으로 순서에 맞게 바뀐다. {0}은 format 함수의 첫번째 입력값인 number로 바뀌고 {1}은 format 함수의 두번째 입력값인 day로 바뀜
"I ate {0} apples. so I was sick for {day} days.".format(10, day = 3)
이런식으로도 나타낸다.
# 왼쪽 정렬
"{0:<10}".format("hi") # 'hi '
# 오른쪽 정렬
"{0:>10}".format("hi") # ' hi'
# 가운데 정렬
"{0:^10}".format("hi") # ' hi '
# 공백 채우기
"{0:=^10}".format("hi") # '====hi===='
"{0:!<10}".format("hi") # 'hi!!!!!!!!'
format 함수 이용하여 이렇게 정렬을 한다.
공백 지우기
a= " hi "
a.lstrip() #'hi ' 왼쪽공백 지우기
a.strip() #'hi' 양쪽공백지우기
a.rstrip() #' hi' 오른쪽 공백 지우기
리스트 요소 삭제하기
a=[1,2,3]
del a[1]
print(a) #[1,3]
리스트 요소 삽입하기
a = [1, 2, 3]
a.insert(0, 4) # [4, 1, 2, 3]
a.insert(3, 5) # [4, 1, 2, 5, 3]
리스트 확장
a = [1, 2, 3]
a.extend([4, 5])
a # [1, 2, 3, 4, 5]
딕셔너리 관련
a = { 'name' : 'pey', 'phone' : '0119993323', 'birth' : '1118' }
a.items() # dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])
key: value 쌍 모두지우기
a.clear()
a # {}
key로 value 얻기
a = { 'name' : 'pey', 'phone' : '0119993323', 'birth' : '1118' }
a.get('name') # 'pey'
a.get('phone') # '0119993323'
a.get('nokey') # None
a.get('foo', 'bar') # default값인 'bar' 반환
자료형의 참과 거짓에서, 문자열, 리스트, 튜플, 딕셔너리 모두 비었을 때 거짓(False), 숫자형은 0일때, False 이다.
프로그램의 입력과 출력
입력값이 몇개가 될지 모를때 *매개변수를 사용한다.
def add_many(*args) :
result = 0
for i in args:
result = result + i
return result
result = add_many(1, 2, 3)
print(result) # 6
result = add_many(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
print(result) # 55
*args 매개변수 앞에 choice 매개변수를 추가하여 사용 할 수 있다.
def add_mul(choice, *args) :
if choice == 'sum' :
result = 0
for i in args :
result = result + i
elif choice == 'mul' :
result = 1
for i in args :
result = result * i
return result
result = add_mul('sum', 1, 2, 3, 4, 5)
print(result) # 15
result = add_mul('mul', 1, 2, 3, 4, 5)
print(result) # 120
키워드 파라미터
**kwargs 처럼 매개변수 앞에 **를붙이면 딕셔너리 형태를 반환해준다.
def print_kwargs(**kwargs):
print(kwargs)
print_kwargs(a=1)
print_kwargs(name='foo',age=3)
{'a': 1}
{'name': 'foo', 'age': 3}
매개변수에 초기값 미리 설정하기
def say_myself(name, old, man = True) :
print('나의 이름은 %s입니다.' % name)
print('나이는 %d살 입니다.' % old)
if man :
print('남자입니다.')
else:
print('여자입니다.')
say_myself('박응용', 27)
say_myself('박응용', 27, True) #남자라고뜸
say_myself('박응용', 27, False) #여자라고뜸
만약 초기값 설정을 def say_myself(name,man=True,old) 이런식으로 했다면 오류가 난다. 설정할 초기값들은 항상 맨 뒤 매개변수에 넣어야함.
파일 읽고 쓰기
파일 생성하기
r-> 읽기 모드, w- 쓰기 모드 a - 추가모드
f = open('새파일.txt', 'w')
f.close()
만약 새 파일.txt 파일을 C:/doit 디렉터리에 생성하고 싶다면:
f = open('C:/Python/새파일.txt', 'w')
f.close()
파일을 쓰기 모드로 열어서 출력값 적기
f = open('C:/Python/새파일.txt', 'w')
for i in range(1, 11) :
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
readline 함수 이용하여 프로그램 외부 저장된 파일 읽기
f = open('C:/Python/새파일.txt', 'r')
while True :
line = f.readline()
if not line : break
print(line)
f.close()
f.readline을 이용해 계속해서 한줄씩 읽어들인다. 더 이상 읽을 줄이 없으면 break 수행
readlines 함수 -> 모든 줄을 읽어서 각각의 줄을 요소로 갖는 리스트로 돌려준다.
f = open('C:/Python/새파일.txt', 'r')
lines = f.readlines() # 모든 라인을 읽어서 각각의 줄을 요소로 갖는 리스트 리턴
for line in lines :
print(line)
f.close()
파일에 새로운 내용 추가하기
'a'를 통해 11부터 19까지 i에 대입하여 새로운 내용을 추가한다
f = open('C:/Python/새파일.txt', 'a')
for i in range(11, 20) :
data = '%d번째 줄입니다.\n' % i
f.write(dat)
f.close()
'Python' 카테고리의 다른 글
객체지향 프로그래밍 복습 (0) | 2024.04.05 |
---|---|
구멍 숭숭난 기초 지식채우기 II (1) | 2024.04.01 |
클래스 (0) | 2024.03.31 |
pytorch 이미지 모델링 II (1) | 2024.02.26 |
pytorch 이미지 모델링 (0) | 2024.02.25 |