숙제
1.
1. 대상은 id,host,port 세 가지 속성이 있다.도구create 정의id, 실례화 시 모든 대상에게 무작위로 id를 생성하여 id가 유일하도록 보증합니다.두 가지 실례화 방식을 제공한다. 첫째, 사용자가 host와port를 전송하는 방식, 둘째, 프로필에서 host와port를 읽고 실례화하는 방식.대상을 위한 맞춤형 방법,save 및 getobj_by_id,save는 자동으로 대상을 파일에 서열화할 수 있으며 파일 경로는 설정 파일의 DBPATH, 파일 이름은 id번호로 저장하기 전에 대상이 존재하는지 확인하고 존재하면 이상을 던집니다.get_obj_by_id 방법은 파일에서 대상을 반서열화하는 데 사용됩니다
HOST='127.0.0.1'
PORT=3306
DB_PATH=r'E:\CMS\aaa\db'
'''
from conf import settings
import uuid
import pickle
import os
class MySQL:
def __init__(self,host,port):
self.id=self.create_id()
self.host=host
self.port=port
def save(self):
if not self.is_exists:
raise PermissionError(' ')
file_path=r'%s%s%s' %(settings.DB_PATH,os.sep,self.id)
pickle.dump(self,open(file_path,'wb'))
@property
def is_exists(self):
tag=True
files=os.listdir(settings.DB_PATH)
for file in files:
file_abspath=r'%s%s%s' %(settings.DB_PATH,os.sep,file)
obj=pickle.load(open(file_abspath,'rb'))
if self.host == obj.host and self.port == obj.port:
tag=False
break
return tag
@staticmethod
def get_obj_by_id(id):
file_abspath = r'%s%s%s' % (settings.DB_PATH, os.sep, id)
return pickle.load(open(file_abspath,'rb'))
@staticmethod
def create_id():
return str(uuid.uuid1())
@classmethod
def from_conf(cls):
print(cls)
return cls(settings.HOST,settings.PORT)
# print(MySQL.from_conf) #>
conn=MySQL.from_conf()
conn.save()
conn1=MySQL('127.0.0.1',3306)
conn1.save() # PermissionError:
obj=MySQL.get_obj_by_id('7e6c5ec0-7e9f-11e7-9acc-408d5c2f84ca')
print(obj.host)
2. 하나의 종류를 정의한다. 원형은 반경, 둘레, 면적 등 속성이 있고 반경을 숨기고 둘레와 면적을 개방한다.
import math
class Circle:
def __init__(self): # ○
self.__bj = 2 #
# property
@property
def area(self): #
return math.pi * self.__bj**2
@property
def zc(self):
return 2*math.pi*self.__bj
tea1 = Circle()
print(tea1.area) #
print(tea1.zc) #
3. abc 모듈을 사용하여 아이폰 추상 클래스를 정의하고 구체적인 실현 클래스를 작성한다.
import abc
class Phone(metaclass=abc.ABCMeta):
@abc.abstractmethod
def play(self):
pass
@abc.abstractmethod
def photo_phone(self):
pass
class hongmi(Phone):
# ,
def play(self):
pass
def photo_phone(self):
pass
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.