IT 프로그래밍/파이썬 20

[파이썬] 객체와 클래스

프로그래밍 방식에는 여러 가지가 있지만, 대표적으로 절차형 프로그래밍과 **객체지향 프로그래밍(OOP)**이 있습니다.1. 절차형 프로그래밍절차형 프로그래밍은 코드가 순차적으로 실행되며, 명령어를 따라 진행됩니다. 예를 들어, 특정 지점으로 이동할 때 goto 같은 명령어를 사용할 수도 있습니다. 그러나 코드의 길이가 길어질수록 복잡성이 증가하고 유지보수가 어려워지는 단점이 있습니다. 이러한 단점을 보완하기 위해 등장한 개념이 구조적 프로그래밍입니다. 구조적 프로그래밍은 코드를 기능별로 나누어 가독성과 유지보수성을 높이는 방식으로, 예를 들어 데이터를 "성별"과 "몸무게" 기준으로 나누어 100명을 정렬하는 것과 같은 패턴을 찾는 과정과 유사합니다.2. 객체지향 프로그래밍(OOP)객체지향 프로그래밍은 여..

[파이썬] 난수 발생 Random 라이브러리

Randomrandom.random()은 0.0 이상, 1.0 미만의 난수를 생성합니다.random.randint(a, b)는 a 이상, b 이하의 정수 난수를 반환합니다. uniform을 사용하면 x구간에서 y에서 사용하는 수를 float뿐만 아니라 그 범위에 있는 숫자 중 무작위로 수행할 때 사용을 하는 것입니다.  randrange(x,y,z)는 무작위로 수행할 때 반복에 해당되는 x에서 y까지 z에서 나열된 무작위 숫자를 골라라 이런 식으로 생각하시면 됩니다.  정해진 리스트 안에서 무작위로 고르기 choice(a), sample(a, x)  math내장 함수 보다 많은 함수를 지원하고 있습니다. import에 해당하는 math를 이용해서 함수의 종류를 확인할 수 있습니다.  1️⃣ 숫자 관련 함..

[파이썬] 외장함수

외장함수, 내장 라이브러리, 표준 라이브러리 = import 하여 사용 파일과 디렉터리 접근 : sys, os데이터 파일 저장 : pickle수학 및 랜덤 : math, random인터넷 엑세스 : webbrowser날짜와 시간 : time, datetime   프로그램 운영체제 제어하기프로그램에서 운영체제를 제어하기운영체제(OS)와 상호작용하는 기능을 사용할 때는 os 모듈을 활용할 수 있습니다. os 모듈을 사용하면 디렉터리 및 파일을 관리할 수 있으며, 여기에서는 파일 이름 변경, 파일 삭제, 디렉터리 삭제 방법을 알려주겠습니다.1. 현재 디렉터리의 파일 및 폴더 목록 확인먼저, os.listdir()을 사용하여 현재 디렉터리에 있는 파일과 폴더를 확인할 수 있습니다.2. 파일 이름 변경하기os.r..

[파이썬] 내장함수

내장함수 : 일반적으로 많이 쓰이는 함수, 파이썬에서 바로 사용 가능 외장함수 : 파이썬에서 함께 제공되는 함수, import후 사용가능 help(함수명) #내장함수 사용법에 대한 도움말 함수help(_builtins_) #내장함수 종류 보기 몫과 나머지 리턴 divmod()  hex()10진수를 16진수로 바꿔주는 함수 hex입니다. c++만 사용하다가 hex를 딱 봤을 때 파이썬이 왜 쉬운 언어인지 느껴지네요. 자료형을 문자형으로 str(x) 객체의 메소드, 객체의 함수 dir(a) dir([123])  #리스트 객체의 함수와 변수를 보여줍니다. dir(5) #정수 객체의 함수와 변수를 보여줍니다. a의 자식클래스 여부 판단 isinstance(a, class) 아스키코드 -> 문자 chr(ASCII..

[파이썬] 함수2

사용자 정의 함수입니다. 가변인자 사용매개변수 하나에 여러 인자를 받는 것 애스터리스크(*)를 사용하여 하나의 매개변수에 여러 인자를 받을 수 있도록 합니다. * 이것이 그런 역할을 해주는 것입니다.  복잡한 함수의 설명서 docstring여러 사람들이 함께 협력하여 만들어갈때 많은 사람들이 다양한 함수들을 활용하기에 각각에 해당하는 함수가 어떠한 역할을 하는지 알기 어렵습니다. 이런 경우에 함수에 대한 설명을 하는 것이 바로 docstring입니다.  이는 주석으로 설명하는 것이 가장 자연스럽습니다.  def multiply(a, b, c): """세 개의 숫자를 곱하여 반환하는 함수.""" return a * b * cprint(multiply.__doc__) # docstring 출력 ..

[파이썬] 파일 입출력 그리고 예외처리

파일 모드 종류 및 설명r파일을 읽기 전용 모드로 열기w파일을 쓰기 전용 모드로 열기 (기존 파일이 있으면 덮어씀)a파일에 내용을 추가하는 모드t텍스트 모드로 파일 열기 (기본값)b바이너리 모드로 파일 열기r+읽기 + 쓰기 모드 (파일이 존재해야 함)w+읽기 + 쓰기 모드 (기존 파일을 지우고 새 파일을 생성)a+읽기 + 쓰기 모드 (기존 파일 끝에서부터 추가)🔹 파일 생성 여부모드파일 생성 여부r❌ (파일이 존재해야 함)w⭕ (파일이 없으면 생성됨)a⭕ (파일이 없으면 생성됨)r+❌ (파일이 존재해야 함)w+⭕ (기존 파일 삭제 후 새 파일 생성)a+⭕ (파일이 없으면 생성됨) 파일 열기 정리저장할 변수명 = open('파일이름', '모드')변수명.close() 파일 쓰기 \n을 하면 여러 줄에 입력..

[파이썬] 딕셔너리(Dictionary)

Key-Value 쌍으로 이루어진 자료형 {:} 을 말합니다. 쌍으로 대응관계를 이룬다고 보면 됩니다. :를 기준으로 key와 value가 있습니다.Key - 변수 또는 튜플Value - 거의 모든 자료형 가능  set {} 은 중복을 자동으로 제거하므로 B의 하나는 소거되어서 출력이 됩니다. 또한 set은 순서를 보장하지 않기에 B A C 이런 식으로 출력이 되는 것입니다. 반면 [] 리스트는 순서를 유지하기에 리 스 트 이렇게 출력이 되는 것을 볼 수 있습니다. 추가 및 삭제추가 및 삭제는 이런 식으로 합니다.   값 추출 후 해당 값 삭제 pop() 딕셔너리 초기화  clear() 딕셔너리 Key-Value 추출하기 items(), Key 출출하기 keys(), 값 추출하기 values()

[파이썬] 튜플, 셋

튜플은 데이터의 수정 삭제가 불가능한 자료형입니다. 리스트는 값이 바뀔 수 있지만 튜플은 불가능하기에 고정에 해당하는 불변하는 것입니다.   튜플이는 튜플 안에  있는지 확인하는 것입니다.  True or False를 반환하며 in , not in이 있습니다  패킹(Packing): 여러 개의 값을 하나의 변수(튜플, 리스트 등)에 묶어서 저장하는 것.언패킹(Unpacking): 패킹된 데이터를 개별 변수로 풀어서 할당하는 것. 집합 자료형 SET순서와 중복없이 저장된 자료형 {}을 말합니다. 수학에서 배운 집합의 개념과 같습니다. 중복을 없애고자 한다면 집합을 활용하는 것이 중요한만큼 자주 활용하지 않는 것을 최소화시키기에 적합한 것이 바로 set입니다.  {}를 씁니다. Python 집합(Set) 연..

[파이썬] 데이터 타입 리스트

리스트, 튜플, 딕셔너리이렇게 세가지를 아시면 됩니다. 밑에 세가지에 대한 각각의 설명을 할 것입니다. 해당하는 것에 맞춰서 어디에 담을지 프로그래머가 데이터 타입에 따라서 각각의 변수를 설정해주면 되는 것입니다. 리스트순서가 있는 변수의 모음입니다. []로 생성을 합니다. 리스트에는 거의 모든 종류의 데이터가 들어갈 수 있습니다.  리스트 변수를 리스트로 만들기 range()를 이용하여 리스트 만들기 리스트 생성하기변수명 = [값1, 값2, ...]변수명 = list(문자형자료 또는 범위형 자료( 리스트의 인덱싱 리스트의 슬라이싱 리스트안의 리스트 다루기 리스트 안에는 인덱스를 가지고 있기 때문에 이런 식으로 또 다른 리스트 안에 있는 것을 확인할 수 있습니다. 리스트 변경 리스트 삭제 리스트 추가 삽..

[파이썬] 문자열

문자열  문자열 슬라이싱슬라이싱을 한 결과입니다.   문자열 합치기 .join()join 말 그대로 합치는 것입니다. 문자열 분리하기 .split()문자열을 분리하는 것입니다. " " 을 기준으로 분리하는 것입니다.  문자열 바꾸기 .replace() 문자 세기 .count() 문자열 위치 찾기 .find() / .index() 문자열 공백 지우기 .strip() 문자열 정렬하기 .center() / .ljust() / rjust()center(문자길이, "채울문자") 해주면 이렇게 문자가 채워지게 됩니다. 문자열 값 판별 .is~()a.islower() a.isupper() 대문자를 판별하는 것입니다.  a라는 초기값은 5로 설정한다고 가정합니다. input으로 order의 명령을 받습니다. 만약에 천..