본문 바로가기

Python95

문자열 포멧팅 String Format Practices □ 문자출력(서식) 종류 多 □ % OPerator(old style) : 가독성 떨어짐 □ str.format(new Style) : 명시적임 □ f = Strings(python 3.6) : 직관적임 □ Template String(from string import Template) : 번거로움 □ 정렬 - ^:가운데, :오른쪽 #공통변수 선언 x = 10 y = 20 serialno = 308276567 n = 'Kim' #출력1 : % 문법 ex1 = 'n = %s, s = %d, sum = %d' %(n,serialno,(x+y)) print(ex1) #출력2 : .format함수 ex2 = 'n = {n}, s = {serialno}, sum = {sum}'.format(n=n, serialn.. 2023. 11. 7.
[Python] 사용자 입력 처리 Taking Multiple Inputs □ input() 함수 사용 □ input 함수를 사용해 받은 값은 무조건 str 형식임 □ 따라서 정수, 실수형태로 값을 받고자 할 시 input함수를 원하는 타입으로 감싸서 형변환을 시행해야함 #사용자 입력 처리 Taking Multiple Inputs #예제: 사용자에게 정수를 3회 입력 받은 후 평균 값을 구하시오 #방법1 #빈리스트 num_grp = [] #0인변수 start_num = 0 for i in range(0,3): num_value = int(input('정수를 입력해주세요 : '))#input함수는 string으로 받은 값을 int로 치환해야함 num_grp.append(num_value) num_avg = sum(num_grp) // len(num_grp) # / 실수 반환 , .. 2023. 11. 6.
[Python] 멀티파일 읽기(read multiple files) □ 현업에서 생각보다 다양한 확장자 형식 파일읽기는 매우 중요 □ python os 라이브러리 사용은 능숙해야함 ○ .listdir(매개변수) : 특정경로의 모든 파일 출력 ○ .endwish('파일형식') : 특정 파일형식으로 끝나는 파일검색 □ getcwd() : 현재 작업경로 반환 □ listdir() : 지정한 경로의 파일 & 디렉토리 전부반환 □ glob 패키지도 사용 가능 #예제: 특정경로에 모든텍스트파일(txt)를 읽은 후 리스트로 출력 #방법1 import os def read_txt_file(file_path): #함수정의 #결과리스트 outputs = [] #모든 파일 읽기 for file in os.listdir(file_path): #os.listdir(매개변수) 특정 경로의 모든 .. 2023. 11. 6.
[Python] 디렉토리 생성 및 텍스트 파일 작성/저장 □ import os : 모듈함수 ○ os.path.exists(경로) : 경로 확인 ○ os.makedirs(경로) : 경로에 디렉토리 생성 □ with open 함수를 사용하면 자동으로 close 처리가됨 ○ w : writing 덮어쓰기 - write : 리스트 인덱스별 값만 작성 - writelines : 리스트의 모든 값을 한줄로 작성 *아래 예제코드 기준으로 말하는 것임 ○ a : appending 추가 ○ r : read 조회 #예제 : /source/26-1/경로에 name = 파일명 contents = 내용으로 파일을 작성하시오 import os file_grp = ['A','B','C','D','F','G'] contents_list = ['Python','JavaScript','PHP.. 2023. 11. 3.
[Python] 리스르 스플릿 Split Lists Into N Chunks □ range 함수 ○range(시작값, 종료값) new_range = range(0,100) #0~100범위 지정 list(new_range) #범위 지정한것을 바탕으로 리스트 생성 print(list(new_range)) ○range(시작값, 종료값, 증가개수) second_range = range(0, 100, 10) #0~100범위 10씩증가한 값으로 지정 list(second_range) print(list(second_range)) #================================================== #second_range에 0부터 10000까지 범위중 100씩 증가하는 값들로 리스트 데이터 적재 #즉, 0~9999까지 100씩 증가하는 값들록 이루어진 리스트로 길이는.. 2023. 11. 3.
[Python] 병렬처리(zip함수, 딕셔너리 컴프리헨션) □ zip 함수 : 다중 그룹을 한번에 묶어 반복처리 가능하도록 자료형을 묶는 기능 □ usage : zip(*iterables, strict = False) #예제 : 아래 3개의 리스트를 {key : a , key : b*c} 형태의 딕셔너리 구조로 변경 a = ['one', 'two', 'three', 'four'] b = 30, 20, 15, 75 c = 5.2, 7.4, 3.6, 4.2 #방법1 dic = {} # 빈 딕셔너리 for k, v1, v2 in zip(a, b, c): #zip함수를 활용해서 위 변수 3개를 묶음처리 dic.update({k : v1 * v2}) print(f'dic 결과 : {dic}') #방법2 dic_2 = {} # 빈 딕셔너리 for k, v1, v2 in z.. 2023. 11. 3.
[Python] 유니코드, 파일쓰기 및 String 패키지 □ 파이썬 유니코드의 이해 중요 □ 유니코드(Unicode) : 전세계에 존재하는 문자의 출력을 위한 인코딩 표중 - 유니코드 코드 값의 테이블 형태 □ 파일조회, 쓰기 #파일조회 with open(파일경로, 'r') as file read_file = file.read() #파일작성 with open(파일경로, 'w') as file write_file = file.write() □ String 패키지 사용 후 파일로 사용 - ascii_uppercase : 알파벳 대문자 - ascii_lowercase : 알파벳 소문자 #예제 : 파일이름으로 대문자 아파벳(A-Z)을 공백 으로 구분 후 파일로 기재 (IO작업) #방법1 def write_alphabet(filepath): #함수정의 with open.. 2023. 11. 3.
[Python] 문자열 파싱(String Split By Delimiter) □ Python split()함수는 자주 이용됨 □ string.split(separator, maxsplit) : 구분자, 분할개수 (개수 생략가능) □ string.replace(oldvalue, newvalue, count) : 타겟, 변환 값, 개수 (개수 생략가능) □ 기본분리 지정자는 공백 □ 문자열을 구분 후 리스트로 변환 □ import re : 정규표현식 라이브러리 #예제1 : 문장을 공백으로 구분 후 단어 개수를 출력하는 함수 int_str = "Suppose we have few words that are sparated by spaces" #문장 변수 a = int_str.split(" ") #공백기준으로 분리 print(a) print(f'결과 : {len(a)}') #예제2 : .. 2023. 11. 2.
[Python] 전역변수, 지역변수 □ 전역변수 : 함수 내부가 아닌 외부에 정의되어 전체 범위를 갖는 변수(프로그램 영역전체, 함수내부 엑세스기능) □ 지역변수 : 함수 내부에서 정의되어 활용되는 변수 □ 파이썬 변수 스코프(영역)에 대한 이해는 정말 중요함 □ 변수 영역에 대한 이해 부족 시 잘못된 결과 값, 프로그램 종료등 문제가 발생할 수 있음 □ 함수내에서 전역변수를 사용하거나 전역변수의 변경, 수정(출력, 엑세스X)이 필요한 경우는 global 키워드 사용 #예제1 x = 100 #전역변수 지정 #함수생성 def test(): return x * 10 #함수호출 및 출력 print(f'test 결과 : {test()}') # 지역변수는 없으며 전역변수로 지정되어있는 값이 있기때문에 값 출력 #예제2 y = 200 #전역변수 지정.. 2023. 11. 1.