ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 수업 요점정리 2주차(1)
    기타 2022. 9. 6. 12:34
    반응형

    1. 함수

    1.1 Lambda 함수

    이름이 없는 1줄짜리 함수

    간단한 한줄짜리가 필요시

    프로그램의 가독성을 향상하기 위해서

    함수를 인수로 넘겨줘야할 때

    1.2 재귀적(recursive) 함수 호출

    함수 내부에서 자기 자신을 계속 호출하는 방법

    1.3 Pass 구문

    아무일도 수행하지않고 pass 함

    # while 예시
    while True:
    	pass
        
    # 함수 예시
    def smaple():
    	pass

    1.4 전역변수/지역변수

    1.4.1 전역변수

    일반적으로 파이썬 메인 코드문에서 선언하는 변수들은 전역변수이다

     

    1.4.2 지역변수

    함수(def) 내부에서 선언되는 변수는 지역변수이다

    함수 내부에서 사용되는 함수는 함수가 종료시 사라진다

    (Mutable 객체는 참조하는 주소값을 받아오기 때문에 원본 객체에 영향을 주고, 함수 종료시에는 주소값을 참조한 변수만 사라진다)

    함수 내부에서 global 키워드를 사용해서 전역변수를 선언 할 수 있다

     

    2. 모듈

    파이썬에서 모듈이란 함수나 변수 또는 클래스들을 모아놓은 파일

    2.1 모듈 만들기

    아래와 같이 .py 파일 형식으로 함수들이 포함된 모듈 작성(my_module)

    해당 모듈에는 swap, plus, squar 함수가 들어있다

    2.2 메인 코드 작성

    메인 코드를 작성하는 공간으로 .ipynb 파일을 만들어 코딩 시작

    앞서 만든 모듈을 사용하기 위해서 my_module import 하기

    모듈의 함수를 불러서 사용한다(my_module.함수명)

    2.3 외부에서 보는 구조

    모듈이란 함수나 변수 또는 클래스들을 모아놓은 별도의 파이썬 파일이기때문에,

    코드를 작성하는 main_code.ipynb와는 별도의 파일로 되어있다

    3. 연산자

    연산자는 +-*/ 등의 어떠한 연산을 수행하는 기호나 키워드를 의미

    문제해결에서 도구와 같이 사용된다

    3.1 피연산자

    연산을 당하는 변수나 값

    10 + 20  (해당 예시에서 10과 20이 피연산자이다

    3.2 산술 연산자

    산술 연산자 설명 사용 예 사용결과(a값)
    = 대입연산자 a = 3 3
    + 더하기 a = 3+3 6
    - 빼기 a = 6-4 2
    * 곱하기 a = 6*4 24
    / 나누기 a = 6/4 1.5
    // 나누기(몫만 취함) a = 6//4 1
    % 나머지값 a = 6%4 2
    ** 제곱 a = 6**2 36

    3.3 단축대입연산자(산술연산)

    산술 연산자 단축 대입연산자 사용 예 설명
    + += a += 3 a = a+3 과 동일
    - -= a -= 3 a = a-3 과 동일
    * *= a *= 3 a = a*3 과 동일
    / /= a /= 3 a = a/3 과 동일
    // //= a //= 3 a = a//3 과 동일
    % %= a %= 3 a = a%3 과 동일
    ** **= a **= 3 a = a**3 과 동일

    3.4 관계 연산자

    크다,작다,같다를 비교하는 연산자

    결과로는 True 또는 False가 반환된다

    관계 연산자 의미 사용 예 설명
    == 같다 a==b a와b가 같으면 True
    != 같지않다 a!=b a와b가 다르면 True
    > 크다 a>b a가 크면 True
    < 작다 a<b a가 작으면 True
    >= 크거나 같다 a>=b a가 크거나 같으면 True
    <= 작거나 같다 a<=b a가 작거나 같으면 True

    3.5 논리연산자

    관계 연산자 의미 사용 예 설명
    and ~이고, 그리고 (a>10) and (a<20) a가 10보다 크고 20보다 작으면 True(둘다 True일경우)
    or ~이거나, 또는 (a<10) or (a>20) a가 10보다 작거나 20보다 크면 True(둘중 하나만 True면 True)
    not ~아니다, 부정 not(a>10) a가 10보다 클경우 False(조건문은 True이나 not 연산으로 False)

    4. 제어문

    4.1 조건문 - if

    4.1.1 사용법

    if 조건문:
    	(조건문이 True일경우 동작할 코드 작성)
    
    elif 조건문: #위의 if 조건문이 False일경우 동작
    	(조건문이 True일경우 동작할 코드 작성)
        
    else: #위의 if, elif들이 모두 False일 경우 동작
    	(else가 실행될때 동작할 코드 작성)

    4.1.2 예제

    아래의 조건문에서 어떠한 a를 입력받았을 경우 출력되는 프린터문을 구하시오

    ※한번 풀어보시면 if,elif,else가 헷갈리지 않을겁니다

    • case1 : a는 50
    • case2 : a는 70
    • case3 : a는 60
    • case4 : a는 100
    • case5 : a는 30
    a = 입력받기
    
    if a>90:
    	print("A")
    elif a>=70:
    	print("B")
    elif a>50:
    	print("C")
    if a>60:
    	print("D")
    else:
    	print("E")

    4.2 반복문 - while

    # 사용법
    while "조건문":
    	반복할 문장
    
    # 사용 예시
    # i 변수를 생성하여 1씩 증가시키며,
    # i가 10 미만이라는 조건을 걸어서 반복문을 종료시킨다
    i=0
    while i<10:
    	print(i)
        i+=1

    4.3 반복문 - for문

    # 사용 방법
    for i in "인덱스 또는 리스트":
    	print(i)
        
    # 사용 예시1
    for i in range(10):
    	print(i)
        
    # 사용 예시2
    x_lst = "Hello World!!"
    for x in x_lst:
    	print(x)
        
    # 사용 예시3
    x_lst = ['a','b','c',9,10]
    for x in x_lst:
    	print(x)

    4.4 분기문

    4.4.1 break

    # 반복문을 탈출하는데 사용된다
    i = 0
    #while의 조건문이 True일경우 무한반복
    while True:
    	# while 조건문은 무한반복이지만
        # i가 10일때 break문으로 강제 탈출
    	if i == 10:
        	break
        i+=1
        
    # 동일하게 return으로도 탈출 가능하다

    4.4.2 continue

    # continue문을 통해서 i가 3의 배수일경우는 
    # 이후 명령어를 실행하지않고 다음 반복문으로 넘어간다 
    i=0
    while i<10:
    	i+=1
    	if i%3==0:
        	continue
        print(i)

    5. 자료형

    5.1 배열(array)

    같은 자료형 데이터 여러개가 연속적으로 저장되어 있는 데이터 저장장소

    5.2 사용자 정의 자료형(구조체, Struct) p273

    서로 다른 타입의 데이터를 묶어서 저장하고 싶다면 어떻게 할까?

    제공하는 데이터 타입에서 내가 원하는 타입이 없다면?

    내가 필요한 타입을 직접 만들수는 없을까?

     

    사용자 정의 자료형은 해결하려는 문제와 가장 가까운 자료구조를 사용자가 직접 만들어서 사용 가능한 자료형이다

    # 해당 코드는 C언어로 작성됨
    
    # 학생이 가지는 특징들을 포함하는 학생 구조체를 정의
    struct stu{
        int ID;
        float kor, eng, math
        float avg;
        char grade;
    };
    
    #실제 사용하기 위해서 구조체 변수 선언
    struct stu s1

    5.3 리스트

    여러 자료형 데이터 여러개가 연속적으로 저장되어 있는 데이터 저장장소

    리스트 안에 리스트를 넣을 수도 있다(2차원 리스트)

    # 1차원 리스트
    d1_lst = [1,2,3]
    
    # 2차원 리스트
    d2_lst = [
    	[1,1,1],
        [2,2,2],
        [3,3,3]
    ]
    
    # 당연히 3차원 이상도 가능합니다

    ※리스트 사용 가능 함수

    함수 설명 사용법
    append() 리스트 제일 뒤 항목 추가 리스트.append(값)
    pop() 리스트 제일 뒤 항목 추출. 추출된 항목은 리스트에서 삭제 리스트.pop()
    sort() 리스트 내부의 항목들을 정렬한다 리스트.sort()
    reverse() 리스트 내부의 항목들을 역정렬한다 리스트.reverse()
    index() 지정된 값의 위치를 찾아 반환한다 리스트.index(찾을값)
    insert() 지정된 위치에 값을 삽입한다 리스트.insert(위치,값)
    remove() 지정된 값을 리스트에서 제거. 여러개일경우 처음 값만 제거 리스트.remove(지울값)
    extend() 리스트 뒤에 지정된 리스트를 이어 붙인다 리스트.extend(리스트2)
    count() 리스트에서 지정된 값의 개수를 센다 리스트.count(찾을값)
    del() 리스트에서 지정된 위치의 항목을 삭제한다 del(리스트[위치])
    len() 리스트의 길이를 젠다 len(리스트)

    5.4 튜플(Tuple)

    튜플은 생성 후 값을 변경할 수 없으며 읽기만 가능

    tup = (1,2,3)
    #또는
    tup = 1,2,3

    5.5. 딕셔너리(Dictionary)

    키와 값의 쌍으로 이루어진 자료형

    중괄호( {} )로 묶여 있으며 그 내부에 key와 value가 쌍으로 존재함

    # 사용법
    dic = {
        "키" : "값",
        "키2" : "값2"
    }
    
    # 사용예시
    dic = {
        "age" : 20,
        "sex" : 'man',
        "car" : True
    }
    
    # 새로운 키/값 추가
    dic['name'] = "korea"
    
    # 키/값 제거
    del(dic['car'])
    
    # 딕셔너리의 모든키 반환
    dic.keys()
    
    # 딕셔너리의 모든값 반환
    dic.values()
    
    # 딕셔너리 튜플형태로 반환
    dic.items()
    
    # 딕셔너리 특정 키의 값만 반환
    # (해당 예시에서는 age 컬럼 선택)
    dic['age']
    #또는
    dic.get('age')

     

    5.6 문자열

    # 문자열 선언
    s1 = "Hello"
    s2 = "world!"
    
    # 문자열 내부에서 특정 위치 문자 가져오기
    s1[0]    # "H" 반환
    s2[-1]   # "!" 반환
    s1[1:4]  # "ell" 반환
    
    # 문자열 합치기
    s1 + s2  # "Helloworld!"
    
    # 문자열 반복하기
    s1 * 2   # "HelloHello"
    반응형

    댓글

Designed by Tistory.