20210104_Python 입문2, 가상환경 설정, pip, 데이터 형태, 문자,숫자 함수 등
Python 입문 02
Print 에서 % ,format사용
어제 % 사용 이어서 알아볼 예정
1. % 와 자리수
print("Q: %6d, P: %4.3f" %(324, 6843.2356))
이 처럼 %d, %f 에 숫자가 들어가는 경우 숫자는 자리수를 이야기함
- %6d : 6자리 정수
- %4.3f : 4자리 그리고 소수3자리까지의 실수
2. 숫자 키값 사용
print("Q: {0: 6d}, P: {1: 4.3f}").format(324, 6843.2356))
이렇게 키값을 사용하여 자리수 지정 출력도 가능. 주의!({0: 6d}에서 :를 붙여써야함. 즉 키지정은 붙여 쓰자 )
3. 문자 키값 사용
print("Q: {a: 6d}, p: {b: 4.3f}".format(a=324, b=6843.2356))
문자 키값도 가능함 주의 할점은 뒤에 문자와 =으로 연결해줘야 함
4. escape 코드\n
: 개행 (enter 효과)\t
: 탭\ 문자
: 해당 문자 그대로 표현\r
: 캐리지 리턴\f
: 폼 피드\a
: 벨 소리\b
: 백 스페이스\000
: 널 문자
Python 가상환경 설정
같은 운영체제에 다양한 버전의 python 사용시 충돌 발생해서 다 밀어버리는 경우도 생김 (여러 프로젝트 때문에)
1. cmd -> cd \ 해서 c드라이브로 들어감
2. python -m venv python_basic(만들고 싶은 파이썬 폴더) 로 커맨드 입력 (환경 폴더 생성됨)
3. 파이썬 폴더에 include, lib, scripts 파일 생성된거 확인
4. cmd 로 Scripts 폴더 들어가서 activate.bat 로 가상환경 실행 , deactivate.bat로 가상환경 나오기
윈도우 그냥 activate , deactivate 커맨드로 가능
나중에 잘못 되면 include, lib, Scripts 만 지우거나 소스코드만 백업해 놓고 프로젝트 폴더만 날려버리면 됨
5. 가상환경에서 설치할 패키지
- simplejson (이미 만들어진 것을 가지고 빠르게 개발하는게 더 좋다.) cmd 가상환경에서 'pip search simplejson'
근데 난 에러 났다. 'pip list' 확인하고 pip upgrade 했는데도 search에러 나서 그냥 pip install simplejson 했는데 install 됨. 제거는pip uninstall simplejson
[알아보니 search 문제 생겨서 막아놨다고 한다.] - simplejson update 는 pip install --upgrade simplejson (난 현재3.17.2 )
- pip show simplejson 해도 에러가 뜬다.
- 정리] pip command : install, search, uninstall, show, upgrade
- 가상환경 내에서 cmd로 code 실행시 VS Code 실행 됨
- import simplejson as json에서 오류가 났다. 실행은 되지만 import가 되지 않는것 같아 찾아보니 view - command palette - select interpreter 가 예전의 환경으로 되어 있었다.
- *참고한 블로그 <-클릭**
Python 자료형
1. 데이터 타입, 숫자형 및 연산자
-
데이터 타입
print(type(변수)) 로 타입 확인가능- Boolean : bool -> True , False (1, 0)
- Numbers : 숫자 (int: 정수, float : 실수)
- 주의) 5. -> float이고, int + float -> float
- 여기서 int, float, complex(복소수)를 씌우면 형 변환됨, boolean도 int 씌우면 숫자 1, 0 으로 변함
- String : str->문자열(시퀀스)
- Bytes :
- Lists : list(시퀀스)
- Tuples : tuple(시퀀스)
- sets : set 집합
- dicitonaries : dict 사전
-
숫자형 연산자
+
: 더하기-
: 빼기*
: 곱하기/
: 나누기 (몫 소수점 까지 모두)//
: 나누기(몫 정수 까지)%
: 나누기 (나머지)**
: 제곱(지수)단항 연산자
: += , *=-
y = 100 y += 100 # y에 100만큼 더해라 y *= 100 # y에 100만큼 곱해라
-
-
수치 연산 함수
abs(x)
: 절대값int(x)
: int로 변환float(x)
: float으로 변환divmod(x, y)
: x/y(몫) , x%y(나머지)pow(x, y)
: x의 y승complex(re, im)
: 실수(re) , 허수(im) -> 복소수
-
수학관련 패키지 math 사용
- 제일 먼저, import math로 패키지 불러오기
math.ceil(x)
: X이상의 가장 작은 정수 반환math.floor(x)
: X이하의 가장 큰 정수 반환math.pi
: 원주율 , 파이
-
2진수 변환 :
bin(X)
0b로 시작함
2. 문자형 및 데이터 타입
-
문자형 연산자
-
문자열 생성 (문자 변수 선언)
str1 = "Hello world" str2 = str("Hello world!")
-
문자열 길이 구하기 (len 함수 사용, 공백, 마침표 포함 계산)
print(len(str1)) print(len(str2))
- 이스케이프 문자 (
\
백슬래시 사용해서 문자 그대로 표현 or 줄바꿈, tab 등)
escape_str1 = "I know \"This word\""
-
Raw String (보통 경로 표현시에 사용)
raw_s1 = r'C:\Programs\games\Overwatch'
-
멀티라인 (
\
쓰면 여러 코드 행을 연결)multi = \ """ 멀 티 라 인 """
-
문자열 연산
(같은 문자끼리 *, + 가능 문자와 숫자 *는 가능한데, +는 불가) -
문자열
in
,not in
사용print('k' in str1) # str1에 k가 포함되어 있는가? -> 논리로 결과냄 print('k' not in str1) # str1에 k가 포함되어 있지 않은가? -> 논리로 결과냄
-
문자열 형 변환
print(str(45)) # 77을 type 확인해보면 str임 print(str(47)+'a') # 문자 숫자 합 에러 없음 어차피 str 처리되서
-
문자열 함수
a = 'boy' b = 'Girls' print(a.isupper()) # . 앞의 변수(a)가 isupper 하니? print(b.endswith('s')) # . 앞의 변수(b)가 's'로 끝나니? print(a.capitalize()) # . 앞의 변수를 대문자로 바꾼다. print(a.replace('bo', 'Gu')) # . 앞의 변수에서 bo를 Gu로 대체한다. print(list(reversed(a))) # boy를 거꾸로 리스트로 반환
-
문자열 슬라이싱 (이해 필수!)
슬라이싱 번호 이해
X | o | X | r | X | a | X | n | X | g | X | e | X |
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | o | 1 | r | 2 | a | 3 | n | 4 | g | 5 | e | 6 |
-6 | o | -5 | r | -4 | a | -3 | n | -2 | g | -1 | e | 0 |
NRC
하루평 : 저번에 배운것 같아도 진도가 느리게 가는것 같다.... 더 열심히 오전 시간도 활용해 보자
'Python' 카테고리의 다른 글
20210108_ Python 입문6, 클래스(class), 클래스의 상속, 모듈(module)과 패키지(pakage) (0) | 2021.01.09 |
---|---|
20210107_ Python 입문5, 함수,*args,**kwargs, parameter hint, lambda (0) | 2021.01.07 |
20210106_Python 입문4, 흐름제어 조건문, 반복문, List comprehension(리스트 컴프리핸션) (0) | 2021.01.07 |
20210105_Python 입문3, 자료구조, list, tuple, dict, set (0) | 2021.01.06 |
20210103_Python 입문, VScode 단축키 (0) | 2021.01.04 |