Day57

2021. 1. 4. 11:05교육과정/KOSMO

키워드 : 아나콘다 설치 / 파이썬 기초 문법 / 리눅스 설치

 

 

****

 

 

1. 아나콘다 + 파이참 설치

 

※ Python 플랫폼 : Anaconda 사용

    : phthon + 몇가지 library + editor (jupyter / spider) 가 포함되어 있다.

 

(1) https://www.anaconda.com 접속 

(2) 메뉴 - Products - Individual Edition - Download

(3) Python 3.8 로 64Bit Graphical Installer 다운로드

(4) 설치 파일 실행 - Add Anaconda3 to my PATH environment variable 체크 - Install

     (환경변수를 자동으로 만들어주는 옵션으로,

      기존에 파이썬 설치내역이 있을 경우에 충돌할 우려가 있어 빨간 글씨로 경고한다.

      최초 설치일 경우에는 그대로 진행해도 무방하다.)

(5) 설치 결과

(6) 실행시 가급적 "관리자 권한으로 실행"

 

 

※ Phthon IDE : PyCharm 사용

 

(1) https://www.jetbrains.com 접속

(2) 메뉴 - Developer Tools - PyCharm - Download - Community로 Download

(3) 설치 파일 실행 - 옵션에서 64-bit launcher 체크 (바탕화면에 아이콘 생성) - Install 

 

 


2. 파이참 실행하기

 

(1) 파이참 실행 후 새 프로젝트 생성

    : 프로젝트 위치 / 버전 설정

 

(2) 에디터 환경 설정

 

 


3. 파이썬의 특성

 

(1) (읽기) 쉬운 언어

     → 그러나 map, zip, reduce 읽기 어려움

(2) 인터프리터 언어

(3) 강력한 라이브러리 (개발사가 달라 호환성 문제 발생 가능)

(4) 범용적 언어 → R과 비교하여, R은 통계에 특화된 언어임

 

[파이썬의 약점]

(1) 하드웨어 제어와 같은 복잡하고 반복 연산이 많은 프로그램은 부적절

     (Jython, cPython 등 제공)

(2) GIL (Gloval Interpreter Lock) : 배타적 잠금 (쓰레드 관련)

 


4. 파이썬 코딩 규칙

 

(1) 파이썬 기본 규칙
     - 들여쓰기는 4 스페이스
     - 한 줄은 최대 80자 이내로
     - 불필요한 공백은 피함

(2)  PEP8 규칙 ( 가능하면 지키는 코딩 방식 )
     - = 연산자는 2칸 이상 띄우지 않는다
     a = 12 -> a=12
     - 변수명에 소문자 l(), 대문자 O(), 대문자 I (아이)는 금한다
     lIOO = 100 (엘아이오오)
     - 주석은 항상 갱신하고, 불필요한 주석을 지운다
     - 함수명은 소문자로 구성하고 필요하면 밑줄(_)로 나눈다

 


5. 파이썬 기본 실행

 

(0) 파이참 단축키

[실행] Run 메뉴를 클릭하거나 단축키로 shift + Ctrl + F10
[도움말] ctrl + q ★★★★★

 

 

(1) CMD를 사용하여 Python 실행할 수 있다. 

    → But, 보다 편리하게 사용하기 위해 PyCharm과 같은 Editor 사용

 

(2) 파이썬 for 문

 

(3) 파이썬 if 문

 

(4) 파이참의 콘솔에서도 파이썬 코드를 작성할 수 있다. 

 


6. 파이썬 주석

 

""" 여러줄 주석 """
''' 여러줄 주석 '''
# 한줄 주석
# 여러줄 주석 Ctrl + /

# 문자열 표시 (""" 사용시 줄 바꿈이 출력에 그대로 적용됨)
print("헬로우")
print('hello')
print("""안
녕""")
print('''올
라''')

 

(실행결과)

헬로우
hello
안
녕
올
라

 

 


7. 파이썬에서의 변수

 

    파이션의 모든 자료형은 객체로 취급한다
    a = 7
            7 객체을 가리키는 변수 a이다. ( 저장한다는 표현 안함 )
            변수 a는 7이라는 정수형 객체를 가리키는 레퍼런스이다.
            여기서 7은 기존 프로그램언어에 말하는 상수가 아닌 하나의 객체이다.
    
    [변수명 규칙]
    - 영문자 + 숫자 + _ 조합
    - 첫글자에 숫자는 안됨
    - 대소문자 구별
    - 길이 제한 없음
    - 예약어 사용 안됨   

 

(1) 예약어 확인

import keyword      #keyword 모듈을 로딩한다.
print(keyword.kwlist)
print(len(keyword.kwlist))

 

(실행결과)

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
35

 

 

(2) 각 변수의 객체가 같고, 주소가 같게 나옴을 확인할 수 있다. 

    ※ 파이썬은 0~256까지 미리 메모리에 상주시키고 시작하기 때문이다. 

a = 7
b = 7

 

print(a is 7)
print(b is 7)
print(a is b)

#실행결과
"""
True
True
True
"""

 

 

print(id(7))
print(id(a))
print(id(b))

# 실행결과
"""
140731600446032
140731600446032
140731600446032
"""

 

a = 777
b = 777
print(id(a))
print(id(b))
print(id(777))

# 실행결과
"""
1855092540240
1855092540240
1855092540240
"""

 

※ 단, 파이참 콘솔에서 작성하고 실행할 경우 조금 다른 결과가 출력된다. 

a = 7
b = 7
print(id(7))
print(id(a))
print(id(b))

# 실행결과
"""
140731600446032
140731600446032
140731600446032
"""

 

a = 777
b = 777
print(id(777))
print(id(a))
print(id(b))

# 실행결과
"""
1901380754544
1901380753584
1901380754192
"""

 

 

(3) 여러 개의 변수 선언

a, b, = 5, 10
print('a+b=', a+b)

# 실행결과
"""
a+b= 15
"""

 

 

(4) 두 변수의 값 swap

     : JAVA 에서는 temp 변수를 만들어서 교환했으나 파이썬에서는 바로 교환이 된다. 

a, b = b, a
print('a=', a, 'b=', b)

# 실행결과
"""
a= 5 b= 10
"""

 

 

(5) 변수 삭제 del

del print('a=', a, 'b=', b)

# 에러 발생으로 출력 불가

 

 


8. 파이썬에서의 숫자형 종류

 

    숫자형 종류
         - 정수형
         - 실수형
         - 복소수형 1 + 2j, 3i  ( 많이 사용안함 )
         - 8진수   0o25
         - 16진수  0x25
    # 파이션의 모든 자료형은 객체로 취급한다

 

""" [ 기초 연산자 ]
        + : 더하기
        - : 빼기
        * : 곱하기
        / : 나누기(실수값 결과)
        // : 나누기(정수값 결과)
        % : 나머지
        ** : 자승
    
    2. 관계연산자
        <   >   <=  >=  ==  !=
    
    3. 논리연산자
        not     or      and
        
    4. 이진(비트) 연산자
        ~   :  이진 not   
        |   :  이진 or
        &   :  이진 and
        ^   :  이진 xor
        <<  :  shift
        >>  :  shift
        
    5. 대입연산자
        =
        +=  -=  *=  /=  //= %=
        &=  |=  ^=
        >>= <<=
    
    6. 기타연산자 : 딕셔너리, 문자열, 리스트, 튜플 등의 자료형에서 사용
        is      : 비교하는 객체의 주소가 같으면 true, 다르면 false
        is not  : 비교하는 객체의 주소가 다르면 true, 같으면 false 
        in      : 요소에 포함되면 true, 없으면 false
        not in  : 요소에 포함되지 않으면 false, 없으면 true
      

    [참고] 증가(++), 감소(--) 연산자 없음         
"""

 

(1) 기본 연산자 사용해보기

a = 5
b = 2

print('a + b = ', a+b)
print('a - b = ', a-b)
print('a * b = ', a*b)
print('a / b = ', a/b)
print('a // b = ', a//b)
print('a % b = ', a%b)
print('a ** b = ', a**b)

# 실행결과
"""
a + b =  7
a - b =  3
a * b =  10
a / b =  2.5
a // b =  2
a % b =  1
a ** b =  25

Process finished with exit code 0
"""

 

(2) 문자열 + 숫자 연산은 에러가 발생한다. 

a = 5
b = 2

add = a + b
print("a + b = ", add)

# 실행결과
"""
a + b =  7
"""

 

a = 5
b = 2

add = a + b
print("a + b = " + add)

# 실행결과
"""
TypeError: can only concatenate str (not "int") to str

Process finished with exit code 1
"""

 

# 문자열 + 숫자 연산 에러 발생하나, 문자를 나타내는 객체 str 클래스를 사용하면 출력이 가능하다.

   따라서 변수명에는 str 사용

a = 5
b = 2

add = a + b
print("a + b = " + str(add))

# 실행결과
"""
a + b = 7
"""

 

 

(3) ++ 연산자는 존재하지 않는다. 

 

(4) 복소수 연산이 가능하다. 

print( 2j + 3j )

# 실행결과
"""
5j
"""

 

 

(5) 출력포맷

y = 8.3 / 2.7
x = 8.3 // 2.7

print('1. 실수 : {0}, 정수 : {1}'.format(y, x))
print('2. 실수 : {}, 정수 : {}'.format(y, x))
print('3. 실수 : {1}, 정수 : {0}'.format(y, x))
print('4. 실수 : {0:0.2f}, 정수 : {1}'.format(y, x))

# 실행결과
"""
1. 실수 : 3.074074074074074, 정수 : 3.0
2. 실수 : 3.074074074074074, 정수 : 3.0
3. 실수 : 3.0, 정수 : 3.074074074074074
4. 실수 : 3.07, 정수 : 3.0
"""

 

 

(6) 기타연산자

print('Hello' is "Hello")
print('Hello' is "hello")
print('Hello' is not "hello")

# 실행결과
"""
True
False
True
"""

 

print("H" in 'Hello')
print("H" not in 'Hello')

# 실행결과
"""
True
False
"""

 


9. 파이썬에서의 문자열

 

문자열을 "" 이나 '' 으로 표현

 

(1) 개행을 포함한 문자열

msg = """
    안녕하세요.
    저는 성이 파이이고,
    이름은 썬입니다.
    잘 부탁합니다.
"""
print(msg)

msg = '''
    행복합시다
    즐깁시다
    오늘도
'''
print(msg)

# 실행결과
"""
    안녕하세요.
    저는 성이 파이이고,
    이름은 썬입니다.
    잘 부탁합니다.


    행복합시다
    즐깁시다
    오늘도
"""    

 

 

(2) 문자열 연산

     ※ 문자열 합치기 : 문자열 + 문자열

     ※ 문자열 반복 : 문자열 * 숫자

a = '독도는 '
b = "한국이다. "
print('-'*50)
print(a + b)
print('ox'*25)
print((a + b)*3)
print('='*50)

# 실행결과
"""
--------------------------------------------------
독도는 한국이다. 
oxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxoxox
독도는 한국이다. 독도는 한국이다. 독도는 한국이다. 
==================================================
"""

 

 

(3) 문자열의 인덱싱과 슬라이싱(잘라서 추출)

#       - 인덱스는 0부터 시작한다
#       - s[i] : s 문자열에서 i번째 문자 추출
#       - s[i:j] : s 문자열에서 i번째에서 j-1까지의 문자 추출
#       - s[i:j:k] : s 문자열에서 i번째에서 j-1까지에서 k개씩 건너뛰어 문자 추출
#
#       - s[-i] : s 문자열에서 뒤에서부터 i번째 문자 추출
#                 ( 뒤에서 인덱스는 1부터 센다 ) ★

[ 참고 ] 
       ` msg[0] == msg[-0] 같은 값을 추출
       ` msg[:] 전체 추출
       ` msg[i:-j] i번째부터 뒤에서 j-1 까지 추출

 

msg ='오늘도 행복도 하다'

print(msg[0])
print(msg[0:2])
print(msg[1:6])
print(msg[0:5:2])
print(msg[-1])
print(msg[-0])
print(msg[5:-2])

# 실행결과
"""
오
오늘
늘도 행복
오도행
다
오
복도     #스페이스 포함
"""

 

[ 확인 ]
    1- 문자열 끝까지라면 두번째 숫자 생략 가능 ex) msg[2:]
    2- 처음부터 시작하는 것이라면 첫번째 숫자 생략 가능 ex) msg[:5]

 

msg ='오늘도 행복도 하다'

# 1) 5번째부터
print(msg[4:])
# 2) 5번째 전의 문자까지
print(msg[:5])
# 3) 5번째 전의 문자까지에서 2개씩 건너뛰어
print(msg[:5:2])
# 4) 문자열 전체에서 2개씩 건너뛰어
print(msg[::2])

# 실행결과
"""
행복도 하다
오늘도 행
오도행
오도행도하
"""

 

 

 


10. 리눅스 설치

 

※ OS (operating system) : 운영체제

 - windows : personal computer (PC) 용

 - linux, unix ... : server computer 용

 

※ 기존 PC에 linux를 설치하기 위해 가상 장치(VM)을 만들고,

    그 곳에 linux를 설치하면 기존 OS를 유지한채로 linux 사용이 가능하다. 

   - Virtual Box

   - VMWare

 

(1) http://vmware.com 접속

(2) 메뉴 - 다운로드 - 무료 제품 다운로드 - Workstation Player

     - Windows용 Workstation 16.0 Player 다운로드 - 기본 설정으로 설치

(3) VMWare 실행 - Create a new virtual machine

     - I will install the operating system later 선택 - Next

     - Linux 선택 / Version : CentOS 7 64-bit 선택 - Next

     - Store virtual disk as a single file 선택 - Next

     - Customize Hardware... 에서 Memory 변경 - Finish

 

(4) VMWare Workstation 실행 - Edit virtual machine settings 클릭

     - CD/DVD (IDE) 클릭 - Use ISO image file : 클릭

     - 다운 받은 CentOS iso 파일 찾아서 선택 - 설치

 

 

(1) https://centos.org 접속

(2) 메뉴 - Download - CentOS Linux 버전 7 (2009) 선택 - x86_64 클릭

     - 7.9.2009 다운로드 링크 접속 (navercorp ~ kakao 중 아무 곳이나 클릭)

     - CentOS-7-x86_64-DVD-2009.iso 다운로드

 

 


11. 리눅스 기초 명령어

 

 - 목록보기  ls
 - 현재 작업 디렉토리 위치  pwd
 - 작업 디렉토리 변경  cd
 - 파일 복사  cp
 - 파일 삭제  rm
 - 파일 이동  mv
 - 최종 시간 변경  touch
 - 디렉토리 생성  mkdir
 - 디렉토리 삭제  rmdir
 - 파일의 내용보기  cat / text
 - 파일이나 디렉토리 찾기  find
 - 홈 경로로 이동  ~
 - 사용자 변경  su

 

※ 리눅스에서 파일명이 . 으로 시작하면 숨김파일

※ 파일명이 -로 시작하면 파일, d로 시작하면 폴더

 

※ 이름에서 파일에 대한 옵션과 권한을 알 수 있다.

파일,폴더 여부  파일의 소유주 파일의 소유주와 같은 그룹 소유주와 다른 그룹
d
폴더
rwx
읽고, 쓰고, 실행 가능
r-x
읽고, 실행 가능
r-x
읽고, 실행 가능
-
파일
rw-
읽고, 쓰기만 가능
r--
읽기만 가능
r--
읽기만 가능

    

※ 절대경로 / 상대경로

   절대경로  상대경로
 /  ls /var  ls var
 /root  ls /var  ls ../var
 /home/centos  ls /var  ls ../../var

 

반응형

'교육과정 > KOSMO' 카테고리의 다른 글

Day59  (0) 2021.01.06
Day58  (0) 2021.01.05
Day56  (0) 2020.12.18
Day55  (0) 2020.12.17
Day54  (0) 2020.12.16