창공설 (실습 - 파이썬 중간고사 공부)

(2주차) Python의 자료형

기본 자료형 1. 변수 2. 숫자형 3. 문자열

자료구조

  1. 리스트
  2. 튜플
  3. 딕셔너리
  4. 집합

※ 문자열 슬라이싱 a[0:3] # 0 <= a < 3

문자열 관련 함수

1. 문자 개수 세기
2. 위치 알려주기
3. 위치 알려주기 2
4. 문자열 삽입
5. 소문자를 대문자로
6. 대문자를 소문자로
7. 왼쪽 공백 지우기
8. 오른쪽 공백 지우기
9. 양쪽 공백 지우기

(답 : count, find, index, join, upper, lower, lstrip, rstrip, strip)

find는 찾는 문자가 없을 시 -1 반환 index는 찾는 문자가 없을 시 error message 출력 join은 문자 사이에 문자열 넣음

Python의 자료구조

1. list 자료형 []
2. Tuple 자료형 ()- 값 변경 x
3. 집합 자료형 {}- 중복 허용 x , 순서 x
4. 딕셔너리 자료형 - {key, value}

리스트 자료형

※ 리스트 연산자 사용시 주의할 점 a = [1, 2, 3] a[2] + “ hi” # Error 발생 : 숫자 자료형에 문자열 자료형을 더하려고 해서.

해결 방법 -> # 문자열로 바꾸는 함수 ‘str()’를 활용하여 해결 Str(a[2]) + “ hi” -> 3hi

리스트 활용

1. 리스트 요소 삭제하려면
	a[1:3] = []
2. del 함수 이용 리스트 삭제 
	a = [ 1 , 'c', 4]
	del a[1] -> [1,4]
3. 리스트에 요소 추가 (마지막에 덧붙임)
4. 리스트에 리스트 추가
5. 리스트에 정렬
6. 리스트 뒤집기
7. 위치 반환
8. 리스트에 요소 삽입(위치, 값)
8. 리스트 요소 제거 (순서대로 검색하면서 첫 번째로 나온 중복되는 요소 삭제)
9. 리스트에 포함된 요소 x의 개수 세기
10. 리스트 요소 끄집어 내기()에 인덱스가 없을 경우 마지막으로 삽입한 걸 끌어냄
11. 리스트 확장

(append, append, sort, reverse, index, insert, remove, count, pop, extend)

튜플 활용

리스트와의 차이점

  • 리스트는 []로 둘러싸지만 튜플은 ()로 둘러싼다
  • 리스트는 그 값의 생성, 삭제, 수정이 가능하지만 튜플은 그 값을 바꿀 수 없다.

    1. 생성시 주의 사항
      • 1.1 (1,) 한 개의 요소를 가질 떄는 끝에 ,를 붙여야 하며
      • 1.2 괄호를 생략해서 써도 자동으로 생성된다.
    2. 인덱싱
    3. 슬라이싱
    4. 더하기
    5. 곱하기

집합 자료형

중복된 값 허용 x, 순서가 일정하지 않음

집합 만들기 s1 = set([1,2,3]) s2 = set("Hello")

1. 값 1개 추가하기
2. 값 여러개 추가하기
3. 특정 값 제거하기
4. 집합 자료형 활용
	4.1 교집합  &
	4.2 합집합 | , s1.union(s2)
	4.3 차집합 - , s1.difference(s2)

(add, update, remove)

딕셔너리 자료형

딕셔너리 역시 순서가 없다. 중복 될 경우에는 하나를 제외한 나머지 것은 무시된다.

1. 기본적인 Dictionary의 형태
2. 딕셔너리 쌍 추가하기
	a = {1,'a'}
    a[2] = 'b'
	a[key] = 'value'
	--> {2 : 'b', 1 : 'a'}
3. 딕셔너리 요소 삭제 
	del a[key]
4. key 리스트 만들기
5. value 리스트 만들기
6. key,value 쌍 얻기
7. key,value 쌍 모두 지우기
8. key로 value 얻기
9. 해당 key가 딕셔너리 안에 있는지 조사하기 

(a.keys(), a.values(), a.items(), a.clear(),a.get(key), ‘key’ in a)

3주차 Python의 제어문

1. if  문
2. while 문
3. for 문
if 조건문: # 조건문 다음 콜론(:)을 잊지 말자
	수행할 문장
else:
	수행할 문장

비교 연산자

1. or
2. and
3. not 

in 연산자

in , not in

그 외

* 	while 문

* 	강제로 빠져나가기 - break

* 	조건이 맞지 않을 경우 맨 처음으로 돌아가기 - continue

for 문

marks = [90, 25, 67, 45, 80]

for mark in marks:

for 문에 많이 활용되는 함수

  • range() 차례대로 증가하는 숫자들을 갖는 리스트를 만들어준다.

range(시작, 끝 증가값) range(시작, 끝) range(끝)

len() 함수는 문자열, 리스트 등 요소의 개수를 돌려주는 함수이다.

ex)

marks = [90, 25, 67, 45 ,80]
for number in range(len(marks)):
	if marks[number] < 60: continue
    print("%d번 학생 축하합니다. 합격입니다." % *number+1))

함수와 파일 입출력 (4주차)

Python 함수의 구조 1. 일반적인 함수 2. 입력값이 없는 함수 3. 결과값이 없는 함수 4. 입력값도 결과값도 없는 함수 5. 입력 값이 여러 개일 때,

def 함수이름 (*입력변수): <수행할 문장="">

파일 생성하기 f = open(“새파일.txt”, ‘w’)

파일열기모드 r, w, a -> 읽기 모드, 쓰기 모드, 추가모드

파일 쓰기모드

f = open("새파일.txt", "w")
for i in range(1, 11):
	data = "%d번째 줄 입니다.\n" % i
    f.write(data)
f.close()

파일 읽기모드

f = open("새파일.txt", "ㄱ")
while True:
	line = f.readline()
   	if not line: 
    	break
    print(line)
f.close()

read(): 파일 전체 읽어오기 readline() : 파일에서 한줄씩 읽어오기 readlines() : 파일에서 한줄씩 읽어와서 리스트로 저장

5주차 Python

OOP의 4대 원칙

	추상화 : 필요한 부분 표현, 불필요 부분 제거
	캡슐화 : 정보 영역의 한정
	상속성 : 부모 클래스의 데어터 구조와 메소드 그대로 이해
	다형성 : 함수 이름이나 연산자가 여러 목적으로 사용될 수 있는 것

생성자는 클래스를 인스턴스화 시킬 떄 딱 한번 호출한다.

6주차 모듈

python 코드로 만들어진.py 파일

모듈 만들기

## 모듈 만들기 1
import [모듈이름]
이렇게 불러올 경우 모듈 안의 함수를 사용할 때, moudue1.sum이런식으로 활용해야 한다.

## 모듈 만들기 2
from [모듈이름] import [모듈함수]
이렇게 불러오면 sum을 사용할 수 있다.

## 모듈 만들기 3
from [모듈이름] * 
모듈 안의 모든 함수를 불러오겠다.

if__name__ == “main“의 의미

python은 스크립트 언어이기 떄문에 main 함수가 없다. 따라서 import를 이용하여 module 단위의 테스트를 위한 코드가 있을 경우 모두 실행하는 문제가 생긴다.

Python의 내장함수

abs(x)

  • 어떤 숫자를 입력으로 받았을 때, 그 숫자의 절대값을 돌려주는 함수

all(x)

  • 반복가능한 (리스트, 튜플 등) 자료형을 파라미터(x)로 받아 모두 참이면 true,하나라도 거짓이 있으면 False

any(x)

  • 반복가능한 (리스트, 튜플 등) 자료형을 파라미터 x로 받아서 하나라도 참이면 true, 모두 거짓이라면 False

max(x)

  • 반복가능한 자료형을 입력받아 최대값을 반환해준다.

min(x)

  • 반복가능한 자료형을 입력받아 최소값을 반환해준다.

pow(x, y)

  • x의 y제곱한 결과를 반환해준다.

sorted(x)

  • x의 입력값을 정렬한 후 결과를 리스트로 반환해준다.

Python의 외장함수

time.time - 1970년 1월 1일 0시 0분 0초를 기준으로 현재까지 지난 시간을 반환

time.localtime - time.time()에서 반환한 실수값을 연도, 월, 일, 시, 분, 초로 바꿔주는 함수

import time
print(time.localtime(time.time()))

time.ctime - 현재 시간을 알아보기 쉽게 반환해줌

random : 난수(규칙이 없는 임의의 수)를 발생시키는 모듈

ramdom.random()

  • 0.0에서 1.0 사이의 실수 중 하나 반환

random.randint(x,y)

  • x에서 y사이 중 정수 반환

random.shuffle(x)

  • 리스트의 항목을 무작위로 섞는 함수

참고자료

창의적 공학 설계 입문 - 6주차 pdf 자료

점프 투 파이썬

0%