-
Python / day01 / (주석,출력,서식문자,고정길이)K-Digital/Python 2022. 7. 27. 21:43
# 주석 - 코드의 부연 설명을 적는 문장 # 공부하는 동안은 코드 내용 정리할때 사용하자.... # 주석의 종류 # # : 한줄 주석 - 코드 한줄마다 부연 설명을 적을 때 사용한다. # ex) randint() - 정수값의 범위 안에 랜덤수를 구하는 함수.. """ 범위 주석1 - 범위 안의 모든 내용은 주석으로 처리가 된다... - 문자열을 처리하는 방법중에 하나... - 머릿말, 대분류 """ ''' 범위 주석2 - 범위 안의 모든 내용은 주석으로 처리가 된다... ''' # indet - 들여쓰기 # - 코드의 영역을 구별할때 들여쓰기를 통해서 구볗한다. # - 다른 프로그래밍 언어 에서는 영역을 구별할때는 {}를 통해서 사용한다.... # age = 20; # - 중괄호를 안쓰는 대신에 들여쓰기를 통해서 구별한다. # if age >=20: # print("성인") # 함수 == 기능 # - 어떠한 기능을 실행하는 하나의 작은 프로그램 or 코드의 집합체.. # print - Pythn에서의 출력 함수 # print(내용 입력) # 프로그램에서 자주 쓰이는 데이터의 형태 # 정수 # 실수 # - 숫자형태 그냥 적으면 됨 print(12) print(12.34) # 문자 # 문자열 # - 코드로 사용할 일이 많기 때문에 데이터를 별도로 구분한다... # - Python은 문자와 문자열을 별도로 구별하지 않는다...기본적으로 문자열로 처리된다... # - C나 Java 쪽에서는 문자와 문자열을 별도로 구별한다.. # - Python - "" or '' # - C계열과 JAVA - '' - 단일문자, - "" 문자열 print("print a") print('print a') # 명령문 - 프로그램 실행의 실질적인 내용.... # - 프로그램 실행시 실행되는 문장... # Python같은 경우는 일반적으로 코드를 적을 때 하나의 명령을 한줄에 적는다... # - 여러개의 명령을 한줄에 적을때는 명령의 끝에 ;을 적어주면 된다. # - ;(종료문자) # - 하나의 명령문의 끝을 표시하는 기호 # - 하나의 명령이 끝났으니 다음 명령을 실행하여라.... print(type("print a"));print(type('print a')) print(type('print a'))
# 출력시 도움을 주는 문자들.... # 서식문자 # 제어문자(이스케이프 시퀀스, 이스케이프 문자) # - 콘솔에서 특수한 기능을 하는 문자들 # - 약 30가지 # - 문자열 안에서 실행 시키고자 하는 위치에 |를 적고 기능에 맞는 문자를 적어주면 된다. # print("이름 : 이주홍") # print("주소 : 용인시 진산로") # 1. \n (New Line, Line Feed) - 아스키코드 10 # - 커서를 다음줄로 이동시키는 기능 # print ("이름 : 이주홍\n주소 : 용인시 진산로") # 2. \t (Horizontal Tab) - 아스키코드 9 # - 커서를 탭 크기 만큼 이동시키는 기능.... # - 일반적으로 프로그램마다 Tab크기는 다르긴 하지만 보통은 영문자 기준 8글자 한글 기준 4글자.... # print("이름\t : 이주홍") # print("전화번호 : 010-1111-2222") # 3. \r(Carriage Return) - 아스키코드 13 # - 커서를 줄의 제일 처음으로 이동시키는 제어문자 # print("abcdefg\r") # 4. \b(Back Space) - 아스키코드 8 # - 커서를 왼쪽으로 한칸 이동시키는 제어문자. # print("abcdefg\bA") # 문자열에서 특수한 기능을 하는 문자들 # - 데이터로써의 문자를 사용하려면 \뒤에 적어주면 된다... # \ - 제어문자를 구분하는 기호 # '', "" - 문자열을 구분하는 기호 # "HI" # print("\"HI\""); # print('"HI"'); # print("'HI'"); #G:\KDT\Python\workspace # print("G:\KDT\Python\workspace")
kim = ['김동완','38','010-1111-1111','20,000']; seo = ['서지수','24','010-1234-5678','30,000']; lee = ['이지은','25','010-2525-2345','50,000']; print("\t\t### 회비 정보 ###\t\t\t") print("="*48) print("이름\t\t나이\t전화번호\t회비") print("="*48) print(kim[0] + "\t\t" + kim[1] + "\t" + kim[2] + "\t\\" + kim[3]) print(seo[0] + "\t\t" + seo[1] + "\t" + seo[2] + "\t\\" + seo[3]) print(lee[0] + "\t\t" + lee[1] + "\t" + lee[2] + "\t\\" + lee[3]) print("-"*48) print("총합계\t\t\t\t\t\\100,000") print("="*48)
# 출력 함수의 옵션 # Python에서의 함수의 특징 # - 디폴트 매개변수의 진화 - 키워드 인자 # 여러가지 매개변수를 전부 부를 필요없이 하나의 특정한 매개변수만 넣어도 되게 함? # end - 출력 결과에 가장 끝에 자동으로 삽입할 문자를 지정하는 디폴트 매개변수 print("그냥 출력", end="\n"); print("end = '\\n'때문에 다음줄로 이동...") print("end='\\t'", end='\t') print("탭크기 만큼 이동하는 제어문자") print("5", end = " * ") print("6 = 30") # , - 식들을 구분하는 구분점...가장 우측에 있는 식이 결과값이 된다... # sep - 여러개의 결과를 출력할때 사이사이마다 넣을 문자열을 지정하는 디폴트매개변수 # sep = '' - 디폴트값 print(1,2,3,4,5) print(1,2,3,4,5,sep=" ") print(1,2,3,4,5,sep=" - ")
# 서식문자 # - 데이터의 출력형식을 지정하는 문자.... # - 내가 원하는 형식의 데이터와 문자열을 조합해서 하나의 문자열을 만들기 위한 문자 # - 제어문자와 마찬가지로 원하는 위치에 적으면 된다.... # - 서식문자의 개수와 타입은 반드시 데이터와 일치되어야 한다... # - C스타일과 Python스타일 둘다 사용이 가능하다.... # - C스타일 # - "출력 형식"%(데이터,데이터,....) # - Python스타일 # - "출력 형식".format(데이터,데이터,....) # C스타일 Python스타일 # 문자열 %s X # 정수 %d { } # 실수 %f {:f } # 2진수 X {:b } # 8진수 %o {:o } # 16진수 %x {:x } # . (멤버 참조 연산자) # - 클래스의 멤버를 참조하는 연산자. print(2,'*',5,'=',2*5) print("{} * {} = {}".format(2,5,2*5)) # 나이 : 20 print("%s : %d"%("나이",20)) print("{} : {}".format("나이",20)) # 실수 # - C언어에서는 실수를 출력할때 소수점 6번째 자리까지 기본적으로 출력한다...Python... # - 서식문자에서 소수점 자리수 지정 # - C스타일 : %.자리수f # - Python스타일 : {:.자리수f} print("C스타일 : " + "%f, %.2f"%(1.234,1.234)) print("Python스타일 : " + "{:f}, {:.2f}".format(1.234,1.234)) print(1.234) # 컴퓨터에서의 진법 표현 # C언어 Python # 2진수 0,1 X 0b10 # 8진수 0 ~ 7 010 0o10 # 10진수 0 ~ 9 10 10 # 16진수 0 ~ 9, A ~ F 0x10 0x10 print(0b10) # 2진수 print(0o10) # 8진수 print(10) # 10진수 print(0x10) # 16진수 print("{:b} , {} , {:o} , {:x}".format(0x10,0o10,10,0b10))
# 서식문자 # - 데이터의 출력형식을 지정하는 문자.... # - 내가 원하는 형식의 데이터와 문자열을 조합해서 하나의 문자열을 만들기 위한 문자 # - 제어문자와 마찬가지로 원하는 위치에 적으면 된다.... # - 서식문자의 개수와 타입은 반드시 데이터와 일치되어야 한다... # - C스타일과 Python스타일 둘다 사용이 가능하다.... # - C스타일 # - "출력 형식"%(데이터,데이터,....) # - Python스타일 # - "출력 형식".format(데이터,데이터,....) # C스타일 Python스타일 # 문자열 %s X # 정수 %d { } # 실수 %f {:f } # 2진수 X {:b } # 8진수 %o {:o } # 16진수 %x {:x } # . (멤버 참조 연산자) # - 클래스의 멤버를 참조하는 연산자. print(2,'*',5,'=',2*5) print("{} * {} = {}".format(2,5,2*5)) # 나이 : 20 print("%s : %d"%("나이",20)) print("{} : {}".format("나이",20)) # 실수 # - C언어에서는 실수를 출력할때 소수점 6번째 자리까지 기본적으로 출력한다...Python... # - 서식문자에서 소수점 자리수 지정 # - C스타일 : %.자리수f # - Python스타일 : {:.자리수f} print("C스타일 : " + "%f, %.2f"%(1.234,1.234)) print("Python스타일 : " + "{:f}, {:.2f}".format(1.234,1.234)) print(1.234) # 컴퓨터에서의 진법 표현 # C언어 Python # 2진수 0,1 X 0b10 # 8진수 0 ~ 7 010 0o10 # 10진수 0 ~ 9 10 10 # 16진수 0 ~ 9, A ~ F 0x10 0x10 print(0b10) # 2진수 print(0o10) # 8진수 print(10) # 10진수 print(0x10) # 16진수 print("{:b} , {} , {:o} , {:x}".format(0x10,0o10,10,0b10))
import unicodedata # 참고 url : https://frhyme.github.io/python-libs/print_kor_and_en_full_half_width/ def fsws(input_s="", max_size=40, fill_char=" "): # 변수 3개를 받아온다 / 입력할 문자, 문자공간, 남은 공간 채울문자 """ - 길이가 긴 문자는 2칸으로 체크하고, 짧으면 1칸으로 체크함. - 최대 길이(max_size)는 40이며, input_s의 실제 길이가 이보다 짧으면 남은 문자를 fill_char로 채운다. """ l = 0 for c in input_s: if unicodedata.east_asian_width(c) in ['F', 'W']: l+=2 else: l+=1 return input_s+fill_char*(max_size-l) print("|{:^60}|".format('Python Shop')) print("|{:<5}{:^2}".format("No.",":")+fsws("1078718855",max_size=53)+"|") print("|{:<5}{:^2}".format("Addr",":")+fsws("서울시 마포구",max_size=53)+"|") print("|{:<5}{:^2}".format("Name",":")+fsws("김사장",max_size=53)+"|") print("|{:<5}{:^2}".format("H.P",":")+fsws("070-1234-5678",max_size=53)+"|") print("|"+("-"*60)+"|") print("|{:^15}{:^15}{:^15}{:^15}|".format("Item","Unit","QTY","Price")) print("|{:<3}{:<10}{:12,d}{:13,d}{:18,d}{:<4}|".format("","Blue-Tooth",85000,1,85000,"")) print("|{:<3}{:<10}{:12,d}{:13,d}{:18,d}{:<4}|".format("","USB3.0 8G",8000,1,8000,"")) print("|"+("-"*60)+"|") print("|{:<40}{:20,}|".format('Total',93000)) print("|"+("-"*60)+"|") print("|{:<40}{:20,}|".format('Pay Money',93000)) print("|{:<40}{:20,}|".format('Reveive Money',100000)) print("|{:<40}{:20,}|".format('Change Money',7000)) print("|"+("-"*60)+"|")
고정길이를 지정하여 .format을 사용하는 것이 아직 익숙하지가 않다. JAVA를 사용하다 와서 그런지 더 그렇게 느껴지는 것 같다.
'K-Digital > Python' 카테고리의 다른 글
Python / day02 / (0) 2022.07.27