23.01.31 Day 02

오윤범·2023년 1월 31일
0

Python

README 백틱

  • Readme 파일 코드 삽입 시 ` (백틱) 사용하여 삽입

End / Sep

print('a', end=' ')
print('aa', end=' ')
print('aaa', end=' ')
print('aaaa', end=' ')
print('aaaaa', end=' ')

a aa aaa aaaa aaaaa

print('a')
print('aa')

a
aa

print('a','b','c',sep='')
print('a','b','c',sep='@')

abc
a@b@c

'''

val = '''Life is short,
you need Python'''
print(val)

Life is short,
you need Python

  • '''->문자열 작성 + 줄바꿈 가능

List / Tuple / Dictionary / Set

  • list ( 추가 및 삭제 가능 )

lst = [1,2,3,4,5,6,7,8,9,10]
print(lst)

[1,2,3,4,5,6,7,8,9,10]

lst[0]=0
print(lst)

[0,2,3,4,5,6,7,8,9,10]

lst.append(11)
print(lst)

[0,2,3,4,5,6,7,8,9,10,11]

  • Tuple ( 수정불가능 )

tuple1 = (1,2,3,4)
print(tuple1)

(1,2,3,4)

  • Dictionary

oyb = {'name':'Oh Yun Beom','Height':'174cm','Weight':'63'}
print(oyb)

{'name': 'Oh Yun Beom', 'Height': '174cm', 'Weight': '63'}

  • Set ( 중복 허용 X )

set1=set([1,2,3,4])
print(set1)

{1,2,3,4}

set1 = set("Hello World")
print(set1)

{'d', 'H', 'o', 'e', 'W', 'r', 'l', ' '} <- 중복허용 x

Operator

  • 숫자연산

print(2**10) # 2^10
print(type(10//3))
print(type(10/3))

1024
<class 'int'>
<class 'float'>

  • 문자열 연산

current = '2023-01-31 15:00:00'
year=current[:4]
month=current[5:7]
day=current[8:10]
hour=current[11:13]
min=current[14:16]
sec=current[-2:]
print(
    year+'년 '+
    month+'월 '+
    day+'일 '+ 
    hour+'시 '+
    min+'분 '+
    sec+'초'
)

2023년 01월 31일 15시 00분 00초
cf) [-2:] 와 같이 문자열 자를 때 : 뒤의 인덱스 값은 자르는 문자열에 포함 X

current = '2023-01-31 15:00:00'
print(current[-1])

print(str1[-1]) : 뒤에서부터 첫번째 문자 출력을 의미
ex) current 라는 변수의 가장 마지막 숫자인 0 이 출력

  • 숫자형 / 문자열 리스트 차이점

lst1=[1,2,3,4]
print(lst1)
lst1[0]=99
print(lst1)
lst1.append(999) #마지막에 추가 
print(lst1)
lst1.insert(3,99) #특정 인덱스에 추가 
print(lst1)
lst1.remove(99) # 해당 값 삭제
print(lst1)
#str1='python'
#print(str1)
#str1[0]='P'
#print(str1)

1 2 3 4
99 2 3 4
99 2 3 4 999
99 2 3 99 4 999
2 3 99 4 999

-> 숫자형 리스트 수정 가능
-> 문자열 리스트 오류 발생(주석처리 구문)

python 의 p를 대문자로 교체하고 싶을 때 다음과 같이 해결

str1='python'
print(str1)
str1='P'+str1[1:]
print(str1)
  • 문자열 포맷팅 (format)

full_name='Oh Yun Beom'
age=26
print(f"Hello I'm {full_name}, and I'm {age:2.0f} ages.")
#포맷팅->주로 값 입력받는대로 변경되어 출력되는 구조에서 사용
#2.0f --> 26 / 정수 그대로 출력 , 소수자리 0자리
#2.2f --> 26.00 / 정수 그대로 출력, 소수자리 2자리
#를 의미함

Hello I'm Oh Yun Beom, and I'm 26 ages.
--> f'' : 포맷팅을 사용 할 것
--> {full_name} : 해당 위치에 full_name 명시
--> {age:2.0f} : 해당 위치에 age를 정수 그대로, 소수점은 한자리만 명시

int1=1566.555555
print(f"{int1:2.2f}")
print(f"{int1:1.3f}")
print(f"{int1:3.4f}")

1566.56
1566.556
1566.5556
{int1 : 2.2f}-->int1 정수 그대로 출력, 소수점 두자리 출력
{int1 : 2.3f}-->int1 정수 그대로 출력, 소수점 세자리 출력

  • 문자열 자르기 (Split)

full_name='Oh Yun Beom'
vals=full_name.split('')
print(vals)

['Oh', 'Yun', 'Beom']

  • 문자열 대체 (replace)

print(full_name.replace('Oh','Woo'))

Woo Yun Beom

  • 공백 없애기 (strip)

hi = '      Hello!       '
print(hi.lstrip()+'|') # 왼쪽 공백 삭제
print(hi.rstrip()+'|') # 오른쪽 공백 삭제
print(hi.strip()+'|') # 모든 공백 삭제

Hello!ㅤㅤㅤㅤㅤㅤㅤ|
ㅤㅤㅤㅤㅤㅤHello!ㅤ|
Hello!|

  • 특정 문자 찾기 (index,find)

print(full_name.index('h'))

1
--> 찾는 문자 위치 반환

#print(full_name.index('x'))

index로 없는 문자 검색 시 프로그램 오류

print(full_name.find('x'))

-1
find로 없는문자 검색 시 -1 반환

0개의 댓글