Python Study Material PDF

Summary

This document is a study material for a Python programming class. It introduces basic programming concepts, data types, operations, and input functions. The study is organized as a series of weekly sessions with tasks and guidance. It does not contain questions to answer.

Full Transcript

# 2024-2 FORIF PYTHON STUDY ## 와 파이썬 진짜 쩐다 (아직 시작 안 함) - 24.09.09 - WEEK 1 - 표준성 | 배혜진 멘토 ## 목차 - Chapter 1: 멘토 소개 - Chapter 2: 스터디 진행 방향 소개 - Chapter 3: 프로그래밍 기본 개념 - Chapter 4: 개발 환경 세팅 - Chapter 5: 연산식과 산술연산자 - Chapter 6: 자료형 - C...

# 2024-2 FORIF PYTHON STUDY ## 와 파이썬 진짜 쩐다 (아직 시작 안 함) - 24.09.09 - WEEK 1 - 표준성 | 배혜진 멘토 ## 목차 - Chapter 1: 멘토 소개 - Chapter 2: 스터디 진행 방향 소개 - Chapter 3: 프로그래밍 기본 개념 - Chapter 4: 개발 환경 세팅 - Chapter 5: 연산식과 산술연산자 - Chapter 6: 자료형 - Chapter 7: 입출력 - Chapter 8: 과제 안내 ## 멘토 소개 ### 표준성 멘토 - 정보시스템학과 23학번 - 24-2 포리프 회장 - 포리프 공식 웹사이트 제가 개발했어요 ㅎㅎ ### 배혜진 멘토 - 정보시스템학과 22학번 - 24-2 포리프 부회장 - 23-1 파이썬 기초 스터디 멘토 및 튜터링 경험 다수 ## 스터디 진행 방향 소개 - 1차시: 파이썬 입문 - 변수와 기본 연산 - 2차시: 프로그램의 흐름 제어 - 조건문과 반복문 - 3차시: 코드의 재사용 - 함수 - 4차시: 데이터 구조 - 리스트와 딕셔너리 - 8차시: 파이썬 기본 문법 복습 및 문제 풀이 - 9차시: 객체 지향 프로그래밍 입문 - 파이썬 클래스 - 10차시: 웹 서버 입문 - 파이썬으로 만들어보는 서버 (1) - 11차시: 데이터베이스 연동 - 파이썬으로 만들어보는 서버 (2) ### 스터디 일정 - 시간 | 매주 월요일 18:00-20:00 - 장소 | IT/BT관 703호 - 과제 풀이 -> 스터디 진행 -> 과제 안내 - 이메일을 통한 과제 제출 - 시험기간에는 진행하지 않습니다. - 이해가 안가거나 궁금한 사항이 있으면 바로바로 질문해 주세요! ## 프로그래밍 기본 개념 - 프로그래밍: 프로그램을 만드는 것 - 프로그램 Pro (미리) + gram (작성된 것) = program (미리 작성된 것) - 컴퓨터 프로그램 컴퓨터가 무엇을 해야 할 지 미리 작성한 진행 계획 => 컴퓨터가 특정 작업을 수행하기 위해 실행하는 명령어들의 모음 - 하지만, 컴퓨터가 이해할 수 있는 값은 오로지 0과 1뿐 (이진 코드) - 사람이 이해하기 쉬운 언어로 만들자! = 프로그래밍 언어 (파이썬, C, Java ...) - 컴퓨터의 언어 0과 1 - 프로그래밍 언어 - 사람의 언어 Ex 안녕하세요 - 프로그래밍 언어로 작성된 소스 코드 print("hello") - 이진 코드로 변환해주는 코드 실행기 - 실행 ## 개발환경 세팅 - Visual Studio Code를 본인 운영체제에 맞게 설치해주세요! - 이후 왼쪽의 네모 네개의 아이콘을 눌러 Python 확장팩을 다운로드 받습니다. - 파일 -> 새 파일을 선택하여 파일을 생성합니다 !! 이때, 확장자는 항상 .py입니다. - print('hello python') - print(): 출력함수 -'': 문자열 - 우측 상단의 삼각형 클릭 또는 F5 클릭을 통해 작성한 코드 실행 가능 - Terminal 에서 실행할 때에는 python 이라 입력 후 작성 ## 출력함수 print() - print('hello world') - print('포리프 화이팅!') - print("안뇽") # 큰따옴표 사용 가능 - print(1) - print(5.5) - print() #빈 줄 출력 - print(30, 4.8, '파이썬 쉽다!') # 여러항목 출력 가능. 이때 빈칸으로 구분 ## 연산식 - 피연산자 - 상수 - 정수 (int) - 실수 (float) - 문자열 (str) - 변수: 자료를 저장하는 상자 - 등호(=)를 통해 값을 할당(assignment) num = 50 name = 'python' - <변수 이름의 규칙> - 영문자와 숫자, ‘_’로 구성 - 첫 글자로 숫자가 올 수 없음 - 띄어쓰기 불가 - 대소문자를 구분 - Keyword(예약어)는 사용 불가능! - 예약어? (keyword) : 파이썬에서 이미 다른 목적을 위해 사용하는 단어로서 변수명으로 사용 할 수 없는 것 예약어의 종류에는 33개가 있음 - if - while - for - in - and - or - def - .... - 'hello' - 50 - 20.5 - mybox - mybox=50 print(mybox) - mybox=20.5 print(mybox) - mybox='hello' print(mybox) - 1 mybox=50 2 print(mybox) 3 4 mybox=20.5 5 print(mybox) 6 7 mybox='hello' 8 print(mybox) - 다름 중 변수 명으로 불가능한 것은? - _name - 2_python -> 첫 글자로 숫자가 올 수 없음 - IU - y ... _name = 100 2_python = 100 IU = 10 ## 산술 연산자 |의미|예시|결과| |:---|:---|:---| |덧셈|5+2|'Hi'+'Hi'|7|'HiHi'| |뺄셈|5-2|3| |곱셈|5*2|'Hi'*3|10|'HiHiHi'| |나눗셈|5/2|2.5| |나눗셈(몫)|5//2|2| |나눗셈(나머지)|5%2|1| |지수승|5**2|25| - print('55'+'45')의 결과값은 무엇일까요? main.py 1 print('55'+'45') 2 Run 5545 - 따옴표로 둘러싸인 경우 문자열! ex) 'Hi' + 'Hi' = 'HiHi' - print('55'+'45') - print(55+45) - print(55+'45') - 5545 - 100 - 오류! - 숫자는 숫자끼리, 문자열은 문자열끼리~ - 덧셈 >>> 2 + 3 5 - 곱셈 >>> 5 * 3 15 - 뺄셈 >>> 5 - 2 3 - 나눗셈 >>> 6 / 3 2.0 '/' 연산자의 결과값은 항상 실수~ - 5//2 >>> 5//2 - 4//2 >>> 4//2 2 2 - 5**2 >>> 5 ** 2 25 - 3**3 >>> 3 ** 3 27 - 5%2 >>> 4 % 2 1 - 4%2 >>> 4 % 2 0 - 연산자 - 산술연산자 (+, -, *, /, //, %) - 비교연산자 (<, <=, >, >=, !=, ==) - 논리연산자 (and, or, not) - '==' : 비교연산자 ex.a==b - '=' : 지정연산자 ex. a=b - 피연산자 - 상수 - 정수 - 실수 - 문자열 - 변수 - 지정연산자 '=' - 변수에 값을 저장하기 위해 사용되는 연산자 - ex) num = 10 - 비교연산자 '==' - 좌변과 우변이 같은지 비교 한 후 True 또는 False 를 반환하는 연산자 - ex) 2 == 3 >>> 2 == 3 False >>> 3 == 3 True - 1. num1=50 num2=30 num3=num1+num2 print(num3) - 3. num]='100' num2='100' num3=num1+num2 print(num3) - 2. print('안녕하세요') name='_ , print(‘저는', name, ‘입니다') print(‘저는’+name+‘입니다') - 4. --- terminal에 python 입력 후 실행 1. 5<7 2. 4>=0 3. 2==3 4. 4!=0 - 1. num1=50 num2=30 num3=num1+num2 print(num3) 80 - 3. num1='100' num2='100' num3=num1+num2 print(num3) 100100 - 2. 안녕하세요 print('안녕하세요') 저는 name='_ , print(‘저는', name, ‘입니다') print(‘저는’+name+‘입니다') 입니다 4. ---- terminal에 python 입력 후 실행 1. 5<7 저는__입니다 True 2. 4>=0 True 3. 2==3 False 4. 4!=0 False ## 연습문제 - # 원기둥 부피 계산 프로그램 - #원주율 상수 정의 PI = 3.14 - # 변수 정의 radius = 3 height = 10 - #부피 계산 volume = - # 결과 출력 print("반지름=", radius, "높이=", height, "원의 면적=", volume) 반지름 = 3 높이 = 10 원 의 면적 = 282.6 출력이 위와 같이 되도록 왼쪽 빈칸에 들어갈 코드를 채우고 실행시켜봅시다. cf) 원기둥 부피 = 반지름*반지름*PI* 높이 ## 자료형과 기본 자료형 - 자료형 (data type) : 자료의 형식 - 자료형 - 문자 - 숫자 - 불 - 기본 자료형 - 문자열 (string) - 숫자 (number) -> 정수, 실수 - 불 (boolean) -> True, False ## 자료형 확인하기 - type() 함수 - 파이썬에서의 자료형을 확인하기 위해 활용되는 함수 - 함수의 괄호 내부에 자료를 넣으면 자료의 자료형 확인 가능 - print(type('안녕하세요')) - print(type(True)) - print(type(1)) - print(type(5.3)) - <class 'str'> - <class 'bool'> - <class 'int'> - <class 'float'> ## 문자열 - 작은따옴표('') 나 큰따옴표(“ ”) 로 둘러싸인 경우 문자열 (ex) '56' + '44' = '5644' - "Hello Python” - 'Hello Python' - "Hello Python' - 'Hello Python” - 둘 다 가능 <------------- 문법적 오류 - 만약에 ‘포리프'라는 동아리입니다. 라는 문자열을 출력하고 싶다면? - 1 text = ""포리프"라는 동아리입니다" - 2 print(text) - File "/home/runner/RedAlphanumericMinimals ystem/main.py", line 1 text = ""포 리프"라는 동아리입니다" SyntaxError: invalid syntax - 1 text = "'포리프'라는 동아리입니다" - 2 print(text) - Run 62m '포 리프'라는 동아리입니다 ## 특수 문자열 |특수 문자열|의미| |:---|:---| |₩n 또는 \n|줄바꿈| |₩t 또는 \t|탭| |₩₩ 또는 \\|역슬래시| |₩" 또는 \"|큰따옴표| |₩' 또는 ' |작은따옴표| - 1 text = "Hello\nMy name is\nPython" 2 print(text) Run - 1 text = """Hello My name is Python"" 2 3 4 5 print(text) ## 문자열 연산자 - 문자열 연결 연산자 + - 문자열을 연결하여 새로운 문자열을 만듦 - 문자열 + 문자열 - 1 print('안녕'+'하세요') - 안녕하세요 - 문자열 반복 연산자 * - 문자열을 숫자만큼 반복하여 출력 - 문자열 * 숫자 - 1 print('안녕'*3) - 안녕안녕안녕 ## 문자열 인덱싱 - [] - 문자열 내부의 문자 하나를 선택하는 연산자 - 문자열 안의 무자는 인덱스를 사용하여 접근 가능 |0 |1 |2 |3 |4 |5 |6 |7 |8 |9 | |:---|:---|:---|:---|:---|:---|:---|:---|:---|:---| |H |E |L |L |O |W |O |R |L |D | |-10 |-9 |-8 |-7 |-6 |-5 |-4 |-3 |-2 |-1 | - 1 text = "HELLOWORLD" - 2 print(text[3]) - 3 print(text[-4]) - L - L - O ## 문자열 인덱싱 - [:] - 문자열의 특정 범위를 선택할 때 사용하는 연산자 - 범위는 대괄호 안에 위치를 콜론(:)으로 구분해서 지정 - 1 text = "HELLOWORLD" 2 print(text[0:4]) 3 print(text[:4]) 4 print(text[5:]) - HELL - HELL - WORLD ## Quiz - 1 text = "Python is fun!" 2 print(text[3]) 3 print(text[4:8]) 4 print(text[:9)) 5 print(text[7:]) - h - on i - Python is - is fun! ## 형변환 (Casting) - 주어진 자료형(정수, 실수, 문자열)을 다른 자료형으로 변환 - 정수 -> 실수 - 실수 -> 정수 - 문자열 -> 정수 - 문자열 -> 실수 - 정수 -> 문자열 - 실수 -> 문자열 - 그 외 ... ## 형변환 함수 - int () - 괄호 안의 값을 정수로 변환 - float() - 괄호 안의 값을 실수로 변환 - str() - 괄호 안의 값을 문자열로 변환 - print(int(3.3)) # 실수 -> 정수 - print(int('456')) # 문자열 -> 정수 - print(float('15.712')) #문자열 -> 실수 - print(float(15)) #정수 -> 실수 - print(str(123)) #정수 -> 문자열 - print(str(18.3)) # 실수 -> 문자열 - 3 - 456 - 15.712 - 15.0 - 123 - 18.3 - 1 movie = "범죄도시" + 3 - 2 print(movie) movie = "범죄도시" +3 TypeError: can only concatenate str (not "int") to str - 1 movie = "범죄도시" + str(3) - 2 print(movie) 범죄도시 3 ## 입력받기 input() - 피연산자 - 상수 - 정수 (int) - 실수 (float) - 문자열 (str) - 변수: 자료를 저장하는 상자 - 등호(=)를 통해 값을 할당(assignment) num = 50 name = 'python' - <변수 이름의 규칙> - 영문자와 숫자, ‘’로 구성 - 첫 글자로 숫자가 올 수 없음 - 띄어쓰기 불가 - 대소문자를 구분 - Keyword(예약어)는 사용 불가능! - 변수 = input() - input() 함수를 통해 사용자로부터 데이터를 입력 받음 - input() 함수의 입력 자료형은 항상 문자열 - input() 함수의 결과를 변수에 할당 - 1 a = input("입력: - 2 print(a) ) - 입력 : Hello Python - Hello Python ## 예제: 두 숫자의 합 구하기 - 1 a = input("첫 번째 숫자 입력:") - 2 b = input("두 번째 숫자 입력: ") - 3 print(a + b) - 첫 번째 숫자 입력: 20 - 두 번째 숫자 입력: 30 2030 - input() 함수의 입력 자료형은 항상 문자열! - 1 a = int(input("첫 번째 숫자 입력: ")) - 2 b = int(input("두 번째 숫자 입력: ")) - 3 print(a + b) - 첫 번째 숫자 입력: 20 - 두 번째 숫자 입력: 30 - 50 ## 마무리 1 - 1. 이름이 language인 변수에 문자열 ‘Python'을 저장하고, 이름이 version이인 변수에는 문자열 ‘3.9.6'을 저장한 후, 이들 변수를 이용하여 ‘Python3.9.6'을 출력하세요. - 실행 결과 'Python3.9.6' - language = 'Python' version = '3.9.6' print(language + version) ## 마무리 2 - 2. 10,000초가 몇 시(hours), 몇 분(minutes), 몇 초(seconds)인지 변환하여 출력하세요. - 실행 결과 (2, 46, 40) - total_seconds = 10000 #시간 계산 hours = total_seconds // 3600 #남은 초에서 분 계산 remaining_seconds = total_seconds % 3600 minutes = remaining_seconds // 60 #최종 남은 초 계산 seconds = remaining_seconds % 60 # 결과 출력 " print("(" + str(hours) + ", + str(minutes) + ", + str(seconds) + ")") - 3. 체중과 신장을 실수로 입력받아, 신체질량지수 BMI(Body Mass Index)를 계산하여 출력하는 프 로그램을 작성하세요. | BMI = 몸무게(kg)/키(cm)2 - 실행 결과 체중을 입력하세요(kg): 60.5 신장을 입력하세요(m) : 1.78 당신의 BMI는 19.09481126120439입니다. - #체중과 신장 입력 받기 weight = float(input("체중을 입력하세요(kg) : ")) height = float(input("신장을 입력하세요(m): ")) #BMI 계산 bmi = weight / (height ** 2) # 결과 출력 print("당신의 BMI는", bmi, "입니다.") ## 감사합니다. - 토요일 23:59까지 과제를 제출해주세요! - 카카오톡으로 질문해주세요! - WEEK 1 - 발표자 표준성

Use Quizgecko on...
Browser
Browser