Python2020. 10. 20. 23:40
반응형

[파이썬 ( Python )] Class - 클래스 (22)

 

실습 코드
출력 결과

 

 

 

#Class
#Class는 흔히 '틀'이라고 많이 표현을 합니다. 다향한 함수나, 기능들을 넣어
#효율적으로 같은 형식으로 여러개체를 만들 수도 있고 이것 말고도 활용도가 매우 높습니다.

#예를들어 노트북이란 제품을 소개할때 어떤 회사 제품을 소개하더라도 노트북이라는건 변함이 없죠 ?
#그래서 노트북을 소개할 고정적인 요소를 틀로 잡아 효율적으로 사용 할 수 있습니다.
class NoteBook:

def __init__(self, brand, name, grade): #self는 자기 자신을 뜻하며, __init__ << 생성자입니다. 객체를 생성할때 (아래의 노트북같은 것들) 자동으로 호출됩니다.
self.brand = brand #brand, name, grade 이와 같은 요소들을 멤버변수라고 합니다.
self.name = name #외부에서도 객체.멤버변수 << 이와 같은 방법으로 접근이 가능합니다.
self.grade = grade

print("{0}회사에서 가성비 좋은 노트북 {1}을 출시 했습니다! ".format(self.brand, self.name))
print("제품 사양은 {0}등급 입니다!".format(self.grade))

Asu1 = NoteBook("Asu", "VvBook", "B") #클래스로 만들어지는 이것들을 객체라고하며, 해당 클래스의 인스턴스라고 표현 합니다.
Asu2 = NoteBook("Asu", "GeeBook", "A")

H = NoteBook("H", "VivoBook", "C")

Asu3 = NoteBook("Asu", "GepBook", "S")
Asu3.lockskill = True #이렇게 변수를 외부에서 추가적으로 할당 할 수 있습니다.
#클래스 외부에서 원하는 변수를 확장할 수 있지만, 확장을 한 객체한에서만 사용할 수 있으며, 다른 객체에선 사용이 불가능합니다.
if Asu3.lockskill == True:

print("{0}제품은 지문인식 기능을 탑재하고 있습니다.".format(Asu3.name))

반응형
Posted by 보안 학생
Python2020. 10. 16. 23:07
반응형

[파이썬 ( Python )] Pickle (21)

 

 

 

실습 코드

 

출력 결과

#Pickle
#Pickle이란? 프로그램상에서 사용하고 있는 데이터를 파일형태로 저장해주는 것입니다.

import pickle

MyData_file= open("MyData.pickle", "wb")
#MyData.pickle이라는 파일을 만들고 pickle을 사용하기 위해선 원하는 권한뒤에 항상 b를 붙여줘야 합니다.(바이너리 타입를 뜻합니다.)
MyData = {"이름":"홍길동", "나이":"미상", "취미":["동해번쩍","서해번쩍"]} #내용 입력
print(MyData)

pickle.dump(MyData, MyData_file) #MyData에 있는 정보들을 MyData_file에 저장해줍니다.
MyData_file.close()


MyData_file2= open("MyData.pickle", "rb")
MyData = pickle.load(MyData_file2) #위에서 데이터가 저장된 MyData.pickle 파일의 내용을 불러와 저장합니다.
print(MyData)

MyData_file2.close()

반응형
Posted by 보안 학생
Python2020. 10. 13. 19:30
반응형

[파이썬 ( Python )] 파일 입출력 - File read (20)

 

 

 

실습 코드
출력 결과

 

#파일 입출력

#쓰기
Mymemo_file = open("Mymemo.txt", "w", encoding="utf8") # 쓰기 권한
# 파일제목을 변수로 지정하고 open을 통해서 파일을 열고 무슨 권한으로(현재는 쓰기 목적) 열지 정할 수 있습니다. (마지막에 인코딩 꼭 해줘야합니다. 안적으면 한글이 깨져서 보일 수도 있습니다.)
print("저는 지금 잠이 옵니다.",file=Mymemo_file) #파일에 들어갈 글을 아무거나 적습니다.
print("그래서 곧 자러 갈겁니다.",file=Mymemo_file) #내용을 적고 ,file= 파일명을 적어줍니다.
Mymemo_file.close() #파일을 닫아줍니다.

Mymemo_file = open("Mymemo.txt", "a", encoding="utf8") #a는 append로 해당 파일에서 이어서 작성하겠다는 뜻입니다.
Mymemo_file.write("\n집에 가고 싶어요") #.write로 작성할땐 자동 줄바꿈이 되지않기에 필요시 수동으로 적어줍니다.
Mymemo_file.write("\n피곤하네요")

Mymemo_file.close()

#읽기
Mymemo_file = open("Mymemo.txt", "r", encoding="utf8")

print(Mymemo_file.read()) #전체 내용을 불러옵니다.
Mymemo_file.close()


Mymemo_file = open("Mymemo.txt", "r", encoding="utf8")
print(Mymemo_file.readline())# readline()을 통해 각 줄별로 읽기가 가능합니다.
print(Mymemo_file.readline())

print(Mymemo_file.readline())
print(Mymemo_file.readline())
Mymemo_file.close()

#읽을려는 파일이 몇 줄있는지 모를때는 While문을 통해 읽어올 수 있습니다.
Mymemo_file = open("Mymemo.txt", "r", encoding="utf8")

while True:
line = Mymemo_file.readline()
if not line: #readline()으로 불러온 값이 없을때 아래의 구문을 실행합니다.
break #중단합니다.
print(line)

Mymemo_file.close()

Mymemo_file = open("Mymemo.txt", "r", encoding="utf8")
List = Mymemo_file.readlines() #List형태로 저장
for line in List:

print(line, end="")

Mymemo_file.close()

반응형
Posted by 보안 학생
Python2020. 10. 11. 20:00
반응형

[파이썬 ( Python )] 입출력 Input & Output (19)

 

 

실습 코드

 

 

출력 결과

# 표준 입출력

#출력
#신체 정보
Body = {"전체길이":200, "다리길이":120, "상체길이":80}
for body, length in Body.items(): #변수지정 칸에 key와 value으로 같이

지정해주게 되면 튜플에 한 세트로 함께 들어가게 됩니다.
print(body.ljust(5), str(length).rjust(4), sep=":", end="cm")
print()
#sep는 위의 출력문에서 ,로 구분되는 곳에 대신 집어넣을 값을 의미하고,

end는 해당 출력문이 #끝난후에 이어서 작성될 구문을 뜻합니다.

그밑에 print()를 한 이유는 줄바꿈을 해주기 위함입니다.
#ljust와 rjust는 좌로 정렬, 우로 정렬이고 ()안의 값을 넣으면 해당 값만큼 공간을

확보한 상태로 좌,우로 정렬해준다라는 뜻이 됩니다.

#어느 이벤트의 응모권이 있습니다
#1,2,3,4,~
#이 번호들을 001,002,003~ 이런식으로 표현하고 싶을때 사용하는 방법입니다.
for Number in range(11):
print("응모권 " + str(Number).zfill(3) + "번")
#zfill(숫자)는 해당 숫자만큼 자리를 확보하고 빈자리들을 모두 0으로 채운다는 뜻입니다.


#입력
A = input("보통 언제쯤 기상하시나요 ? ")
print("아하, 당신은 주로 " + A + "에 기상하시는군요!")

반응형
Posted by 보안 학생
Python2020. 10. 9. 15:44
반응형

[파이썬 ( Python )] 함수 Def (18)

 

 

실습 코드

 

출력 결과

 

# 함수

#함수를 선언할때는 def 함수명(): << 이런 형태로 선언하게 됩니다.

def Plus(a, b): #함수를 선언하고 전달값으로 a와 b를 받습니다.
return a+b #a와b를 +로 연산하여 결과값을 반환해줍니다.

result = Plus(3,6) #Plus 함수에 전달값으로 연산된 결과값을 result 변수에 저장합니다.
print(result)#결과값을 출력해줍니다.

#위와 같은 방식으로 간단한 계산기 함수도 만들 수 있으니 만들어보면 좋을 듯 합니다!

#또한 전달값에 기본값을 지정해줄 수 있는데,
#예를 들어 어느 대학에서 정보보안을 전공으로하는 특정 학생들에게 지원금을 주고 특정 사설교육을 듣게 해준다는 공고가 올라왔습니다.
#그러면 대학에선 특정 인원을 차출하여 사설교육기관에 명단을 넘겨 등록을 시키겠죠?
#그럴때 어차피 다 같은 학교와 전공의 학생이니 굳이 학교이름과 전공을 일일이 적어줄 필요는 없으니 기본값으로 학교명과 전공이름을 전달합니다.

#기본값
def List(name, University = "코리아대학", major="정보보안"): #명단 작성 함수 (대학이름과 전공을 기본값으로 정해줍니다.)
print("이름:{2}\t소속대학: {0}\t전공: {1}".format(University, major, name))


List("홍길동")
List("짱구")
List("철수")
#위와같이 이름만 적으면 기본값으로 정해준 소속대학 이름과 전공이름이 포함되어 출력됩니다.

#가변인자
#이번엔 위의 명단에서 학생들이 희망하는 수업이름을 같이 넣어 작성해보겠습니다.
#하지만 함수는 하난데 학생들이 원하는 수업도 전부 다를거고 수업 갯수도 다르겠죠?
#그럴때 사용하는 것이 가변인자입니다.
def List(name, *calssname): #명단 작성 함수
# (대학이름과 전공을 기본값으로 정해주고, 희망하는 수업명을 전달값으로 입력하게 합니다.)
print("이름:{0}\t희망 수업: ".format(name), end=(" ")) #end=(" ")는 이 출력문이 끝나고 줄바꿈을 하지 않고 곧 바로 이어서 다음 구문을 출력하고 싶을때 사용합니다.
for CName in calssname:

print(CName, end=" ") #희망 수업명이 여러개 일수도 있으니 위와 마찬가지로 이어서 출력되도록 해줍니다.
print()# 마지막엔 줄바꿈하여 보기좋게 해줍니다.

List("홍길동","시스템보안", "사이버포렌식")

List("짱구","Java를 활용한 프로젝트", "암호학","네트워크 패킷 분석")
List("철수","웹 서비스","웹해킹","모의해킹 실습","Web Shell")
#위와같이 이름뒤에 갯수에 상관없이 희망수업명을 적으면 수업명이 포함되어 출력됩니다.

반응형
Posted by 보안 학생
Python2020. 10. 6. 18:43
반응형

[파이썬 ( Python )] Continue & Break (17)

 

 

실습 코드

 

출력 결과

#Continue & Break
#Continue와 Break는 계속 진행해라와 중지한다라는 의미로 반복문 안에서 주로 사용되는 구문입니다.

#예를 들어 군대에서 어느 분대가 잘못을 저질러 얼차려를 받는데, 환자는 얼차려를 받을 수 없겠죠?
#환자는 열외하고 얼차려를 준다는 상황을 예시로 들겠습니다.

Patient = [3, 6, 7] #훈련번호 3, 6, 7번 교육생들이 환자라고 가정합시다.

print("훈련생들은 지금부터 얼차려 대신 연병장 한바퀴씩 뛰고옵니다.") #조교가 훈련병들에게 한바퀴씩 뛰고 오라고 합니다.
for Solider in range(1, 18): # 분대원들의 훈련번호가 1~18번이라 가장합시다.

if Solider in Patient: #만약 훈련생중 환자가 있을 경우에 아래의 구문을 실행합니다.
print("환자 열외") # 환자라면 열외시킵니다.
continue # 열외시키고 계속 진행합니다.
elif Solider == 16: # 만약 훈련번호 15번까지 다뛰고왔다면 아래 구문을 실행합니다.
print("모두 집합! 오늘은 여기까지만 하고 석식시간이 되었으니 오늘 뛰고오지 못한 훈련번호 16,17번은 \n추후에 오늘 열외한 환자 훈련병들과 같이 벌을 받도록 하겠습니다.")

break # 시간관계상 1~15번까지 벌을 주고 못 받은 인원은 추후에 벌을 받기로 하고 종료합니다
print("훈련번호{}번 뛰어!".format(Solider)) # 차례대로 훈련번호를 지정하며 뛰고 오라고 합니다.

반응형
Posted by 보안 학생
Python2020. 10. 1. 19:29
반응형

[파이썬 ( Python )] 조건 반복문 While (16)

 

 

 

실습 코드

 

출력 결과

 

#반복문 while
#while은 for문과 조금 다르게 조건문이 붙습니다.
#제시한 조건문이 True일때만 반복문이 실행되고 그렇지 않다면 실행되지 않습니다.
#예시로 어떤 구인공고에서 이력서 지원을 20명까지만 받겠다 하는 경우로 설명 해드리겠습니다.

Person = 1 #지원자

while Person <= 20: # 지원자가 20명보다 작거나 같을 때까지 반복합니다.
print("현재 해당 구인공고에 {}명이 지원하였습니다.".format(Person)) #현재 몇명이 지원했는지 알려줍니다.
Person += 1 # Person = Person +1 과 같은 뜻이며 현재 몇명이 지원했는지 저장합니다.
if Person >= 21: #만약 지원자가 21명보다 크거나 같을때 아래의 구문을 실행합니다.
print("해당 구인공고의 지원이 마감되었습니다.") #지원자가 20명이 넘어 마감되었음을 알려줍니다.

반응형
Posted by 보안 학생
Python2020. 9. 29. 22:58
반응형

[파이썬 ( Python )] 반복문 for (15)

 

 

실습 코드
출력 결과

 

#반복문
# print("1")
# print("2")
# print("3")
# print("4")
# print("5")
# 이렇게 여러개를 출력하거나 계산이 필요할때 일일이 하나씩 다 적는 것은 매우 불편하고
# 비효율적입니다:
# 그럴 때 사용되는것이 반복문입니다! 반복문을 사용하게되면 코드를 간략화 할 수 있고, 효율적으로 사용이 가능합니다.
# for 문을 예시로 들어보겠습니다.

for Number in [0,1,2,3,4,5,6,7,8,9]:

print("생산번호 NO.{}".format(Number))

#예를 들어 어떠한 제품의 생산번호를 찍어줘야 하는 경우에 반복문 2줄로 간단히 표현할 수 있습니다.
# for Number in [1,2,3,4,5,6,7,8,9]는 [~] 안에서 차례대로 가져와 Number라는 변수에 넣어 아래의 구문을 실행해라는 뜻입니다.

for Number in range(15):

print("생산번호 NO.{}".format(Number))
#순차적으로 증가할때 그 범위가 크다면 List를 사용하여 코드를 작성하는건 불편하고 코드가 길어질 수 있습니다.
#그럴때 range(?)를 사용해주면 0부터 ?숫자전까지 순차적으로 반복하여 실행해줍니다.
#위의 코드는 15가 들어갔으니 0부터 시작해서 0,1,2,3,4,...,13,14 까지 실행하게 됩니다.
#만약 나는 0부터 시작하기가 싫다! 아니면 특정 숫자부터 시작하고 싶다 하고 싶은 분들은 시작지점을 정해줄 수 있습니다.
#예를 들어 6부터 14까지 반복하고 싶다하시면 range(6,15)이렇게 작성해주시면 됩니다.

반응형
Posted by 보안 학생