Python
간결하고 생산성 높은 프로그래밍 언어
장단점
값이 변할 수 있는 데이터 자체를 저장할 수 있는 공간 ( 정수 , 소수 , 문자열 etc )
1 ) 변수 사이 공백은 허용되지 않음
2 ) 예약어 (reserved words , keyword) 는 변수로 선언할 수 없음
3 ) 숫자 또는 특수 문자로 시작 불가능
숫자들을 의미 (2진수, 8진수, 10진수, 16진수)
i = 23
print(type(i))
result
<class 'int'>
문자열을 의미
s = 'arcenciel'
print(type(s))
result
<class 'str'>
소수점을 포함한 숫자들을 의미
f = 3.14
print(type(f))
result
<class 'float'>
비슷한 성질을 가진 item들의 묶음으로 스택 (stack) 과 큐 (queue) 를 이해하는데 기초가 되는 자료 구조
1 ) 인덱싱 (indexing)
내부 요소의 값을 어떻게 찾을 것인지 의미
저장되어 있는 데이터를 호출할 때 사용
리스트 변수명 [인덱스 번호]
2 ) 슬라이싱 (slicing)
리스트를 자르는 것을 의미
각각의 요소를 자유롭게 추출하고자 할 때 사용
리스트 변수명[시작 인덱스 : 종료 인덱스 : step]
종료 인덱스의 원소는 포함되지 않고 바로 앞 원소까지만 포함되는 방식
음수 인덱싱 사용 가능
3 ) 리스트 함수
list.append(n)
list.insert(index, n)
list1 = [1,9,45,73,14]
list1.sort()
print(list1)
result
[1, 9, 14, 45, 73]
list1 = [1,9,45,73,14]
list1.sort()
print(list1)
result
[73, 45, 14, 9, 1]
list1 = [1,9,45,73,14]
del list1[2]
print(list1)
result
[1, 9, 73, 14]
list1 = [1,9,45,73,14]
list1.remove(9)
print(list1)
result
[1, 45, 73, 14]
list1 = [1,9,45,73,14]
print(list1.index(45))
result
2
list1 = [1,9,45,73,14]
print(list1.pop())
result
14
list1 = [1,9,45,73,14]
print(len(list1))
result
5
리스트와 거의 유사하지만 수정이 안되는 형식을 지니는 자료구조
튜플 변수명 = ( 변수, 변수, 변수 .. )
Key (불변)와 Value (가변)를 한 쌍으로 갖는 순서가 존재하지 않는 자료형
딕셔너리 변수명 = {'Key1' : 'Value1' ,'Key2' : 'Value2' ... }
ex _ 딕셔너리 추가하기
dic1 = {'name' : 'DH', 'age' : 23, 'phone' : '010-0000-1111'}
dic1['birth'] = '2/22'
print(dic1)
result
{'name': 'DH', 'age': 23, 'phone': '010-0000-1111', 'birth': '2/22'}
1 ) 딕셔너리 함수
dic1 = {'name' : 'DH', 'age' : 23, 'phone' : '010-0000-1111'}
del dic1['age']
print(dic1)
result
{'name': 'DH', 'phone': '010-0000-1111'}
ex_ 딕셔너리명[Key]
dic1 = {'name' : 'DH', 'age' : 23, 'phone' : '010-0000-1111'}
print(dic1['name'])
result
DH
dic1 = {'name' : 'DH', 'age' : 23, 'phone' : '010-0000-1111'}
print('성별'in dic1)
result
False
상황에 따라 실행 흐름을 다르게 하는 문법
if 조건식:
실행문장
실행문장
if 조건식:
실행 문장 1
elif 실행 문장 2
if 조건식:
실행 문장 1
else:
실행 문장 2
조건문 작성시 들여쓰기에 항상 유의할 것
ex _ 조건문 _ if else
a = int(input("돈을 입력하세요 : "))
if a >= 10000:
print("택시를 탄다.")
else:
print("버스를 탄다.")
ex _ 조건문 _ elif _ 학점
jumsu = int(input("점수를 입력하세요 : "))
if 90 <= jumsu <= 100:
print("A학점입니다.")
elif 80 <= jumsu < 90:
print("B학점입니다.")
elif 70 <= jumsu < 80:
print("C학점입니다.")
elif 60 <= jumsu < 70:
print("D학점입니다.")
elif jumsu < 60:
print("F학점입니다.")
a if 조건식 else b
조건식이 True 이면 a, False 이면 b
ex_ 삼항 연산자
score = int(input("점수를 입력하세요 : "))
print("합격" if score >= 60 else "불합격")
ex _ 산술 연산자 _ 1
a = input("정수를 입력하세요 >> ")
b = input("정수를 입력하세요 >> ")
c = int(a) + int(b)
d = int(a) - int(b)
e = int(a)*int(b)
f = int(a)/int(b)
print("더하기 결과 : %d " , c)
print("빼기 결과 : " %d , d)
print("곱하기 결과 : " %d , e)
print("나누기 결과 : " %d , f)
포맷팅 방식 (formating)
%d : 정수
%f : 실수
%s : 문자
%c : 문자 1 개
%o : 8진수
%x : 16진수
%% : 문자 %
ex _ formating
print('%d' % 1234.56) # 1234
print('%d' % 1234.56) # 1234.56
print('%s' % 'python') # python
print('%4d' % 1234.56)
print('%08.2f' % 1234.567)
print('%5s' % 'python')
%4d
4자리 정수 의미
%08.2f
. 을 포함한 8자리의 실수, 빈 자리는 0으로 대체 , 소수점 아래 2자리 의미
result > 01234.56
%5s
5자리 문자열 출력 , 공백에 0을 넣는 것이 아닌 공란으로 자리 대체
result > ' abc'
ex _ 산술 연산자 _ 2
a = int(input("국어 점수를 입력하세요 >> "))
b = int(input("수학 점수를 입력하세요 >> "))
c = int(input("영어 점수를 입력하세요 >> "))
hap = a+b+c
print("합계 : %d" % hap)
print("평균 : %d" % (hap/3))
정수 ** 지수
기본적으로 알고 있는 수학 비교 연산자와 r거의 동일한 형태
ex _ 논리 연산자
a = 1
b = 2
c = 3
print(not a < b)
print(a < b and b < c)
print(a < b and c > b)
print(a < b or c > b)
result
False
True
True
True
프로그램 내에서 똑같은 명령을 일정 횟수만큼 반복하여 수행하도록 제어하는 명령문
조건문이 True일 경우 실행 문장 반복
어떠한 특정 조건을 만족할 때까지 무한 반복되며 새로운 변수가 생성되지 않음
(반복 횟수의 명확성 X)
while 조건식 :
실행 문장
실행 문장
문자열 또는 리스트 / 튜플이 들어갔을 때 안에 있는 요소를 하나씩 반복
반복하길 원하는 범위를 주고 새로운 변수값을 생성
(반복 횟수의 명확성 O)
for 변수 in 문자열 (or 리스트 or 튜플):
print(변수)
range() 함수
range(시작할 숫자, 종료할 숫자, 증가량)
range(기본값 0, 종료할 숫자, 기본값 1)
ex _ for문 _ 1
score_list = [90,45,70,60,55]
number = 1
for s in score_list :
if s >= 60 :
print('%d번 학생은 합격입니다' % number)
else:
print('%d번 학생은 불합격입니다' % number)
number += 1
ex _ for문 _ range()
for i in range(0,10,1):
print(i, end = '')
python 에 대한 가장 기초적인 부분들에 대해 전반적으로 개념을 훑고 간단하게 예제 프로그램을 작성해보며 스터디 진행