프로그래밍/파이썬

[파이썬] 1일차 - 개발환경 설정, 기초

aSpring 2021. 2. 9. 22:47
728x90
728x90

2021/02/05 - [공부/자바(java) 융합개발자 2차] - [자바] 21.02.05 JUnit, assertEquals, path 잡기

 

환경설정은 이걸 참고!

 


-------------------개발환경 설정 : 프로그램 설치-----------------------------
텔레그램 설치 - 카톡같은 프로그램(독일)
telegram.org/?setln=ko

- PC용 -> 윈도우용

 

반디집

kr.bandisoft.com/bandizip/

 

- V 6.29 다운로드 -> 정보보내기X
- 파일 : 전체 선택
- 탐색기메뉴 : 폴더 바닥 선택할 때 명령 창 열기 체크

<visual studio>
1. 설치
개발 정보 : 구글링 하기(네이버X)
- 검색 : vscode - visual studio -> MS사의 개발툴

code.visualstudio.com/

 

- 윈도우 64 stable 다운로드
2. 한글화
-설치 후 : 맨 아래 테트리스모양 -> korean 검색 -> Korean Language Pack for VSC > Install > Restart
3. 확장 설치
- 맨 아래 테트리스모양 -> python 검색
-> 1, 2, 3번째 것 설치 : Python , Python for VSCode, Extension pack 설치

<테스트하기> - 디렉토리 만들기
위치 : C:\Users\ADMIN\Documents\Python

 

VSCode에서 탐색기 > 폴더 열기 > 문서 > Python > 폴더 만들기 210209_001 > 파일만들기 spring.py

다운로드 > www.python.org/downloads/

> Download Python 3.9.1 > 설치 파일 뜸 > 
Add Python 3.9 to PATH 체크 후 Customize installaion 선택 > 전체 선택되어있는 상태에서 Next > 
경로 변경 : C:\Python\Python39 & Precompile standard library 체크 > Install > Close

 

------------------------------------------개발환경 설정 끝---------------------------------------------

---이후는 10:27 메세지 보면서 따라하기---
print('지옥으로 키티') #''도 되고, ""로 해도 됨

' '와 " "가 동일
자바보다 편함

★외우기★
탐색기 : [윈도우키] + [e]
C:\Users\ADMIN\Documents\Python\210209_001
<도스창>
우클릭 : 명령창 열기 -> python + [spacebar] + [tab] : spring.py 가 자동으로 입력됨 -> + Eneter
VSCode 결과 나옴
- VSCode에서 Ctrl + F5누르는 것이 'spring.py' 가 자동으로 입력됨' 이것과 동일

복사한 텍스트를 cmd 창에서 마우스 클릭하면 붙여넣기 됨
복사할 때도 cmd창에서 해당 내용 블록지정 -> 우클릭 : 복사하기 됨

notepad test.java > 예 > 메모장이 뜨고 이름은 test.java가 됨

 

메모장에

class test {

 public static void main(String args[]) {

   System.out.println("지옥으로 키티");

 }

}

 

입력 -> 저장하고 닫으면 C:\Users\ADMIN\Documents\Python\210209_001에 test.java 파일 생성됨

 

cmd창

 

명령어 외워야 함!!!
cls : 창 클리어
dir : 파일 목록 볼 수 있음

- spring.py도 보이고 test.java도 보임

set : 환경변수들이 보임

- Path = 경로

-> 나는 Path=C:\Program Files\Java\jdk1.8.0_202\bin; 로 되어있음 위에서 'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜬 사람은 이게 안되어있는 것

 

파이썬 관련도 있음
C:\Python\Python39\Scripts\;
C:\Python\Python39\; 

 

탐색기 C:\Windows > notepade.exe : 메모장

explorer.exe : 탐색기

- 우리가 메모장 아이콘 등을 더블클릭해서 실행시키는 것 -> 실제로는 더블클릭을 해서 열리는 게 아니고 윈도우가 우리 눈에 보이지 않게
notepade를 친 것

 

exe : excute(실행하다)의 약자 실행파일

성 : 홍 -> 홍씨 핏줄을 타고 났다 : 분류 기준
이름 : 길동 
파일 이름 : 아이유.mp3 -> 노래를 저장하는 파일

                  이름.확장자 -> 통틀어 파일 이름이라고 함

                  이름.hwp    -> 한글 워드 프로세스

                       .doc     -> document : MS워드에서 사용

                       .mp4   -> 영상

-> 파일도 뒷 부분을 보고 무슨 파일인지 속성을 파악 한다

 

보기 -> 옵션 -> 보기 -> 알려진 파일 형식의 파일 확장명 숨기기(체크/해체)
- 체크 되어있으면 확장자 빼고 이름만 보여줌!
- 체크 해제 : 확장자까지 전부 보여주는데 이름을 전체로 변경해버리면 확장자가 지워져서 제대로 실행이 되지 않음

도스창에서 'notepad' 이런식으로 치면 .exe가 붙었다고 가정!

notepad.exe라고 쳐도 됨

 

python을 치면 python.exe가 실행됨

python spring.py -> 파이썬이 spring.py를 실행시켜 달라

 

javac 오류

 

cmd창에서 javac하고 Enter : 뭔가 막 주르르륵 떠야 정상 안뜨고 'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜬다면 

 

- [윈도우키] + [Break] : 시스템 뜸 | 아니면 탐색기 -> 내pc -> 속성
> 고급 시스템 설정 > 환경 변수 > 시스템 변수에 JAVA_HOME이 없을 것

 

2021/02/05 - [공부/자바(java) 융합개발자 2차] - [자바] 21.02.05 JUnit, assertEquals, path 잡기

참고해서 해결

 

더보기

나는 JAVA_HOME 있음 C:\Program Files\Java\jdk1.8.0_202 -> 자바가 설치된 디렉토리 위치 
PATH도 %JAVA_HOME%\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\oraclexe\app\oracle\product\11.2.0\server\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\; 
-> 앞, 뒤 % % -> 그 전의 걸 불러온다 -> JAVA_HOME의 C:\Program Files\Java\jdk1.8.0_202 이걸 가지고 옴 
javac : java compiler 약자 -> 번역기 : 우리가 적은걸 jvm이 해설할 수 있도록 번역 
- 우리가 자바 언어로 적은 것( 그저 Text 일 뿐 : 휴먼 기반) -------컴파일러(:javac가 번역)---------> 2진수(컴퓨터) : 5V 1      0V 0 
- 컴파일은 언제 하는가? 실행시킬 때! -> class 파일로 바꿔 줌, 오타가 있거나 하면 에러나고 ..

 

; 를 기준으로 엔터쳐서 분리해보기
%JAVA_HOME%\bin;
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;
C:\oraclexe\app\oracle\product\11.2.0\server\bin;
%SystemRoot%\system32;%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
%SYSTEMROOT%\System32\OpenSSH\;

 

여기서 %JAVA_HOME%\bin 이것만 탐색기창에 쳐보기
- 해당 경로로 이동

 

C:\Users\ADMIN\Documents\Python\210209_001 에서 우측 클릭 > 명령 창 열기 >
dos창에서 javac t 적고 [tab] 누르면 javac test.java -> 엔터 치면 : test.class 파일이 만들어진다 : 컴파일
-> 에러나면 아까 만들었던 test.java를 ANSI로 저장 후 다시 해보기!

 

<jvm에서 실행>
java test 엔터 -> 지옥으로 키티가 출력됨

 

- 이클립스에서 실행 버튼 -> javac test.java와 java test를 동시에 해주는 것(컴파일과 실행 동시에)

 

<컴파일>
자바 파일 -----------javac(컴파일러)-----------> 클래스 파일로 바뀐다     : 파일 -> 하드디스크에 존재

<실행>
우리는 실행을 해야 함 : CPU Memory에서!
class 파일 ---------------java(JVM)-------------> 실행

Java 파일 ----------------이클립스---------------------> 실행
                        javac             java     : 알아서 해주니까 우리가 볼 때는, java 파일이 바로 실행되는 걸로 보임

JDK -> 안에 JRE(자바 실행 환경) + Compiler 같이 패키지로 있음
                JRE -> JVM(자바가상머신) : JRE를 설치했으면 JVM이 같이 설치된 것
        아까 도스 창에서 'java'라고 쳐서 명령           

JRE : Java Runtime Environment -> 자바가 실행되는 환경
            실행시간 환경

cpu 제조사가 다르면 기계어도 다르다
java 언어로 작성 -> 0101 .. 로 변환 -> cpu에 전달
                         ㄴ> 기계어, 어셈블리어(기계어보다 간단)
                         -> cpu를 디테일하게 제어 가능 -> cpu 구조를 알아야 함

java를 배우면 cpu 구조를 몰라도 cpu를 제어 가능(기계어, 어셈블리어 몰라도)

<JAVA>
   .java -> .class -> cpu

소스파일  클래스파일
<C>
C -> exe -> cpu

중간 단계를 생략할 수 없을까? ----> 파이썬 탄생 : 컴파일X, 실행파일X
-> 중간 단계가 아예 사라진 건 아니고 내장되어 있는 것
.py -> cpu

Java : 소스 작성 -> 컴파일 -> 실행
Python : 소스작성 ----------> 실행+컴파일
일의 양은 같다.
-> 파이썬은 만들기는 편하지만 속도가 떨어진다
why? 실행 할 때마다 컴파일 해야 함
자바 같은 경우 컴파일을 1번 해놓으면 실행만 하면 됨


Number.py

a = 123
a = a + 1 #124
print(type(a)) #a의 자료형 출력 -> <class 'int'>
print(a)
a = a + 3.14 #127.14 / 윗부분 까지는 정수형, 여기서부터 실수형
print(type(a)) # <class 'float'>
print(a)
a = '지옥으로 키티' # 윗부분 까지는 실수형, 여기서부터 문자열
print(type(a)) # <class 'str'> -> 문자열 타입
print(a)

#a에 입력받기
# a = input()     #안녕    333    333 222
# print(type(a))  #str     str     str   
# print(a)        #안녕    333    333 222    

#a에 입력받기
a = int(input())#333  -> 입력받은 것을 int형으로
print(type(a))  #int
print(a)        #333

 

sample_if.py

Number = input('숫자를 입력하세요 : ') #문자로 입력됨
Number = int(Number) #입력받은 문자를 숫자형으로 바꿔줌
if 50 > Number : #if문 - 50보다 Number가 작으면
    print('입력한 숫자는 50보다 작습니다.') #반드시 탭 키로 띄워야 if의 하부명령이라는 것을 인지함
else :
    print('입력한 숫자는 50보다 큽니다.') #50입력 시 -> 입력한 숫자는 50보다 작습니다.

 

sample_if2.py

#숫자 1개를 입력 받아
#4의 배수인지 확인하는 코드를 작성하시오

Number = input('숫자를 입력하세요 : ')
Number = int(Number)

print('입력한 숫자는 4의 배수', end ='')
if Number%4 != 0 or Number == 0 : # 숫자를 4로 나눈 나머지가 0이 아니면
    print('가 아닙니다')
else :
    print('입니다')

if Number%4 == 0 and Number != 0 :
    print('입력한 숫자는 4의 배수입니다.')
else :
    print('입력한 숫자는 4의 배수가 아닙니다.')

 

sample_if3.py

Number = input('속도를 입력하세요 : ')

Number = int(Number)

if 80 < Number :
    print('고속 주행입니다')
elif 60 < Number :
    print('일반 주행입니다')
else :
    print('저속 주행입니다')

switch case 문은 없다

 

sample_if4.py

#점수 1개를 입력 받아 학점을 출력하시오
#90점 이상은 A
#80점 이상은 B
#70점 이상은 C
#60점 이상은 D
#나머지는 F

Score = input('점수를 입력하세요 : ')
Score = int(Score)

print('학점은', end = ' ')
if 90 <= Score :
    print('A 입니다')
elif 80 <= Score :
    print('B 입니다')
elif 70 <= Score :
    print('C 입니다')
elif 60 <= Score :
    print('D 입니다')
else :
    print('F 입니다')

 

sample_for1.py

for Number in range(0, 5) : #변수 선언을 여기에서 바로 함, range(시작, 끝) -> Number가 5보다 작을 때까지 증가한다 -> 기본으로 1씩 증가
    print(Number) #0 1 2 3 4
for Number in range(0, 50, 10) : #0~49 즉, 50보다 작을 때까지 도는데 10씩 증가함
    print(Number) #0 10 20 30 40
for Number in range(0, -5, -1) :
    print(Number) #0 -1 -2 -3 -4

 

p.96 책 두번째 예제

sample_for2.py

sum = 0
for i in range(1, 11, 1) : #초기값은 1, 증감값은 1, 조건값 11로 for문 선언
    sum += i    #i변수 값을 sum 변수에 더함
print("sum : %d" % sum) #1~10까지의 합을 출력 -> sum : 55
print("--------------")

#for문을 이용하여 1에서 10까지 식과 합을 구하시오.
sum = 0 #sum 변수를 0으로 초기화
for j in range(1, 11, 1) :
    if j < 10 : #j가 10보다 작은 조건으로 if문 선언
        print("%d + " % j, end = "")
    elif j == 10 : #j가 10인 조건으로 if문 선언
        print("%d = " % j, end = "")
    sum += j
print("%d" % sum) #1~10까지의 합을 출력  55



=========== 위가 수업 내용!! ===============
%없이 적어도 똑같이 나옴

#for문을 이용하여 1에서 10까지 합을 구하시오.
sum = 0
for i in range(1, 11, 1) :
    sum += i    #i변수 값을 sum 변수에 더함
print("sum : " + str(sum))
print("--------------")

#for문을 이용하여 1에서 10까지 식과 합을 구하시오.
sum = 0 #sum 변수를 0으로 초기화
for j in range(1, 11, 1) :
    if j < 10 : #j가 10보다 작은 조건으로 if문 선언
        print(str(j) + " + ", end = "")
    elif j == 10 : #j가 10인 조건으로 if문 선언
        print(str(j) + " = ", end = "")
    sum += j
print(sum) #1~10까지의 합을 출력  55

 

sample_list1.py

#변수 한꺼번에 선언 -> 변수를 한꺼번에 초기화하기 쉽다
a, b, c, d = 100, 200, 300, 400

print(a) #100
print(b) #200
print(c) #300
print(d) #400

a, b, c, d = 100, 200, 300 이렇게만 해주면 에러
-> 변수는 네개인데 선언은 3개만 해줬기 때문

 

sample_list2.py

#list
array = [100, 200, 300, 400]

print(array[0]) #100
print(array[1]) #200
print(array[2]) #300
print(array[3]) #400

print("=============================")

for i in array : #array에서 하나씩 빼서 넣어줌 -> 결과는 위와 동일
    print(i)

# 100
# 200
# 300
# 400

 

sample_list3.py

#가변 배열 -> 배열이 늘어남
array = []
array.append(101) #append : 추가
array.append(202) 
array.append(303) 
array.append(404) 

for i in array :
    print(i)

print("=============remove 후===============")

array.remove(202) #배열에서 202 제거
for i in array :
    print(i)

 

중단점 : break point -> 숫자 옆 클릭 시 빨간 점 생김
bug(버그) : 벌레/문제가 발생한 코드
Debug(디버그) : 문제를 제거하는 행위
Debugging(디버깅) : 디버그를 하고 있는 혹은 할 행위
Debugger(디버거) : 디버그(를 지원하는) 전용 프로그램

중단점 찍고 -> 왼쪽 네번째 벌레 모양 -> 실행 및 디버그 -> Python Files -> 디버그 모드 : 전체 실행 순서(과정) 알 수 있음
디버깅 작업 : 이런식으로 확인하는 작업
- 단계 정보(F11) 클릭 또는 [F11] 누르면
- 빨간 점 : 실행 됐다
- 노란 테두리 : 이걸 실행될 예정이다
-> 만약 5번 라인 앞에 중단점을 찍고 디버그 모드를 켜면 그 앞까지는 수행하고
중단점 찍은 자리부터 디버그 할 수 있도록 1~4라인 수행 후 5번에서 중단하고 기다림

이클립스
원하는 곳에서 Run > Toggle Breakpoint

----------------------------------------------------------------------------------------

영화 이미테이션 게임 보기

[윈도우] + [d] : 모든 창 최소화 -> 바탕화면 보임 -> 한 번 더 누르면
모든 화면 다시 띄워 줌
----------------------------------------------------------------------------------------
책 IoT 사물인터넷을 위한 라즈베리파이 4 정석
- 라즈베리파이 : 장치, 조그만 컴퓨터

 

Chapter3. 파이썬 기초 배우기부터 시작할 것 (p.82~)
----------------------------------------------------------------------------------------

 

2/18 15:00~ 라즈베리파이 시작 -> 장비 지급

---------------------------------------------------------------------------------
회사에서 필요한 프로그램 - 회사pc에 설치 전에 하나하나 다 물어보기 : 가정에서만 무료, 상업적 이용 유료
ex) 알집 등.....

public static void main(String args[])에서 args가 arguments


----------------------------------------------------------------------------------
집에서 할 것 : JAVA_HOME, path 이런것들 설정하고 javac 되는지, VSCode 다운로드 등

728x90
728x90