파이썬 기본 문법

Codren·2021년 3월 26일
0

주석

 # 한 줄 주석
 ''' 여러 줄 주석 ''' (사이에 ''' 있으면 에러)

print('test')
print("test")
print('''test''')
print("""test""")	# 멀티라인

multi = \		# \ 다음에 문자열이 이어진다는 표시
	"""
	test
	test
	test
	"""
print(multi)		# 멀티라인으로 출력


print('2021','03','26', sep = '/')	# 지정 문자로 분리
print('test', end='')			# default 값 \n

형식 지정자 (Formating)

print("I am {}. I belong to {} department.".format(name, dept))
print('{0}{1}{2}'.format('test0','test1','test2'))
print('{a} {b} {c}'.format(a='testa',b='testb',c='testc'))
print('{0:5d} {1:4.2f}'.format(455555,555555.3434))	# 앞 자리는 모두 표현됨
print('%s %d' %('test',100)) 
print(f'{test}')

print("%10s" %"hi")	  	#10칸에서 오른쪽 배치
print("%-10sjane" %"hi")   	#10칸에서 왼쪽 배치 
print("%10.4f" % 3.213123213) 	#10칸에서 소수점은 4자리까지

print(r'C:/test/test1/test2')	# raw string, escape문 탈출

형변환 (casting, conversion)

print(int('15'))
print(int('15.5'))	# 에러, int()안에는 정수형으로 받아들일 수 있는 것만

데이터 타입

① int
② float
③ complex (복소수)
④ bool
⑤ str
⑥ list
⑦ tuple
⑧ dict
⑨ set


List

  • 순서, 중복, 수정, 삭제, 리스트안에 리스트
  • range()함수는 list를 반환
test = [10, 100, ['Pen', 'Banana', 'Orange']]
print(test[2][1])

#리스트 안에 리스트 넣기
test[1] = ['a', 'b', 'c']
print(test)

# 리스트 반복 
print(test*3) 

# 리스트 컴프리헨션 
numbers = [x for x in range(1,101)]	# 1~100까지 number 리스트에 삽입
test = [x for x in data if x != 'a']	# data에서 a가 아닌 요소들 모두 test 리스트에 삽입

List 함수

list.append()	# 원소로 삽입
list.extend()	# 같은 배열로 삽입
list.sort()	# 정렬
list.insert()	# 자리에 원소 삽입
list.remove()	# 원소 제거 (원소)
list.del()	# 원소 제거 (인덱스)
list.pop()	# 제일 끝 원소 출력 후 제거
list.index()	# 원소 인덱스 출력
list.count()	# 개수 출력

인덱스 슬라이싱

print(a[0:3]) 		# 0-2번째 원소 출력
print(a[0:len(a)])	# a 원소 전부 출력
print(a[0:])		# a 원소 전부 출력
print(a[:])		# a 원소 전부 출력
print(a[0:4:2])
print(a[0:-2])
print(a[::-1])  	# 역순 출력

Tuple

  • 순서, 중복, 수정 x, 삭제 x
  • 튜플함수는 수정, 삭제빼고 리스트와 거의 동일
a = ()		# 빈 튜플
b = 1, 2, 3, 4	# () 없이도 선언 가능
c = (1, )  	# 하나의 원소만 갖는 튜플은 꼭 마지막에 , 표시


a[('a',)] = 'python'
a[('a')] = 'python'
a[250] = 'python'

{('a',): 'python', 'a': 'python', 250: 'python'}

Dictionary

  • 순서 x, 중복 x, 수정, 삭제
  • value 값에 모든 데이터 타입 가능
a = {'name': 'Kim', 'Phone': '010-7777-7777', 'Brith': 870214}
b = {0: 'Hello Python', 1: 'Hello Coding'}
c = {'arr': [1, 2, 3, 4, 5]}

print(a['name'])   	# 없을 시에 오류남
print(a.get('name'))	# 없을 시에 None
print(c['arr'][1:3])	# 2,3 출력
print(a.keys())		# 모든 key 값 출력
print(a.values())  	# 모든 value 값 출력
print(a.items())	# key : value 쌍으로 출력

Set

  • 순서 x, 중복 x
a = set()	
b = set([1, 2, 3, 4])
c = set(['good', (1, 2, 3, 4), 4, 4])   # list 요소는 불가 

# 집합 연산
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([4, 5, 6, 7, 8, 9])

print(s1.intersection(s2))	# 교집합
print(s1 & s2)

print(s1.union(s2))		# 합집합
print(s1 | s2)			

print(s1.difference(s2))	# 차집합
print(s1 - s2)

# 추가 및 제거 
s3 = set([7, 8, 10, 15])
s3.add(100)
s3.remove(100)

Str 문자열 함수

  • 문자열은 선언 후에 []인덱스 접근으로 수정 불가
str.islower()		# 소문자인지 판단
str.capitalize()	# 첫글자 대문자화
str.endswith('.')	# 끝이 특정 문자로 끝나는지 판단
str.replace('t','n')	# 교체
list(reversed(a))	# 역순 배열

# 아스키코드
a = 't'
print(ord(a))	# 아스키코드화
print(chr(116))	# 아스키코드 문자로 변환

연산자

  • / 나누기(몫, 실수)
  • // 나누기(몫, 정수)
  • ** 제곱
  • abs() 절대값
  • n,m = divmod(100,8) n = 몫 , m = 나머지
  • 정수 + 문자열 연산 불가
  • 'a' in var ( var 문자열안에 a 있는지 여부 T/F 리턴)

관계 연산자

  • >, >=, <, <=, ==, !=
  • 참 : "내용", [내용], (내용), {내용}, 1
  • 거짓 : "", [], (), {}, 0
  • 우선순위 - 산술 > 관계 > 논리

0개의 댓글