[python]기초문법12

2 minute read

혼자 공부하는 파이썬 47강 - 특이한 이름의 함수

__ 함수는 특수한 경우에 자동으로 호출되는 함수

class Student:
        def __str__(self): #str(student) 했을때 자동으로 호출됨
                return "{} {}살".format(self.이름, self.나이)
        def __init__(self,name, age): 
                self.name = name
                self.age = age
        def __del__(self):
                print("객체가 소멸되었습니다")
        def show(self):
                print(self.name, self.age)

student = Student("윤인성", 3)
student.show()
print(str(student))
print(student.to_string()) 으로도 가능하긴함


크기 비교함수

class Student:
        
        def __init__(self,name, age): 
                self.name = name
                self.age = age
        def __eq__(self,other):
                return self.age == other.age
        def __ne__(self,other):
                return self.age != other.age
        def __gt__(self,other):
                return self.age > other.age
        def __ge__(self,other):
                return self.age >= other.age
        def __lt__(self,other):
                return self.age < other.age
        def __le__(self,other):
                return self.age <= other.age

student = Student("윤인성", 3)
print(student == student)
print(student != student)
print(student > student)
print(student >= student)
print(student < student)
print(student <= student)
#출력
True
False
False
True
False
True


혼자 공부하는 파이썬 48강 - 프로퍼티가 나올 때까지(+ 프라이빗 변수)

class Rect:
    def __init__(self,width,height):
        #예외처리
        if width <= 0 or height <= 0:
            raise Exception("너비와 높이는 음수가 나올 수 없습니다")
        self.__width = width
        self.__height = height
    def get_area(self):
        return self.width * self.height

rect = Rect(10,10)
print(rect.get_area())

변수명 앞에 __ 를 붙이면 프라이빗 변수가됨
처음 생성할때를 제외하고는 외부에서 접근할 수 없음


getter, setter 활용하기
필요에따라 선별적으로 만들면 됨
class Rect:
    def __init__(self,width,height):
        #예외처리
        if width <= 0 or height <= 0:
            raise Exception("너비와 높이는 음수가 나올 수 없습니다")
        self.__width = width
        self.__height = height
    def get_width(self):
        return self.__width
    def set_width(self,width):
        if width <= 0:
            raise Exception("너비는 음수가 나올 수 없습니다")
    def get_height(self):
        return self.__height
    def set_height(self,height):
        if height <= 0:
            raise Exception("높이는 음수가 나올 수 없습니다")
    def get_area(self):
        return self.width * self.height

rect = Rect(10,10)
print(rect.get_area())


혼자 공부하는 파이썬 49강 - 모듈 읽어 들이기

모듈 : 다른 사람이 만들어 둔 변수와 함수를 읽어들여서 사용할 수 있는 기능

  • 표준(내장) 모듈 : 파이썬에 기본적으로 내장되어 있는 모듈
  • 외부(외장) 모듈 : 내장되어 있지 않아서, 별도로 다운 받아서 사용하는 모듈
    모듈 읽어들이기(1) : __ import() 함수

math = import(“math”)

print(math.pi) #33.141592653589793
print(math.sin(10)) #-0.5440211108893699


모듈 읽어들이기(2) : import() 함수

import math


모듈 읽어들이기(3) : import as 구문
이름을 따로 지정해주어 다른변수와 이름이 중복되는 것을 방지할 수 있음

import math as 이름

모듈 읽어들이기(4) : from import 구문

from math import pi, sin #import 이하의 명칭만으로 접근하여 사용할 수 있다
from math import * (* 는 전부를 가져옴)

혼자 공부하는 파이썬 50강 - 기본적인 표준 모듈

sys모듈

import sys

sys.argv #명령 매개변수:인공지능, 알고리즘등에는 많이쓰임


datetime 모듈

import datetime
now = datetime.datetime.now() #datetime을 두번 입력하는것이 별로임

from datetime import datetime

now = datetime.now() #현재의 시간을 구할 수 있음

print(now.year)
print(now.month)
print(now.day)
print(now.hour)
print(now.minute)
print(now.second)

now = datetime()
()안에 특정 시점을 넣어서 사용할 수 있음


time모듈

time.sleep(2)
:2초만큼 프로그램이 잠시 정지됨


urllib 모듈

from urllib import request

request.urlopen(“http://hanbit.co.kr”)
content = target.read()
print(content)
print(content[:100]) #앞에서부터 100개만 출력됨(binary로 출력)

Leave a comment