프로그래밍/Python2025. 5. 28. 23:11
반응형

파이썬(Python)
- 탄생 : 네덜란드 출신 프로그래머 귀도 반 로섬이 1991년 발표
- 영국BBC 코미디 프로 Monty Python's Flying Circus에서 따온 것

특징
- 간결한 코드
- 스크립트언어
- 한줄씩 바로 실행됨
- 풍부한 표준 라이브러리
- 직관적인 문법

실행
- path 추가 시 cmd에서 바로 사용 가능. python 입력 후 엔터. 파이썬 셸이 실행됨. >>>커서에 명령어 입력
- 기본 설치 시 함께 설치되는 IDLE shell을 실행해도 됨. 프로그램 메뉴에서. GUI 라이브러리인 tkinter 이용하여 개발

세팅
- Configure IDLE 메뉴에서 Options Fonts/Tabs에서 폰트 consolas 선택. 대문자I와 소문자l 구분 가능
- Highlights에서 IDLE Dark 테마
- 인텔리센스intelliSense 기능 제공
- 객체명 다음에 마침표(.)와 탭 키를 차례로 누르면 사용 가능한 속성과 함수 표시
- 함수명 다음에 괄호( 와 탭 키를 누르면 함수 호출 팁call tip 표시
- 단어를 누르던 중 탭은 자동완성

문법
대소문자 구별
++연산자 사용 못함

1) 문자열
내장built-in 클래스 str로 처리
작은따옴표'나 큰따옴표"로 표시해도 결과 같음
이스케이프문자 : \백슬래시로 시작. \t : 탭, \n : 줄바꿈, \\ : \자체 표시, \' : 작은따옴표 표시, \" : 큰따옴표
문자를 그대로 표시하고 싶으면 raw string 기호인 r을 앞에 추가
ex) print(r'C:\Windows\System32\notepad.exe')
이스케이프 형식을 사용하지 않으려면 문자열에서 사용하지 않는 따옴표 3개로 감쌈
ex) print('''"It's not that..."''')

'''나 """는 주석으로도 사용
#은 한줄 주석

문자열 출력 포맷
%기호방식
{} 기호방식
f-strings 방식

인덱싱
문자열에 인덱스 숫자를 사용하면 특정 위치 문자를 다룰 수 있음
첫번째 시작은 0, 제일 마지막 문자열 지정은 -1
따라서 0, 1, 2 이런 식뿐만 아니라 -6, -5, -4, -3... 이런 식으로 -1까지 인덱스를 사용할 수도 있음
word = 'pyton'
print(word[0])
p 표시됨. =>print(word[-6])도 동일 결과

슬라이싱
word[0:6] 같이 범위 지정도 가능함
=> 왜 [0:5]가 아닐까? word[0]부터 몇개의 인덱스를 표시하느냐 하는 의미인 듯.
word[0:0]은 아무것도 출력 안함. word[0:1]은 p 1개만 출력.

word[0:] => 뒷자리 지정하지 않으면 끝까지 범위
word[:6] => 앞자리 미지정 시 처음부터
word[:-1] => 2번째 인덱스까지 표시됨. 왜? 위와 마찬가지로 끝 문자에서 -1개하고 출력이라 1문자 출력안됨
word[:] => 전체 출력
word[:0] => 아무것도 출력 안함




2) 산술연산
+-*/ 지원.
나눗셈 몫 연산자 //
나눗셈 나머지 %

연산자 우선순위
() 그루핑
f() 함수호출
x[index:index] 슬라이싱
x[index] 인덱싱
x.속성 속성참조
** 거듭제곱
~x 비트연산 NOT(논리연산 NOT이 아님)
+x, -x 양음수 표현
*/% 곱셈, 나눗셈, 나머지
+- 덧셈, 나눗셈
<< >> 비트이동
& 비트연산 AND
^ 비트연산 XOR
| 비트연산 OR
in, not in, is, is not, <, > 등 비교 연산
not x 논리연산 NOT
and 논리연산 AND
or 논리연산 OR
lamda 람다표현식



흐름제어
if 조건문
if rsi > 70 :
    print(
elif rsi <30 :
    print(
else :

for 반복문
for i in [1, 3, 5]
    print(i)

while 반복문
i=1
while i < 7 :
    print(i)
    i += 2

if 상황 :
    continue
if 상황 :
    break
else : 
    print()
위와 같이 처리도 가능


try:
    오류처리할 상황을 작성
except Exception as e :
    print('오류발생 : ', str(e))
이런 식으로 예외 처리



<자료구조>
반복 자료형
1) 리스트
대괄호 사이에 각 원소들을 쉼표로 구분. 다양한 자료형을 한번에 넣을 수도 있음
ls = ['one', 4, 5, [1,2,3])
ls[3][1] => 위에서 1. 즉 4번째 리스트의 1번째 값을 이렇게 지정할 수도 있음
+연산자로 리스트 뒤에 다른 리스트 추가 가능
리스트 * 숫자. 이렇게 리스트를 반복해서 표시 가능

리스트 대신 range() 함수 사용 가능
range(시작값, 멈춤값, 증가값)
증가값 생략하면 1씩 증가
enumerate() 함수 반복과정에서 인덱스 구할 수 있음
enumerate(반복자료형, 인덱스시작값)
인덱스시작값 생략 시 인덱스0부터 시작

split()함수
인수로 주어진 문자로 문자열을 구분. 인수 없으면 공백을 기준으로 문자열 분리
'They are coming'.split() => 공백을 기준으로 리스트 'They' 'are' 'coming' 문자열 만듦

join()
인수로 주어준 문자를 구분자로 넣어서 문자열을 합침
' '.join(리스트) => 리스트 문자열을 공백을 넣어서 하나의 문자열로 만듦

2) 튜플
리스트처럼 다양한 자료형의 원소를 가지나 변경불가. 대괄호가 아닌 괄호()로 표시

3) 딕셔너리
{키:값}
키와 값을 하나의 원소로 가짐
crispr = {'EDIT' : 'Editas Medicine', 'NTLA' : 'Intellia Therapeutics'} 같은 식

4) 셋(set)
중복이 없는 원소의 집합
중괄호 사이에 원소들을 쉼표로 구분
생성한 순서대로 원소가 저장되지 않고 자동 정렬되고 중복 제거됨. 따라서 인덱싱이 불가능함
대신 교집합, 합집합, 차집합을 구할 수 있음
&, |, -를 사용
셋은 다른 반복자료형처럼 리터럴로 원소가 없는 상태 생성 불가. s=set()으로 생성해야 함. s={} 딕셔너리가 됨







파이썬에서 클래스에 속하지 않으면 함수
클래스에 속하면 메소드라고 부름

람다
이름 없는 간단한 함수를 만들 때 사용
def lambda(인수) : 
    return 표현식


모듈
보통 컴파일이 완료된 바이너리를 의미하나 파이썬에서는 .py확장자를 갖는 파일을 지칭
여러 모듈을 특정 디렉토리에 모아놓은 것을 패키지라 부름

반응형
Posted by 희콘
프로그래밍/Python2025. 3. 24. 23:24
반응형

주피터 노트북(Jupyter Notebook) : 프로그램 코드를 브라우저에서 실행시켜주는 대화식 환경

셀 실행 : shift+enter

도구모음에서 Code 부분 드롭다운 메뉴 열어보면 markdown 있음
#붙여서 코드가 아닌 제목 등을 붙일 수 있음.
# 1개가 H1, H2 태그처럼 붙일 수록 글씨가 작아짐
앞에 -를 붙이면 불릿모양(●) 같은 것이 앞에 붙음
<a href ="">를 이용해서 그림도 삽입할 수 있음. 경로는 이미지가 있는 소스경로 넣어주면 됨

Code에서 #은 주석임

왼쪽의 색상 띠를 클릭하면 내용을 접거나 펼쳐볼 수 있음

위에 +모양 아이콘은 위에 셀 추가, 아래+아이콘은 아래 셀 추가

반응형
Posted by 희콘
프로그래밍/Python2024. 3. 17. 15:44
반응형

파인썬에서는 PIP라는 인스톨 프로그램을 이용하여 패키지 등 다른 프로그램들을 설치한다.
PIP는 PIP Installs Packages라는 순환적인(=재귀적인) 형태의 약자(Recursive acronym)이다.
사용법은 pip install 패키지명 형태로 실행한다.
주피터를 설치할 때는 아래와 같이 실행하면 된다.
> pip install jupyter

인터넷이 연결되어 있다면 아래처럼 파일들을 다운로드하고 설치한다.

설치가 완료되면 마지막에 pip 패키지의 공지사항이 있다면 알려주기도 한다. 아래는 pip 프로그램의 업그레이드 버전이 있어서 알려주고 어떻게 업그레이드하는지도 안내해준다. python.exe -m pip install --upgrade pip 명령으로 pip 업그레이드

주피터랩의 실행은 jupyter-lab이라고 입력하고 엔터치면 됨.

사이킷런 및 넘파이, 판다스 등 다른 프로그램도 유사하게 설치하면 된다.

pip install matplotlib==3.1.2
위와같이 버전을 지정해서 설치도 가능

pip install bs4
BeautifulSoup은 위와 같이 축약된 명령으로도 설치가능

 

<PIP 몇가지 명령어>
pip uninstall matplotlib
삭제 명령

pip list
설치된 패키지 목록과 버전 확인

freeze는 pip로 내가 설치한 패키지 목록만 보여줌 pip freeze
pip freeze > requirements.txt 와 같은 식으로 텍스트 파일(여기선 requirements.txt)을 만들어서 출력결과를 내보낼 수 있음
나중에 pip install -r requirements.txt로 동일환경 구성 가능

 

<기타사항>
인증서 오류로 접속 안될 경우는 —trusted-host files.pythonhosted.org로 뒤에 추가하면 해결되기도 함

 

<기타 패키지 설치 명령어>
시각화도구 맷플롯립 : pip install matplotlib
야후 파이낸스 : pip install yfinance
파이썬에서 마리아DB 사용하기 위한 파이마이에스큐엘 : pip install pymysql


반응형
Posted by 희콘