주피터 노트북 실행하는 다른 방법
Anaconda prompt 에서 jupyter notebook 입력
여기서 기본 명령어(mkdir, cd 등) 사용 可
주피터 노트북 버전확인
import sys
print(sys.version)
현재 경로 확인
!dir
kernal: 핵심 프로그램과 연결할수있냐 없냐 개념 (시스템 중심, 출력여부 결정)
# : 주석 달
shift enter: code run
; 해당 줄 명령어 종료 및 새 명령어 입력 可
print(" ") : " " 안 텍스트 내용 출력 (" "과 ' ' 차이없고 둘 다 사용 可)
print 안에 ,로 두개 -> 두 개 나란히 출력 with one space (+는 공백 無)
\n -> 줄바꿈 (문자열에서만 가능)
\t -> tap (간격 tap만큼 띄우기)
print("first", end=" ");print("second") -> end=" "로 두 명령어를 한 줄에 출력 -> first second
A = esc + a : add code space above
B = esc + b : add code space below
D (두번 클릭) = esc + x : delete the current code
ctrl + ent: run the current code only
art + ent: run and create another code space below
==========================================================
사칙연산: 기본 계산기와 같이 수식만 입력 후 출력 ( '=' 입력 필요 없음)
괄호는 소괄호 ()만 여러개 사용
단, 거듭제곱 표현 '^' = ** ex) 2 ** 5: 2^5
13 // 5: 몫 출력
13 % 5: 나머지 출력
type(): () 안의 내용물에 대한 성질(type)을 표현
ex) type(3) -> int : integer 의미
type(1.2) -> float : 실수
type('r') -> str : string (문자열) 반드시 ''안에 표현해야 오류 안생김
type(True) -> bool : 논리 연산결과 (True, False만 可)
성질 변형 방법
int() : 정수로 변환 str(): 문자로 변환 float(): float(실수)로 변환 ...
ex) 문자 -> 정수 변환이라
num_str = "720"
num_str = int(num_str)
type(num_str) -> int로 출력
진수변환 표현
bin() 2진수
oct() 8진수
hex() 16진수
비교연산자
== 두 값이 같은지 판별
!= 두 값이 다른지 판별
논리 연산자(bool형식), bool()
and: 둘 다 참이여야 참. 나머지는 거짓
or : 둘 다 거짓이여야 거짓. 하나라도 참이면 참
not A: A가 참이면 거짓이고 거짓이면 참
==========================================================
변수 지정 (단 기존 코드 언어는 생 변수로 사용 불가, 숫자로 시작하는 변수 불가)
공백 포함 변수 설정 불가 -> '_' 사용해 공백 표현(snake case) 또는 매 단어 첫 글자 대문자로 표현(Pascal case)
Del 변수 <- 지정한 변수 삭제
ex) a = 12340 s = " text "
문자 지정된 변수 s는 ' ' 필요없이 바로 사용 가능.
문자 안 따옴표: 양쪽 ' ' 후 필요 따옴표 ' ' or " " 입력
양쪽 삼중 따옴표 ' ' ' or " " " : 문자 안 따옴표와 여러 문자열 동시 입력시 사용.
문자 사칙연산
+ : 문장 그대로 이어짐
* : 곱해진 값 만큼 문자 반복 입력
=============================================================
자료구조 형태 비교
1. list = [1,2,3,4] <- 빈번 사용
2. tuple = (1,2,3,4) <- 드물게 사용
3. set = {1,2,3,4} <- 거의 안 씀
4, dictionary = { 10 : " English", 20 : "Math" } <- 빈번 사용
list: [ ] 이용해서 생성 (type = list)
index? : 변수[0] : list 1번째 값 출력 변수[-1]: list 마지막 값 출력.
list 값 변경: 변수 할당 ex) 변수[1] = 값 -> 변수 -> [ ? , 값, ?, . . . ]
문자인 경우 '값' 으로 입력
list 길이 재기: len(list)
list 연산
+ : 두 리스트 그대로 합침
* : 해당 리스트 숫자만큼 반복함 (결과는 변수 지정해서 출력)
일부 범위만 리스트 출력 (슬라이싱 리스트 슬라이스 -> 리스트변수[숫자:숫자] 개념
ex) list_data = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list_data[숫자] = X -> 해당 순서의 원소를 X로 변경
list_data[0:3] = list_data[:3] <- 첫번째부터 4번째 미만 [0, 1, 2]
list_data[4:8] <- 5번 째부터 8번째 미만 [4, 5, 6, 7]
list_data[7:] <- 7번 쨰부터 끝까지.
list_data[::2] <- 0번 째부터 2칸씩 띄워 나오는 숫자만 출력
list_data[::-1] <- 역순으로 출력
리스트 안의 리스트 찾기 list_data[기존 순서][리스트안안의 순서]
일부 리스트 항목 삭제
ex) del list_data[6] <- 7번째 값 '6' 삭제.
del list_data[6:] <- 7번째 값 '6'부터 뒤에 전부 다 삭제. (위에 방식 응용 可)
리스트 항목 존재여부 판단
print(5 in list_data) -> Ture 출력
print(6 in list_data) -> False 출력 (만약 위 del을 실행하고나서의 경우)
리스트 항목 단순 추가: append()
Ex) list_data.append('Thomas') -> 숫자 뒤에 문자열 'Thomas' 추가
리스트 항목 특정 추가: insert()
Ex) list_data.instert(1, 'Paul' ) -> 2번 째 자리에 'Paul' 추가.
다른 리스트를 이어서 연장: extend()
Ex) list_data.extend(['A', 'B']) -> 뒤에 그대로 'A,' 'B' 한번에 연장 추가
리스트 특정 항목 제거: remove()
Ex) list_data.remove('Thomas') -> 'Thomas'만 제거
리스트 뒷부분 단순 제거: pop()
Ex) list_data.pop() -> 맨 뒤에 것만 단순 제거
리스트 위치 찾기 index()
Ex) list_data.index('Paul') -> 'Paul'의 위치인 2번 째, '1'로 출력.
리스트 항목 셈 count()
Ex) list_data.count('A') -> 1로 출력 (A의 개수)
만약 리스트 안의 또다른 리스트 ['A']가 있었어도 밖의 'A' 하나, 1로 출력.
리스트 자동 정렬 sort()
기본값 = 오름차순 = list_data.sort() = list_data.sort(reverse=False)
내림차순 설정 = list_data.sort(reverse=True)
리스트 역순 정렬 reverse()
list_data.reverse() -> 해당 명령어 입력시, 원본 list_data 역순으로 변형
리스트 조인 join() -> 리스트 각 괄호와 콤마를 지우고 출력
ex) print(" ", join(리스트변수) ) -> 구분은 " " 공백으로 하고 기호없이 다 나열해라
"\n" 한칸씩 "\n\n" 두칸씩 엔터쳐서 구분
리스트 split: 스트링을 리스트형태로 기준을 갖고 잘라 만들어주는 함수
ex) string = "A/B/C"
string.split("/") -> '/' 기준으로 잘라 만들어줘 -> ['A', 'B', 'C']
리스트화하기: list(해당 집군)
==================================================================
(!) 튜플은 리스트와 유사하지만 한번 생성(입력)시, 그 이후 변경 불가
소괄호 없이도 생성 可 ex) tup = 1, 2, 3, 4 -> (1, 2, 3, 4)
빈 튜플만 만들기 : 변수 = () <- list, set, dict와 동일
한개만 튜플 생성 -> ex) tup = 숫자, <- 이래야 tuple 可
튜플 type = tuple
tuple[숫자] 로 index, 기존 list의 index(), count() 可
튜플화 하기: tuple(해당 집군)
한 번에 변수 지정(=tuple unpacking) a , b, c = 3개집군 -> print시 그대로 (단, 반드시 서로 개수 맞아야 함)
list, set, dict 모두 됨
range 함수
data = tuple(range(1,100))
data
-> 1부터 100미만까지(99까지) 쭉 tuple로 나옴
range(1,100,2) <- 2칸씩 띄워 1부터 출력 (홀수만 나옴.)
range(0,100,2) <- 2칸씩 띄워 0부터 출력 (짝수만 나옴.)
'Programming > Python' 카테고리의 다른 글
[python] 문자열 편집, 절대경로 상대경로, 데이터 읽고 처리 (1) | 2023.08.21 |
---|---|
[Python] 모듈, package, random (0) | 2023.08.18 |
[Python] class 개념 재정리 (pre course) (0) | 2023.08.17 |
[Python] format(), readline(), with as, function, class (0) | 2023.08.17 |
[Python] set, dict, If, for, while (0) | 2023.08.16 |