주요 정보
교육 과정명 : 클라우드기반 스마트융합보안 과정 16기
교육 회차 정보 : '23. 10. 24. 인프라 활용을 위한 파이썬 과정 #2
교육 정리
교육 정리
2일차 : 파이썬 데이터 구조 및 문자열 처리
오늘 배운 첨언(공지내용 포함)
- 코드리뷰를 할 때 바둑 훈수하듯 거리를 두고 확인
- 교육자료 PDF 올려줌
- 다시보기 강좌 2주간 제공 후 삭제 예정
파이썬 오류해결 관련
- Viusal Studio Code 스크립트 실행 오류 (실행 규칙 변경, 실행 정책은~) (다른 프로그램에서는 정상 실행 된다. 원인 - 가상환경마다 설정다름)
- window powershell 관리자 권한 실행
- Set-ExecutionPolicy RemoteSigned - A - ExecutionPolicy - RemoteSigned - 스크립트 실행 가능
참고 실습 파일
D:\python_study\pythonProject001
day2 폴더 - test.ipynb
파이썬 특징(장단점, 특징)
- ** 제곱 의미
- 흐름제어 함수 종류
1. if else
- if elif else
- while break continue
- for 변수 in 리스트 #리스트 반복 사용시
- 기본 함수
1. print()
- input() : 키보드 입력 후 엔터
- len() : 문자열 개수 출력
- str() : 정수 값을 문자열 값 형식 변환
- int(), float()
- 패키지 설치 명령어 : pip 패키지이름
파이썬 코어 모듈 내장. 그 외 모듈은 서드파티 모듈이라고 지칭(pip 사용, ananda 같은 프레임 워크를 통해 설치 가능)
- .jpynb 확장자 파일은 셸 단위 실행(다른 셸 실행한 곳에서 선언한 것은 사용 불가. 셸 단위 실행)
- .py 단위 확장자는 한번에 실행. .py 단위
- 파이썬에는 main 함수가 없다. 따라서 name 이라는 내장변수를 사용해
- 현재 스크립트 파일이 프로그램 시작점여부 판단
- 만약 시작점이 맞다면 아래 코드 실행 가능
if __name__ == "__main__":
case2()
exec_func()
파라미터 종류
기본 파라미터(위치기반) : 함수 호출시 기본 파라미터 위치 바로 전달
def test(a=10 b=20):
return a * b
키워드 파라미터 : 함수 호출시 인자의 값과 인자의 이름까지 지정해 전달
def test(server, port):
str = 'http:///' + server + ":" + port
return str
test('naver.com', '777')
가변 파라미터
- 튜플 가변 파라미터 (*args)
- 딕셔너리 가변 파라미터 (**args)
지역변수와 전역변수
- 지역변수 : 특정 함수나 블록 내 정의되고 사용되는 변수
- 전역 변수 : 프로그램 전체에서 접근 가능한 변수 (메모리 유지)
정규식표현
re(regular expression) 모듈은 파이썬 자동 설치 표준 라이브러리
import re
p = re.comile('ab*)
패턴이란? 정규식을 컴파일한 결과
● 함수 관련 추가
- call by object-reference 란? 인자로 받은 변수의 주소값을 전달
- 정수, 문자형(불변형)
- call by value : 변수 복사한 값을 전달
- 리스트, 딕셔너리(가변형)
- copy 명령어 : 모듈 추가
- copy() 리스트만 복사
- deepcopy() 내부 리스트 복사
● 모듈이란? .py 파일을 의미한다
- test.py를 다른 .py에서 import test 로 가져와 해당 모듈 내 정의한 함수 사용가능
● 패키지란? 모듈 파일이 모여있는 파일을 의미한다.
- tests 파일을 다른 .py에서 import form tests import test 로 가져와 해당 모듈 내 정의 함수 사용 가능
● 정규식 사용 용도? 사용자 입력 유효성 검증, 패턴 기반 감지 및 치환
- match : 처음부터 문자열 비교해 일치하는지 여부 검사
- search : 첫 번째 일치하는 패턴 찾기
- findall : 일치하는 모든 패턴 찾기
- sub : 패턴으로 치환
- split : 문자열 대신 패턴으로 문자열 리스트로 분리