상세 컨텐츠

본문 제목

[Python 파이썬 독학 9-2일차]

파이썬 스터디/파이썬-Python 기본편

by 후즈테크 2020. 10. 12. 00:29

본문

반응형

 

4. pip install

 - pip 로 package 설치

 - 누군가가 작성한 package 를 설치하고 사용하는 방법

 - 파이썬은 오픈 소스로 필요에 의해 매번 개발이 아닌 다른 사람이 개발해 놓은 패키지 등을 이용하여 효율적인 개발이 가능하다.

 

 - 4-1. pypi 검색 후, browse projects 클릭

 

 

  -  Topic 등 원하는 구분별 패키지 검색 가능.

 

 

 

 - 4-2. 해당 브라우져 에서 직접 검색

 

 - beautifulsoup 검색 후, 해당 링크 클릭

 - 링크 상단, clipboard copy 및 실제 코딩 확인 가능

 

반응형

 

 

 - Visual Studio 내 pip 설치

 - pip install 패키지명

 - 진행 과정

 - 예제 코딩 복사 후, 실행 확인

 

 - 4.3 uprade 및 uninstall

   * 해당 작업 전.....pip upgrade를 진행하라는 메세지를 진행하다...error가 생김...요거는 마지막에 다시 기재.

  - 설치 전 설치되어 있는 pip 목록 확인(pip list) 실행이 안될 경우, 제일 아래로...

 

 - pip list 정상 실행 시 package 명 과 version 정보를 확인 할 수 있음.

 - pip show package명 으로 세부 정보를 확인 가능

    

 - package upgrade 

 

 - package uninstall

 - pip uninstall 패키지명 입력 후, y 로 진행할 경우 패키지 삭제가 완료됨.

 

 

 

 

- 추가. pip err(Warring, --upgrade, No module named 'pip' , pip upgrade, get-pip.py)

 

1. beautifulsoup4 정상 설치 후, pip 20.1.1 -> 20.2.3 으로 upgrade 를 권장하는 경고문이 발생하였다.

2. 설치된 pip list 를 확인하려 pip list 를 입력하였으나, _main__.py 관련 메세지가 발생하며 결과 검색이 되지 않아 pip upgrade를 진행해 보기로 함.

 

3. pip install --upgrade pip 를 실행 후....에도 pip 가 동작 하지 않고, No module named 'pip' 에러와 함께 pip가 갑자기 동작이 안되어 구글링 시작....

 

4. 어디선가 .... < curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py > 를 진행하라는 내용을 찾았으나, curl 실행 방법을 몰라 헤메기 시작....

 

5. 다른 방법 찾기 시작... get-pip.py 파일 직접 다운로드 받아 Vusaul Studio 에서 실행한 후, 정상.

get-pip.py.txt
1.82MB
get-pip.py
1.82MB

6. get-pip.py 실행 ... 뭔가 진행 되는 듯하여 기대 중...ㅋㅋ

 

7. pip list 실행 시, 동작 확인

 

 

5. 내장 함수

 : import 없이 바로 사용할 수 있는 함수

 : ex., input 등

language = input("무슨 언어를 좋아하세요?")
print("{0}은 아주 좋은 언어입니다.!" .format(language))

''' 결과 값 :
무슨 언어를 좋아하세요?파이썬
파이썬은 아주 좋은 언어입니다.!
'''

 

 - dir :어떤 객체를 넘겨줬을 때 그 객체가 어떤 변수와 함수를 가지고 있는지 표시

 - 외장 함수 random, pickle 을 import 한 후, 조회 해볼 경우, 추가되는 것을 확인 할 수 있음.

print(dir())
import random
print(dir())
import pickle
print(dir())

''' 결과 값 :
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'random']
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'pickle', 'random']
'''

 

 - 사용 가능 함수도 확인 가능 ( 함수 사용 시 '.' 이후 나타나는 함수 항목과 유사

import random
print(dir(random))
''' 결과 값 :
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST',
'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__', 
'__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', 
'__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp', 
'_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt', 
'_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices', 
'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate', 
'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed', 
'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
'''

 

 - 리스트 형태에도 사용가능

lst = [1,2,3]
print(dir(lst))
''' 결과 값 :
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', 
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', 
'__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', 
'__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', 
'__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', 
'__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__',
'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 
'reverse', 'sort']

 

 - 문자형도 사용 가능

name ='Jim'
print(dir(name))
''' 결과 값 :
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', 
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', 
'__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__',
'__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', 
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 
'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find',
'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal',
'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 
'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 
'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper',
'zfill']
'''

 

 - list of python builtins

 

6. 외장 함수

 : 내장 함수와 달리 import 를 통해 사용 가능한 함수

 : list of python modules 검색 후, 외장 함수 목록의 세부 내용 확인 가능

 

 

 

 - 6.1 glob : 경로 내의 폴더 / 파일 목록 조회 (윈도우 dir)

import glob
print(glob.glob("*.py")) # 확장자가 py 인 모든 파일
# 결과 값 : ['byme.py', 'get-pip.py', 'practice.py', 'theater_module.py']

 - 6.2 os : 운영체제에서 제공하는 기본 기능

import os
print(os.getcwd()) # 현재 디렉토리

folder = "sample_dir"

# 결과 값 : D:\python\workspace

 - if 문을 통해 폴더 생성 및 삭제 등도 가능함

import os
print(os.getcwd()) # 현재 디렉토리

folder = "sample_dir"

if os.path.exists(folder):
    print("이미 존재하는 폴더입니다.") 
    os.rmdir(folder) # 폴더 삭제
    print(folder, "폴더를 삭제하였습니다.")
else:
    os.makedirs(folder) # 폴더 생성
    print(folder, "폴더를 생성하였습니다.")
    
''' 해당 경로에 sample_dir 폴더가 없을 경우, 
else 문을 타며 폴더 생성
sample_dir 폴더가 있을 경우,
folder 삭제
'''

 - listdir 을 통해 해당 경로내 파일 확인 가능

import os
print(os.listdir())
# 결과 값 : ['.vscode', 'byme.py', 'get-pip.py', 'practice.py', 'profile.pickle', 'score.txt', 'study.txt', 'theater_module.py', 'travel_temp', '__pycache__']

 

 - 6.3 time : 시간 관련 함수 제공

import time

print(time.localtime())

# 결과 값 : time.struct_time(tm_year=2020, tm_mon=10, tm_mday=12, tm_hour=0, tm_min=11, tm_sec=18, tm_wday=0, tm_yday=286, tm_isdst=0)

print(time.strftime("%Y-%m-%d %H:%M:%S")) # 대소문자 유의

# 결과 값 : 2020-10-12 00:11:18

 

 - 6.4 datetime : 날짜 관련 함수 제공

import datetime

print("오늘 날짜는 ",datetime.date.today())
# 결과 값 : 오늘 날짜는  2020-10-12

#timedelta : 두 날짜 사이의 간격

today = datetime.date.today()
td = datetime.timedelta(days=100)
print("우리가 만난지 100일은" , today + td)
#결과 값 : 우리가 만난지 100일은 2021-01-20

 

 

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

Quiz 10. 프로젝트 내에 나만의 시그니처를 남기는 모듈을 만드시오.

 

조건 : 모듈 파일명은 byme.py 로 작성

 

(모듈 사용 예제)

import byme

byme.sign()

 

(출력 예제)

이 프로그램은 나도코딩에 의해 만들어졌습니다.

유튜브 : http://youtube.com

이메일 : nadocoding@gmail.com

 

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

 

Ans 1. 내가 작성한 코딩

 1. byme.py 모듈 내 sign 함수 생성


def sign():
    print("이 프로그램은 후즈테크에 의해 만들어졌습니다.\n \
        유튜브 : http://whosetech.com \n \
        이메일 : whosetech@gmail.com")


 2. 함수 호출

import byme
byme.sign()


''' 결과 값 :
이 프로그램은 후즈테크에 의해 만들어졌습니다.
         유튜브 : http://whosetech.com
         이메일 : whosetech@gmail.com
         
'''

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

Ans 2. 나도 코딩님 답안

 - print 문을 탈출문자 사용하지 않고 3개로 만드는 것 외에 동일

 

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

FeedBack

 : Quiz 에 대한 난이도가 높지 않아 해당 Quiz 에 대한 피드백은 없음....

 

 9월 13일 부터 시작한 기본편은 오늘로 졸업....

 간략한 후기 작성 및 활용편으로 넘어가야 겠다 ㅋㅋㅋ

 

 

반응형

관련글 더보기

댓글 영역