정처기_ part4_ 프로그래밍 언어 활용

파이썬 언어

=> 내가 기억해야 할 것 요약!

 

(1) 객체지향 프로그래밍

1) 객체지향기술

2) 객체지향 개발절차

3) java 언어

4) 파이썬 언어

 

(1) 객체지향 프로그래밍

4) 파이썬 언어

변수 선언)

별도의 자료형(int, double)을 지정없이 식별자만 지정, 상수(리터럴)의 타입에 따라 결정(동적할당 방식)

선언규칙 : 첫글자 영문자, _->이후 숫자도 가능, 대소문자 구분, 한글가능(비추), 키워드 사용x, 초기화 필수

상수 리터럴: 상수의 유형에 맞게 코드로 표기하는 방식(정수/실수/문자열 리터럴)

문자열(문자는 x없음), 문자열은 문자가 나열되어 있는 시퀀스 자료형이라고 표현.

 

표준입출력 함수)

표준입력 : input(prompt안내메시지출력문) prompt출력 뒤 사용자 입력 대기, 키보드를 통해 할상 문자열 형태로 입력(변환 필요)

표춘출력 : print(value, ...) 인수들을 공백(변경가능)으로 구분하여 출력, 모니터를 통해 데이터 출력+줄바꿈(변경가능)

주석처리 : #

#이름을 문자열로 입력받아 name변수에 저장
name = input("이름 입력: ")

#입력받은 나이를 정수로 변환하여 age변수에 저장
age = int(input("나이 입력: "))

#입력받은 시력을 실수로 변환하여 sight변수에 저장
sight = float(input("시력 입력: "))

print("당신의 이름은", name)
print("나이는", age, "시력은", sight)

 

연산자)

1. 산술연산자 : 일반적인 연산자 + 파이썬 특유의 연산자, 결과과 무엇으로 나오는지가 중요

2. 시프트연산자 : 비트배열을 좌우로 이동

3. 비트 연산자 : 1참, 0거짓, 각비트를 자리별로 대응하여 연산

*AND논리곱연산(둘다 1일때만 1), OR논리합연산(둘다 0일때만 0), XOR베타적논리합연산(서로 다를 때 1), 부정(1<->0)

4. 논리비교연산자 : a<b, b<a -> a<b<c 로 표현. 데이터하나와 둘 이상의 데이터 동시비교 가능, 다중의 논리데이터(True, False)를 판별

5. 멤버 연산자 : 데이터가 특정 데이터 구조에 포함되는지 여부 판별

 

시퀀스)

파이썬의 가장 기본적인 자료구조. 하나의 변수로 다수의 데이터를 관리

시퀀스는 시퀀스기 때문에 첨자[index]사용 가능, 인덱스는 데이터의 위치를 구분할 때 사용, 0부터 시작

특징 : 하나의 변수로 여러 타입, 다수의 데이터 관리(c언어의 배열과 차이, c언어 배열은 하나의 타입만), 데이터가 순서대로 구성(그래서 시퀀스라고 부름)되어 인덱싱과 슬라이싱 가능

리스트 : 대괄호와 쉼표로 구분하여 정의. 가변형 : 요소추가, 삭제 등 가능

튜플 : 괄호와 쉼표로 구분하여 정의, 불변형 : 요소추가, 삭제 등 불가능

#리스트
a = [10, 20, 30, 40] #리스트 생성
a.append(50)	#리스트에 50 추가
a.remove(20)	#리스트에 20 삭제
print(a)	#결과 : [10, 30, 40, 50]

#튜플
b = (5, 15, 25, 35)	#추가, 삭제 X 불가능

 

시퀀스 기술 :

1. 인덱싱 : 인덱스 이용하여 시퀀스 요소 중 하나를 참조(기본: 왼->오, 음수: 반대(-1이 가장 마지막 값))

2. 슬라이싱 : 시퀀스 요소중 하나 이상(여러값)을 참조(콜론(:)을 기준으로 시작인덱스:왼쪽, 종료인덱스:오른쪽), 인덱스 생략 가능(시작인덱스 생략: 첫요소부터 가져오기, 종료인덱스 생략: 마지막 요소까지 가져옴)

*슬라이싱 주의_시작인덱스부터 종료 인덱스 전.까.지 참조(ex, [1:4] 1~3참조

s = "Hello Python"

print(s[0], s[4])
print(s[-1], s[-4])
print(s[6:10], s[-2:])	#끝 첨자 생략하면 마지막 요소까지 진행
print(s[:5], s[5:])	#시작 첨자 생략하면 첫 요소부터 진행

결과 :

#H o

#n t

#Pyth on

#Hello Python

 

매핑형 자료구조)

딕셔너리(가변형) : 시퀀스가 아닌 자료형

시퀀스형이 아닌 매핑형 자료구조기 때문에 인덱싱, 슬라이싱x 불가능

하나의 변수로 여러타입 다수의 데이터 관리(배열과 다름), 키(key)와 값(value)의 쌍으로 구성, 중괄호와 쉼표로 구분하여 정의, 인덱스가 아닌 키로 데이터 접근.

# key : name, age
# value : "파이썬", 20
d = {"name": "파이썬", "age": 20}	#콜론(:)을 기준으로 왼KEY, 오Value 값. 

# 존재하지 않은 데이터 생성
d["sight"] = 1.5			# 인덱스 위치에 인댁스대신 키 지정->데이터에 접근
					# 키가 없는 경우 데이터를 생성하고

# key가 존재하는 경우 해당 데이터 수정(갱신)
d["age"] = 30

print(d)

 

 

제어문)

선택제어문

1. it-elif-else

if <조건식>:

주어진 조건식이 참인 경우에 실행

elif <조건식>:

if 조건식이 거짓이고, elif의 조건식이 참인 경우에 실행되는 영역

else

모든 조건식이 거짓인 경우에 실행되는 영역

2, 영역구분

중괄호x, 파이썬에서는 들여쓰기(띄어쓰기 4칸)로 영역 구분, 하위 영역이 필요한 구문은 콜론(:)사용, 들여쓰기 레벨이 같은 코드는 동일한 영역에 있다고 판단

a = 10
b = 20

if a > b:
	print('a가 큽니다.')
elif a == b:
	print('두 수가 같습니다.')
else:
	print('b가 큽니다.')

 

 

반복 제어문)

*****

for

in 키워드 다음에 나오는 시퀀스(range도 시퀀스)데이터 파악 잘하기!

for<변수> in range(<시작값>, <종료값>, <증가값>):

변수를 시작값으로 초기화하고, 종료값 전 단계가 될 때까지 증가값을 더하면서 반복 진행

ex, range(1, 10, 2): 1부터 9까지 2씩 더하면서 반복 진행

for<변수> in range(<시작값>, <종료값>):

증가값을 생략하면 변수를 1씩 증가하면서 반복

ex, range(1, 10): 1부터 9까지 1씩 더하며 반복 진행

for<변수> in range(<종료값>):

시작값을 생략하면 변수를 0으로 초기화하여 반복

ex, range(10): 0보터 9까지 1씩 더하며 반복 진행

for <변수> in <시퀀스>:

시퀀스 요소들을 하나하나 변수에 할당하면서 반복

a = [10, 20, 30]

for i in range(5)
	print(i)

for k in a:
	print(k)
    
for l in range(1, 5, 1):
	print(l)

결과

# 0 1 2 3 4

# 10 20 30

# 1 2 3 4

 

*****

while

while <조건식>:

조건식이 참인 동안 반복, 조건식대신 True: 무한반복, False: 반복안됨

sum = 0
cnt = 1

while True:
	sum += cnt
    if sum < 100:	# sum에 누적되는 값이 100을 넘으면 종료
    	break
    cnt += 1
    
print(cnt)		# 마지막으로 누적한 수 출력

'STUDY > languages' 카테고리의 다른 글

파이썬 : 데이터프레임 정리  (0) 2021.09.24
파이썬 프로그래밍&코딩 스타일 가이드  (0) 2021.08.31
프로그래밍 자바(언어)  (0) 2021.08.09
프로그래밍 자바(객체)  (0) 2021.08.09
프로그래밍 c언어 고급  (0) 2021.08.09

+ Recent posts