1. 함수
- 함수란 특정 목적을 가진 코드의 집합
- 독립적으로 호출될 수 있는 것을 의미함
- 함수 선언 방법
코드들
return 결과값
- 함수 선언의 예
- 기본형태
15
안녕하세요~만나서 반갑습니다.
- 함수 호출 시 인자의 전달 순서 및 전달 인자 지정방법으로, 파이썬 같은 경우는 사용되는 이름을 지정해서 전달이 가능하다
만나서 반갑습니다.안녕하세요~
안녕하세요~만나서 반갑습니다.
- 함수 선언 시 인자의 기본값 설정
50
300
- 함수 선언 시 인자의 기본값 설정할 때, 기본값이 설정된 인자는 뒤쪽에 위치해야 한다.
- 함수의 결과값 다중 반환 ( 다중 리턴 )
- 처음부터 여러개의 값을 리턴해줄 수 있는데, 이름 한개만 하면 튜플형태, 이름 여러개면 제각각의 자리에 들어감
# 한개로 묶으면 튜플 형태
(3, 2, 1)
<class 'tuple'>
1
# 이름 여러개
3
2
1
<class 'int'>
2. 모듈
- 모듈, 패키지, 라이브러리 등 다양한 표현을 사용
- 모듈 : 특정 기능을 한개의 파일 안에 넣어 구현해 놓은것
- 패키지 : 이렇게 만들어진 파일들을 탐색기처럼 특정 폴더 구조를 만들어 폴더 구조속에 정렬해서 나눠 놓은것(계층화)
- 라이브러리 : 이러한 폴더들을 많이 모아서 이와 관련된 패키지(특정 기능을 위한)를 다 모아 놓은 것
코랩 - content 안에 작업하는 파일 저장됨, 여기에 새 파일을 만들어서 여기에 여러가지 기능을 추가해서 그 파일에 구현해놓으면((예) a.py) 이렇게 만들면, 코랩에서 import a 이런식으로 불러올 수 있다.
2초간 프로그램을 정지합니다.
time.struct_time(tm_year=2024, tm_mon=7, tm_mday=2, tm_hour=0, tm_min=48, tm_sec=31, tm_wday=1, tm_yday=184, tm_isdst=0)
time.struct_time(tm_year=2024, tm_mon=7, tm_mday=2, tm_hour=0, tm_min=48, tm_sec=33, tm_wday=1, tm_yday=184, tm_isdst=0)
2초가 지났습니다.
총 소요시간: 2.001476526260376
# 현재 구글 코랩서버가 위치한 곳 시각을 가져온것
5초간 프로그램을 정지합니다.
2024/07/02 00:49:21
2024/7/2 0:49:26
5초가 지났습니다.
- format 이용해서 적절하게 정리
26/2/2024 7:0:49
- 모듈 임포트
- 이처럼 모듈에 별명을 붙여서 사용 가능하다
- time 이라는 것부터 sleep을 임포트 해온다
3. 클래스
- 클래스
- 객체를 선언하기 위한 자료구조로서의 틀
- 파이썬에서는 Name Space라고 표현
- 클래스는 객체를 선언하기 위한 틀이므로 그 자체로는 사용할 수 없음. 인스턴스 객체를 생성하여 사용
- 멤버(멤버변수, 클래스멤버, 클래스 변수) - 클래스 내부의 전역변수 역할
- 클래스의 내부에서 변수의 역할을 담당하는 것으로 메소드의 밖에서 정의
- 메소드 - 메소드 안에서 만들어 놓은 변수는 지역변수 역할(벗어나면 사라짐)
- 클래스의 내부에서 함수의 역할을 담당하는 것을 말한다
# 파이썬에서는 다른언어들 처럼 파라미터를 클래스이름 뒤에 붙이지 않고 __init__에 넣게됨
클래스이름() -괄호는 상속을 할때 이용, 상속 안할때는 사용하지 않는다.
안녕하세요
안녕하세요
일반적인 클래스에는 초기화를 할때 사용하는 __init__이 사용됨
- 생성자
__ 는 외부에서 접근 못하게하는 맹글링 기법을 사용하는 것
완전하게 막혀있는 것은 아님
MyClass2 인스턴스 객체가 생성되었습니다.
print(obj.var)
안녕하세요
- 소멸자 - 파이썬 개발자들은 잘 쓰지 않음
MyClass3 인스턴스 객체가 생성되었습니다.
MyClass3 인스턴스 객체가 메모리에서 제거됩니다.
- 상속
- 파이썬에서는 여러개 다중 상속도 간단하게 해결 가능함
5
3
-1
- 다중 상속
3
6
-1
클래스는 독립적인것 이므로 해당 클래스 안 함수에서는 같은 변수이름을 많이 사용해도 가능하다.
4. 표준 라이브러리
- 파이썬 자체에서 내장된 라이브러리
4-1 math 모듈
- 정밀한 계산을 위한 복잡한 수학 연산 라이브러리
- 삼각함수, 제곱근 등
- numpy 모듈이 더 성능이 잘 나옴(일반적으로 효율이 더 좋음)
0.7071067811865475
1.4142135623730951
120
4-2 random 모듈
- 난수 생성 기능, 어떤 수가 나올지 예측할 수 없는 무작위 동작 구현
- 컴퓨터는 랜덤값을 못만드니, 유사적으로 랜덤가 비슷한 값을 만들어 내는것임
- 랜덤을 이용하면 재현을 못하지만 유사 랜덤을 이용해서 시드값을 고정해서 다시 재현 가능하게 만들 수 있다.
- 이를 활용해서 머신러닝 분야에서 많이 사용가능함 (seed값 이용)
0.9376348239911239
0.7440464120306061
0.24369023142056156
0.6186899098443004
0.024043274640657475
6
5
7
5
8
Random number from 0~100 is : 10
Random number from 50~100 is : 59
Random number from 50~100 skip 5 is : 90
리스트에서 랜덤 값 가져오기
1
문자열에서 랜덤 값 가져오기
셔플
- AI 모델 적용시 학습용 데이터를 가지고 분류할때 데이터를 크기만큼 자르는것이 좋다,
- 이때 정렬되어있음 학습용은 작은데이터들만 사용되고 검증 데이터는 큰것만 사용되므로 셔플을 이용해서
- 데이터를 섞어준 다음 데이터를 잘라서 사용해서 검증 데이터 성능을 올리는 용으로 사용
- 정보의 편중을 피할때 많이 사용된다.
Original list :
['A', 'B', 'C', 'D', 'E']
After the first shuffle :
['E', 'B', 'D', 'C', 'A']
After the second shuffle :
['D', 'A', 'C', 'B', 'E']
리스트 샘플링
With list: [5, 4, 3]
With string: ['k', 'G', 'e', 's']
h tuple: ['geeks', 'btech', 'portal', 'ankit']
집합 Set
With set: ['b', 'd', 'a']
<ipython-input-53-ddc19f7482a1>:3: DeprecationWarning: Sampling from a set deprecated
since Python 3.9 and will be removed in a subsequent version.
print("With set:", random.sample(set1, 3))
# Deprecation은 얼마 지나지 않아서 없어질 것이다라는것, 다른것을 이용하라는것
Seed : seed값을 고정한 것에 대해서 랜덤값이 동일하게 나옴
855
855
855
855
855
5. sys 모듈
- 파이썬 해석기가 실행되는 환경과 해석기의 여러 기능 조회 및 관리
- 시스템의 환경정보 출력 가능
버전: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
플랫폼: linux
바이트 순서: little
모듈 경로: ['/content', '/env/python', '/usr/lib/python310.zip', '/usr/lib/python3.10', '/usr/lib/python3.10/lib-dynload', '', '/usr/local/lib/python3.10/dist-packages', '/usr/lib/python3/dist-packages', '/usr/local/lib/python3.10/dist-packages/IPython/extensions', '/root/.ipython']
/content
%cd sample_data # 위치 이동
/content/sample_data
6. os 모듈
- 운영체제와 관련된 기능을 가진 모듈
- 새로운 폴더 만들거나 폴더 내부 파일 목록을 보는 등의 기능을 제공
현재 운영체제: posix
현재 폴더: /content/sample_data
현재 폴더의 내부 요소: ['anscombe.json', 'README.md', 'mnist_train_small.csv', 'california_housing_train.csv', 'california_housing_test.csv', 'mnist_test.csv']
- "w" 쓰기 모드
with블럭 안에서만 참조를 함, with를 통해서 파일을 열었을 경우 따로 파일 닫지 않아도 스스로 닫아줌
- 시스템 명령어 실행
- Unix/Linux 계열은 Windows 계열과 명령어에 대한 결과가 다름
- Unix에서 반환 값은 두 개의 서로 다른 정보를 포함하는 16비트 숫자이며, 여기에서의 결과 0은 오류가 없음을 의미함
- 여기에서는 16비트 숫자로, 로우 바이트가 프로세스를 종료한 신호 번호이고 하이 바이트가 종료 상태(신호 번호가 0인 경우)를 의미함
0 # 오류없이 동작했다
7. time 모듈
- 날짜와 시간 관련 기능 제공
- 기본적으로 유닉스 시간을 기준으로 함
1719894549.139058
Tue Jul 2 04:30:06 2024
0~99 까지 출력하고
0.0519256591796875
8. urllib 모듈
- URL을 다루는 라이브러리
- urlopen() 함수 : URL 주소의 페이지 열기
- 웹페이지 소스코드 활용할 때 이용
구글 소스코드 출력
10. calendar 모듈
- 달력 기능
- 인수로 받은 연도의 달력 객체 반환
- month 함수
- 연도와 달을 인수로 받아 해당 월 달력 객체 반환
- weekday 함수
- 특정 날짜가 어떤 요일인지 조사
- 우리가 일반적으로 사용하는 달력은 그레고리안을 사용함
'PYTHON-BACK' 카테고리의 다른 글
#파이썬 기초 5일차_1 (1) | 2024.07.03 |
---|---|
#파이썬 기초 4일차_2 (1) | 2024.07.02 |
#파이썬 기초 3일차 (1) | 2024.07.01 |
#파이썬 기초 2일차 (0) | 2024.06.28 |
#파이썬 기초 1일차 (0) | 2024.06.27 |