비전공자 개발자 도전기
빅데이터 ai알고리즘 수업자료 3일차 필기 및 코드 (함수와변수) 본문
- 저자
- 렌틴 조셉
- 출판
- 에이콘출판
- 출판일
- 2016.05.20
필기
-개발툴
visual studio code->정말 기초적인 툴
pycharm-> 파이썬 기본 문법 및 머신러닝
나머지 툴은 시각화부터 사용
miniconda ->로컬에서 돌아가는 가상환경 (코렙과 비슷)
jupyter notebook
코렙(장점 gpu가 없을 때 구글의 gpu를 사용)
gpu->딥러닝할 때 필요
위키독스(e북 전자책들)
- 코딩테스트등 딥러닝 활용
-꽤 쓸만한 것들도 있다.
Anaconda
coda env list
conda create -n test (가상환경을 만든다)
conda activate test(열고 싶을 때)
conda deactivate(없애고싶을떄)
conda install jupyter 설치
jupyter notebook->쥬피터 노트 활성화
주피터 파일경로 설정
경로 파일에서 제목옆을 클릭하고
컨트롤+c 하고
우클릭은 누른 후
cd+저장된 경로 파일 작업이 진행된다
주피터 사이트에서
new 누르고 새로 만들어야 작업이 진행된다
주피터 폴더는 .py(설정이 되어 있다면 실행이 불가능하다 새로 생성을 해야 한다)
py.(파이썬, 비주얼스튜디오)
ipynb(주피터 노트 이름코드)
-프로그래밍 (함수와변수) 필기
프로그래밍은 무조건 함수,변수로 이루어진다.
화면에 출력하는 명령어는 print이고 () 안에는 출력하고 싶은 데이터를 넣는다.
문자열은,,, 문자들의 집합이고 ""로 둘러싼다
print("Hello" , "World!")
다음코드를 완성해서 "Hello. World!"와 "12345x7890" 이 각 줄에 출력되게 만드세요
ctrl + ? (주석추가 명령어)
세미콜론
-파이썬은 세미콜론을 붙이지 않음 #파이썬은 ', "" 구분하지 않음
print('Hello, World') -> 하나의 명령어
-보통 한 줄에 여러 구문을 사용할 때 세미콜론으로 구분해 줌
print("12345X7890") print("Hello" , "World!") # 문자열
주석
-코드 맨앞에 #을 사용하면 해당 줄은 주석이 됨.
더하기
a = 1+2
print('Hello, World!')
코드뒤에 주석을 작성할 수도 있음
a = 1+2 #더하기
들여 쓰기
파이썬은 들여 쓰기가 자체가 문법임
들여 쓰기 방법 탭(tab) 사용하기
== (같다)
a = 10 if a == 10: print('10입니다')
코드 블록 특정한 동작을 위해서 코드가 모여 있는 상태
파이썬은 들여쓰기를 기준으로 코드 블록을 구성
정수 계산하기
정수 (-1-2....)
덧셈
3.5+2.1
5.6
뺼셈과 곱셈
4.3-2.7
1.5999999999996
나눗셈
5/2
2.5
파이썬 3은 정수끼리 나눗셈을 해도 실수가 나옴
실수 계산하기
4.2+5#(연산자)
표현 범위가 넓은 쪽으로 계산됨(실수+정수)
피연산자의 범위가 안 맞으면 알아서 맞춰줌.
오버플로우(범위보다 크면 다른 값이 나옴) 언더플로우(범위보다 작으면 다른 값이 나옴)
연습문제 #print 명령어를 쓰면 된다
print(225+0.6*102);print(10+20)
225+0.6*102, 10+20
변수 규칙 (변하는수)(이름을 가지게 하는 수)
영문 문자와 숫자를 사용할 수 있다
대소문자를 구분한다
문자부터 시작해야 하며 숫자부터 시작하면 안 된다
_(밑줄 문자)로 시작할 수 있다
특수문자(+,-,*,/,$,@,&,%등)는 사용할 수 없다
(중요) 파이썬의 키워드(if, for, while, and, or 등)는 사용할 수 없다.(예약어)
print("hello world") #TypeError: 'str' object is not callable (호출할 수 없다)
print(함수)
print = '프린트'(절대하면안됨) #(변수명을 재할당)(기능을 바꿔서)
변수 만들기
빈 변수 만들기
None 할당
x = None
print(x)
대입 연산자
x =10 print(x)
x = 20 print(x)
x = 30 + 40 print(x)
x, y, z = 10,20,30
x = y = z = 10
파이썬은 변수에 다른 변수 할당할 수 있다(파이썬의 장점)
값뿐만 아니라 다른 변수도 할당할 수있음
del 변수
(변수 삭제하기) (많이쓰지않는다) (자원을 반납한다) (메모리를 확보)
연습문제 변수만들기
a = b = 10 c, d = 20, None
print(a) print(b) print(c) print(d)
문자열을 변수에 저장하기
hello1 = 'Hello, world' print(hello1)
hello = '''Hello, world! 안녕하세요 python입니다.'''
print(hello)
문자열의 길이 구하기
len 함수
공백까지 포함하여 계산함
문자열을 묶은 따옴표는 제외
hello ='안녕하세요' len(hello)
문자열을 연결하고 반복하기
(예시) 문자열1 +문자열 2
hello = 'Hello' world = 'world' hello + world
문자열 * 정수
hello * 3
예시
print(1+2) print("-"*30) print(10+20)
-> 30
문자열을 연결하고 반복하기
문자열에 숫자를 더하는 방법
문자열 + str(정수)
문자열 + str(실수)
예시
s = 'hello, python' print("s의 길이는 13입니다")
문자열 입력받기
input 함수
변수 = input()
변수 = input(문자열)
예시
data1 = print ("값을 출력하세요 : ") data2 = input ("값을 입력하세요 : ") print(data1) print(data2)
data + str(10)
숫자 입력받기
각각의 문자열을 합쳐서 만든다.
a = input ('첫 번째 숫자를 입력하세요:') b = input ('두 번째 숫자를 입력하세요:')
print(a + b)
정수 입력받기
문자열 상태가 아닌 숫자로 변화해주어야 함
변수 = int(input())
a = int(input('첫 번쨰번째 숫자를 입력하세요:')) b = int(input('두 번째 숫자를 입력하세요:'))
print(a + b)
#int와 변수
a, b = input('숫자 두 개를 입력하세요: ').split()
a = int(a)
b = int(b)
print(a + b)
"1234"[0]:"1234" [1]
number = input("숫자를 입력하세요 : ") #12345
# code..
print(number) #54321
print (number[4]+number[3]+number[2]+number[1]+number[0])
a, b = map(int, input('숫자 두 개를 입력하세요: ').split())
print(a + b)
a, b, c = map(str,["111","222","333"])
print(a+b+c)
a, b = map(int,input('숫자 두 개를 입력하세요: ').split(','))
print(a+b)
a, b, c = map(int,input('숫자를 세 개를 입력하세요: ').split() )
print(a + b + c)
#sep 예시
print(1, 2, 3, sep=', ')
print(4, 5, 6, sep=', ')
#중간 점검
변수
만드는규칙
빈 변수 만들기(None)
여러개 한번에 할당
문자 <-> 숫자 (정수, 실수)
입력 받기
문자열 같이 구하기
문자열 분리하기
분리된 문자열에 특정함수 일괄 적용하기 map
출력에 옵션정하기
변수 swap
문자열 연결 + , 반복 * (문자열 연산)
응용문제
타인의 BMI를 구해봅시다
BMI (kg/m2)를 구하는 방법은 (몸무게) / (키)2 로서, 단위에서 알 수 있듯이 몸무게는 kg, 키는 m이다
키와 몸무게를 입력받아서 구해봅시다.
#문제
kg, cm = map(int,input('몸무게와 키를 입력하세요: ').split())
BMI = kg / (cm/100**2)
print(f"당신의 BMI는{BMI}")
#단나누기
특수기호 /n,/t 단을나누거나
줄바꿈 활용하기
print를 여러 번 사용해서 print(1,2,3,)처럼 한 줄에 여러 값을 출력할 수는 없을까?
print(1, end='')
print(2, end='')
print("avc\ndef")
#print(value, ... sep=' ',) #디폴드 밸류
print('a','b','c',sep='111', end='213')
print('a','b','c',sep='')
#날짜 계산하기
yeat = 2000
month = 10
day = 27
hour = 11
minute = 43
second = 59
print(f'yeat,month,day', sep=' / ', end= " ")
print(f'hour,minute,second', end=":")
#산술 연산자 사용하기 -기본 산술 연산자 -덧셈, 곱셈, 뺼셈 -나눗셈
print("a","b","c",sep="ii", end="여기까지")
print("100동101호의 관리비는 210000원 입니다.")
print("100동102호의 관리비는 110000원 입니다.")
print("200동301호의 관리비는 210000원 입니다.")
dong,ho,price = 100,101,210000
print(dong,"동 ",ho, "호의 관리비는 ",price, "원 입니다.", sep="")
print(f"{dong}동 {ho}호의 관리비는 {price}원 입니다")
print(f"{3.14657:.2f}")
#정수와 실수
# 5나누기 2의 정수느 000이고 실수는 000입니다.
5 // 2
#사용자로부터 2개의 숫자를 입력받게 해서 두 숫자를 나눈결과를
#정수와 실수로 구분해서 출력할것
number1,number2 = map(int. input("두개의 정수를 공백을 기준으로 입력").split())
reult1 = number1 / number2
result2 = number1 // number2
print("정수:".result2)
print("실수",result1 - result2)
data = 12.56634
# 반올림 없이 소수점 둘쨰자리까지 구해서 새로운 변수에 할당
#print(f"{data:.2f}")
newData = f"{data:.2f}"
print(newData)
# 반올림 미적용
data = 12.56634
int(data*100)/100
# 반올림 적용
data = 12.56634
int(data*100+0.5)/100
# 12.57
# // ->몫
# % ->나머지
- 후기
파이썬 함수와 변수를 배워보앗다.
수학이 많이 부족해서 그런지 수업도중 이해 안 되는 부분이 잇었지만
옆에 잇는 동료로 인해 도움을 많이 받았다.
이러한 커뮤니케이션은 중요하다고 생각한다
하지만 계속 의존하지 말고 최대한 나 스스로 노력을 해봐야 된다고 생각한다.
'빅데이터 분석기반 AI알고리즘 개발과정' 카테고리의 다른 글
| 빅데이터 ai 알고리즘 수업자료 4일차 필기와 ChatGPT를 이용해서 (문제풀어보기) (0) | 2023.03.19 |
|---|---|
| 빅데이터 ai알고리즘 수업자료 2일차 필기 (0) | 2023.03.19 |
| 빅데이터 ai 알고리즘 수업자료 1일차 필기 (0) | 2023.03.14 |