Data Science and Data Proicessing

Rank Game Publisher
1 리니지M NCSOFT
2 리니지2M NCSOFT
3 Genshin Impact miHoYo Limited
4 기적의 검 4399 KOREA
5 R2M Webzen Inc.
6 KartRider Rush+ NEXON Company
7 바람의나라: 연 NEXON Company
8 블레이드&소울 레볼루션 Netmarble
9 V4 NEXON Company
10 라이즈 오브 킹덤즈 LilithGames
11 뮤 아크엔젤 Webzen Inc.
12 A3: 스틸얼라이브 Netmarble
13 그랑삼국 YOUZU(SINGAPORE)PTE.LTD.
14 AFK 아레나 LilithGames
15 라그나로크 오리진 GRAVITY Co., Ltd.
16 스테리테일 4399 KOREA
17 슬램덩크 DeNA HONG KONG LIMITED
18 리니지2 레볼루션 Netmarble
19 Empires & Puzzles: Epic Match 3 Small Giant Games
20 일루전 커넥트 ChangYou
21 FIFA ONLINE 4 M by EA SPORTS™ NEXON Company
22 Roblox Roblox Corporation
23 라루나 판타지 Eskyfun Entertainment
24 Lords Mobile: Kingdom Wars IGG.COM
25 Age of Z Origins Camel Games Limited
26 FIFA Mobile NEXON Company
27 PUBG MOBILE PUBG CORPORATION
28 Pmang Poker : Casino Royal NEOWIZ corp
29 마구마구 2020 Netmarble
30 메이플스토리M NEXON Company
31 Rise of Empires: Ice and Fire Long Tech Network Limited
32 Epic Seven Smilegate Megaport
33 Gardenscapes Playrix
34 가디언 테일즈 Kakao Games Corp.
35 검은사막 모바일 PEARL ABYSS
36 Summoners War Com2uS
37 황제라 칭하라 Clicktouch Co., Ltd.
38 Homescapes Playrix
39 한게임 포커 NHN BIGFOOT
40 Lord of Heroes CloverGames
41 Cookie Run: OvenBreak - Endless Running Platformer Devsisters Corporation
42 달빛조각사 Kakao Games Corp.
43 Random Dice: PvP Defense 111%
44 Gunship Battle Total Warfare JOYCITY Corp.
45 컴투스프로야구2020 Com2uS
46 Pokémon GO Niantic, Inc.
47 리버티레기온 Eyougame Inc.
48 동방불패 모바일 Perfect World Korea
49 궁3D WISH INTERACTIVE TECHNOLOGY LIMITED
50 Mafia City YOTTA GAMES PTE LTD

자습서 : 명령 줄에서 Jupyter 노트북 실행 중지

독립형 웹 앱으로 Jupyter Notebook 실행

Image for post
Justin Jairam 님이 찍은 사진뿡 빵뀨(허가)

Jupyter Notebook은 코드, 방정식, 분석 및 설명이 포함 된 사람이 읽을 수있는 문서를 생성 할 수있는 훌륭한 플랫폼을 제공합니다. 일부는 NBDev와 결합 할 때 강력한 개발이라고 생각합니다. 이러한 통합 도구의 경우 즉시 시작하는 것이 최선이 아닙니다. 사용할 때마다 명령 줄에서 Jupyter 웹 애플리케이션을 시작하고 토큰 또는 비밀번호를 입력해야합니다. 전체 웹 애플리케이션은 열려있는 해당 터미널 창에 의존합니다. 일부는 프로세스를 "악화"한 다음안돼터미널에서 분리 할 수 ​​있지만 가장 우아하고 유지 관리가 쉬운 솔루션은 아닙니다.

우리에게 Jupyter는 지속 가능한 웹 애플리케이션으로 실행되고 사용자 인증이 내장 된 Jupyter Notebook의 확장을 출시함으로써 이미이 문제에 대한 해결책을 제시했습니다. 맨 위에 체리를 추가하려면 Docker를 통해 관리하고 유지하여 격리 된 개발 환경을 허용 할 수 있습니다.

이 게시물이 끝날 때까지 JupyterHub의 기능을 활용하여 터미널없이 네트워크 내의 여러 장치에서 액세스 할 수있는 Jupyter Notebook 인스턴스 및보다 사용자 친화적 인 인증 방법에 액세스 할 것입니다.

전제 조건

Docker 및 명령 줄에 대한 기본 지식이 있으면이를 설정하는 데 도움이됩니다.

가지고있는 가장 강력한 장치와 하루 종일 켜져있는 장치에서이 작업을 수행하는 것이 좋습니다. 이 설정의 장점 중 하나는 네트워크의 모든 장치에서 Jupyter Notebook을 사용할 수 있지만 구성한 장치에서 모든 계산이 수행된다는 것입니다.

Jupyter 허브 란?

JupyterHub는 사용자 그룹에 노트북의 강력한 기능을 제공합니다. JupyterHub의 아이디어는 Jupyter 노트북의 사용을 기업, 강의실 및 대규모 사용자 그룹으로 확장하는 것이 었습니다. 그러나 Jupyter Notebook은 단일 개발자가 단일 노드에서 로컬 인스턴스로 실행해야합니다. 안타깝게도 JupyterHub의 유용성 및 확장 성과 로컬 Jupyter 노트북 실행의 단순성을 가질 수있는 중간 지점이 없었습니다. 즉, 지금까지입니다.

JupyterHub에는 기술적 복잡성의 오버 헤드가 거의 또는 전혀없이 단일 노트북을 생성하는 데 활용할 수있는 사전 빌드 된 Docker 이미지가 있습니다. Docker와 JupyterHub의 조합을 사용하여 언제 어디서나 동일한 URL에서 Jupyter Notebook에 액세스 할 것입니다.

건축물

JupyterHub 서버의 아키텍처는 JupyterHub 및 JupyterLab의 2 가지 서비스로 구성됩니다. JupyterHub는 진입 점이되고 모든 사용자에 대한 JupyterLab 인스턴스를 생성합니다. 이러한 각 서비스는 호스트에서 Docker 컨테이너로 존재합니다.

Image for post
JupyterLab 아키텍처 다이어그램 (작성자 별 이미지)

Docker 이미지 빌드

To build our at-home JupyterHub server we will use the pre-built Docker images of JupyterHub & JupyterLab.

Dockerfiles

JupyterHub Docker 이미지는 간단합니다.

FROM jupyterhub/jupyterhub:1.2# Copy the JupyterHub configuration in the container
COPY jupyterhub_config.py .
# Download script to automatically stop idle single-user servers
COPY cull_idle_servers.py .
# Install dependencies (for advanced authentication and spawning)
RUN pip install dockerspawner

사전 구축 된 JupyterHub Docker Image를 사용하고 자체 구성 파일을 추가하여 유휴 서버를 중지합니다.cull_idle_servers.py. 마지막으로 Docker를 통해 JupyterLab 인스턴스를 생성하기 위해 추가 패키지를 설치합니다.

Docker 작성

모든 것을 하나로 모으기 위해docker-compose.yml배포 및 구성을 정의하는 파일입니다.

version: '3'services:
# Configuration for Hub+Proxy
jupyterhub:
build: . # Build the container from this folder.
container_name: jupyterhub_hub # The service will use this container name.
volumes: # Give access to Docker socket.
- /var/run/docker.sock:/var/run/docker.sock
- jupyterhub_data:/srv/jupyterlab
environment: # Env variables passed to the Hub process.
DOCKER_JUPYTER_IMAGE: jupyter/tensorflow-notebook
DOCKER_NETWORK_NAME: ${COMPOSE_PROJECT_NAME}_default
HUB_IP: jupyterhub_hub
ports:
- 8000:8000
restart: unless-stopped
# Configuration for the single-user servers
jupyterlab:
image: jupyter/tensorflow-notebook
command: echo
volumes:
jupyterhub_data:

주목할 주요 환경 변수는 다음과 같습니다.DOCKER_JUPYTER_IMAGEDOCKER_NETWORK_NAME. JupyterHub는 환경 변수에 정의 된 이미지로 Jupyter Notebook을 만듭니다. Jupyter 이미지 선택에 대한 자세한 내용은 다음 Jupyter를 참조하세요.선적 서류 비치.

DOCKER_NETWORK_NAME서비스에서 사용하는 Docker 네트워크의 이름입니다. 이 네트워크는 Docker Compose에서 자동 이름을 가져 오지만 허브는 Jupyter 노트북 서버를 여기에 연결하기 위해이 이름을 알아야합니다. 네트워크 이름을 제어하기 위해 약간의 해킹을 사용합니다. 환경 변수 COMPOSE_PROJECT_NAME을 Docker Compose에 전달하고 _default를 추가하여 네트워크 이름을 얻습니다.

라는 파일을 만듭니다..env같은 디렉토리에docker-compose.yml파일을 열고 다음 내용을 추가하십시오.

COMPOSE_PROJECT_NAME=jupyter_hub

유휴 서버 중지

이것이 홈 설정이므로 유휴 인스턴스를 중지하여 시스템의 메모리를 보존 할 수 있기를 원합니다. JupyterHub에는 함께 실행할 수있는 서비스가 있으며 그중 하나는jupyterhub-idle-culler. 이 서비스는 장기간 유휴 상태 인 모든 인스턴스를 중지합니다.

이 서비스를 추가하려면 다음 이름의 새 파일을 만드십시오.cull_idle_servers.py내용을 복사하십시오.jupyterhub-idle-culler 프로젝트그것에.

`cull_idle_servers.py`가 Dockerfile과 동일한 폴더에 있는지 확인합니다.

JupyterHub 서비스에 대해 자세히 알아 보려면 공식선적 서류 비치그들에.

Jupyterhub 구성

마무리하려면 JupyterHub 인스턴스에 대한 볼륨 마운트, Docker 이미지, 서비스, 인증 등과 같은 구성 옵션을 정의해야합니다.

아래는 간단합니다jupyterhub_config.py내가 사용하는 구성 파일.

import os
import sys
c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner'
c.DockerSpawner.image = os.environ['DOCKER_JUPYTER_IMAGE']
c.DockerSpawner.network_name = os.environ['DOCKER_NETWORK_NAME']
c.JupyterHub.hub_connect_ip = os.environ['HUB_IP']
c.JupyterHub.hub_ip = "0.0.0.0" # Makes it accessible from anywhere on your network
c.JupyterHub.admin_access = Truec.JupyterHub.services = [
{
'name': 'cull_idle',
'admin': True,
'command': [sys.executable, 'cull_idle_servers.py', '--timeout=42000']
},
]
c.Spawner.default_url = '/lab'notebook_dir = os.environ.get('DOCKER_NOTEBOOK_DIR') or '/home/jovyan/work'
c.DockerSpawner.notebook_dir = notebook_dir
c.DockerSpawner.volumes = {
'/home/sidhu': '/home/jovyan/work'
}

다음 구성 옵션에 유의하십시오.

  • '명령': [sys.executable, 'cull_idle_servers.py', '--timeout = 42000']: 제한 시간은 유휴 Jupyter 인스턴스가 종료 될 때까지의 시간 (초)입니다.
  • c.Spawner.default_url = '/ lab': Jupyter Notebook 대신 Jupyterlab을 사용합니다. Jupyter Notebook을 사용하려면이 줄을 주석 처리하십시오.
  • '/ home / sidhu': '/ home / jovyan / work': 데스크탑에있는 모든 프로젝트와 노트북에 액세스 할 수 있도록 홈 디렉토리를 JupyterLab 홈 디렉토리에 마운트했습니다. 이를 통해 새 노트북을 생성하고 로컬 머신에 저장하고 Jupyter 노트북 Docker 컨테이너를 삭제해도 삭제되지 않는 경우에도 지속성을 확보 할 수 있습니다.

홈 디렉토리를 마운트하지 않으려면이 줄을 제거하고 변경하는 것을 잊지 마십시오.시두사용자 이름에.

서버 시작

서버를 시작하려면 다음을 실행하십시오.도커 구성 -d, 로 이동localhost : 8000브라우저에서 JupyterHub 방문 페이지를 볼 수 있습니다.

Image for post
JupyterHub 랜딩 페이지 스크린 샷 (작성자 별 이미지)

va 노트북, iPad 등과 같은 네트워크의 다른 장치에서 액세스하려면 다음을 실행하여 호스트 컴퓨터의 IP를 식별하십시오.ifconfig on Unix machines & ipconfigWindows에서.

Image for post
Ipconfig (작성자 별 이미지)

다른 장치에서 포트 8000에서 찾은 IP로 이동합니다.http : // IP : 8000JupyterHub 방문 페이지가 표시됩니다!

인증 중

그러면 서버에 인증하는 마지막 작업이 남습니다. LDAP 서버 또는 OAuth를 설정하지 않았으므로 JupyterHub는 PAM (Pluggable Authentication Module) 인증을 사용하여 사용자를 인증합니다. 즉, JupyterHub는 호스트 시스템의 사용자 이름과 비밀번호를 사용하여 인증합니다.

이를 활용하려면 JupyterHub Docker 컨테이너에 사용자를 만들어야합니다. 컨테이너에 스크립트를 배치하고 컨테이너를 시작할 때 실행하는 것과 같은 다른 방법이 있지만 연습으로 수동으로 수행합니다. 컨테이너를 해체하거나 다시 빌드하는 경우 사용자를 다시 만들어야합니다.

사용자 자격 증명을 스크립트 또는 Dockerfile에 하드 코딩하지 않는 것이 좋습니다.

1) JupyterLab 컨테이너 ID를 찾습니다.도커 ps -a

Image for post
JupyterLab 컨테이너 ID (작성자 별 이미지)

2) 컨테이너에 "SSH":docker exec -it $ YOUR_CONTAINER_ID bash

3) 사용자를 만들고 터미널 프롬프트에 따라 암호를 만듭니다.useradd $ YOUR_USERNAME

4) 자격 증명으로 로그인하면 설정이 완료됩니다!

이제 모든 장치에서 손 안에서 액세스 할 수있는 Jupyter Notebook 서버를 사용할 준비가되었습니다. 행복한 코딩!

피드백

내 게시물과 튜토리얼에 대한 모든 피드백을 환영합니다. 나에게 메시지를 보낼 수 있습니다.트위터또는 sidhuashton@gmail.com으로 이메일을 보내주십시오.

Tutorial: Stop Running Jupyter Notebooks from your Command Line

Run your Jupyter Notebook as a stand alone web app

Image for post
Photo taken by Justin Jairam from @jusspreme (with permission)

Jupyter Notebook provides a great platform to produce human-readable documents containing code, equations, analysis, and their descriptions. Some even consider it a powerful development when combining it with NBDev. For such an integral tool, the out of the box start up is not the best. Each use requires starting the Jupyter web application from the command line and entering your token or password. The entire web application relies on that terminal window being open. Some might “daemonize” the process and then use nohup to detach it from their terminal, but that’s not the most elegant and maintainable solution.

Lucky for us, Jupyter has already come up with a solution to this problem by coming out with an extension of Jupyter Notebooks that runs as a sustainable web application and has built-in user authentication. To add a cherry on top, it can be managed and sustained through Docker allowing for isolated development environments.

By the end of this post we will leverage the power of JupyterHub to access a Jupyter Notebook instance which can be accessed without a terminal, from multiple devices within your network, and a more user friendly authentication method.

Prerequisites

A basic knowledge of Docker and the command line would be beneficial in setting this up.

I recommend doing this on the most powerful device you have and one that is turned on for most of the day, preferably all day. One of the benefits of this setup is that you will be able to use Jupyter Notebook from any device on your network, but have all the computation happen on the device we configure.

What is Jupyter Hub

JupyterHub brings the power of notebooks to groups of users. The idea behind JupyterHub was to scale out the use of Jupyter Notebooks to enterprises, classrooms, and large groups of users. Jupyter Notebook, however, is supposed to run as a local instance, on a single node, by a single developer. Unfortunately, there was no middle ground to have the usability and scalability of JupyterHub and the simplicity of running a local Jupyter Notebook. That is, until now.

JupyterHub has pre-built Docker images that we can utilize to spawn a single notebook on a whim, with little to no overhead in technical complexity. We are going to use the combination of Docker and JupyterHub to access Jupyter Notebooks from anytime, anywhere, at the same URL.

Architecture

The architecture of our JupyterHub server will consist of 2 services: JupyterHub and JupyterLab. JupyterHub will be the entry point and will spawn JupyterLab instances for any user. Each of these services will exist as a Docker container on the host.

Image for post
JupyterLab Architecture Diagram (Image by Author)

Building the Docker Images

To build our at-home JupyterHub server we will use the pre-built Docker images of JupyterHub & JupyterLab.

Dockerfiles

The JupyterHub Docker image is simple.

FROM jupyterhub/jupyterhub:1.2# Copy the JupyterHub configuration in the container
COPY jupyterhub_config.py .
# Download script to automatically stop idle single-user servers
COPY cull_idle_servers.py .
# Install dependencies (for advanced authentication and spawning)
RUN pip install dockerspawner

We use the pre-built JupyterHub Docker Image and add our own configuration file to stop idle servers, cull_idle_servers.py. Lastly, we install additional packages to spawn JupyterLab instances via Docker.

Docker Compose

To bring everything together, let’s create a docker-compose.yml file to define our deployments and configuration.

version: '3'services:
# Configuration for Hub+Proxy
jupyterhub:
build: . # Build the container from this folder.
container_name: jupyterhub_hub # The service will use this container name.
volumes: # Give access to Docker socket.
- /var/run/docker.sock:/var/run/docker.sock
- jupyterhub_data:/srv/jupyterlab
environment: # Env variables passed to the Hub process.
DOCKER_JUPYTER_IMAGE: jupyter/tensorflow-notebook
DOCKER_NETWORK_NAME: ${COMPOSE_PROJECT_NAME}_default
HUB_IP: jupyterhub_hub
ports:
- 8000:8000
restart: unless-stopped
# Configuration for the single-user servers
jupyterlab:
image: jupyter/tensorflow-notebook
command: echo
volumes:
jupyterhub_data:

The key environment variables to note are DOCKER_JUPYTER_IMAGE and DOCKER_NETWORK_NAME. JupyterHub will create Jupyter Notebooks with the images defined in the environment variable.For more information on selecting Jupyter images you can visit the following Jupyter documentation.

DOCKER_NETWORK_NAME is the name of the Docker network used by the services. This network gets an automatic name from Docker Compose, but the Hub needs to know this name to connect the Jupyter Notebook servers to it. To control the network name we use a little hack: we pass an environment variable COMPOSE_PROJECT_NAME to Docker Compose, and the network name is obtained by appending _default to it.

Create a file called .env in the same directory as the docker-compose.yml file and add the following contents:

COMPOSE_PROJECT_NAME=jupyter_hub

Stopping Idle Servers

Since this is our home setup, we want to be able to stop idle instances to preserve memory on our machine. JupyterHub has services that can run along side it and one of them being jupyterhub-idle-culler. This service stops any instances that are idle for a prolonged duration.

To add this servive, create a new file called cull_idle_servers.py and copy the contents of jupyterhub-idle-culler project into it.

Ensure `cull_idle_servers.py` is in the same folder as the Dockerfile.

To find out more about JupyterHub services, check out their official documentation on them.

Jupyterhub Config

To finish off, we need to define configuration options such, volume mounts, Docker images, services, authentication, etc. for our JupyterHub instance.

Below is a simple jupyterhub_config.py configuration file I use.

import os
import sys
c.JupyterHub.spawner_class = 'dockerspawner.DockerSpawner'
c.DockerSpawner.image = os.environ['DOCKER_JUPYTER_IMAGE']
c.DockerSpawner.network_name = os.environ['DOCKER_NETWORK_NAME']
c.JupyterHub.hub_connect_ip = os.environ['HUB_IP']
c.JupyterHub.hub_ip = "0.0.0.0" # Makes it accessible from anywhere on your network
c.JupyterHub.admin_access = Truec.JupyterHub.services = [
{
'name': 'cull_idle',
'admin': True,
'command': [sys.executable, 'cull_idle_servers.py', '--timeout=42000']
},
]
c.Spawner.default_url = '/lab'notebook_dir = os.environ.get('DOCKER_NOTEBOOK_DIR') or '/home/jovyan/work'
c.DockerSpawner.notebook_dir = notebook_dir
c.DockerSpawner.volumes = {
'/home/sidhu': '/home/jovyan/work'
}

Take note of the following configuration options:

  • 'command': [sys.executable, 'cull_idle_servers.py', '--timeout=42000'] : Timeout is the number of seconds until an idle Jupyter instance is shut down.
  • c.Spawner.default_url = '/lab': Uses Jupyterlab instead of Jupyter Notebook. Comment out this line to use Jupyter Notebook.
  • '/home/sidhu': '/home/jovyan/work': I mounted my home directory to the JupyterLab home directory to have access to any projects and notebooks I have on my Desktop. This also allows us to achieve persistence in the case we create new notebooks, they are saved to our local machine and will not get deleted if our Jupyter Notebook Docker container is deleted.

Remove this line if you do not wish to mount your home directory and do not forget to change sidhu to your user name.

Start the Server

To start the server, simply run docker-compose up -d, navigate to localhost:8000 in your browser and you should be able to see the JupyterHub landing page.

Image for post
JupyterHub Landing Page Screenshot (Image by Author)

To access it on other devices on your network such asva laptop, an iPad, etc, identify the IP of the host machine by running ifconfig on Unix machines & ipconfig on Windows.

Image for post
Ipconfig (Image by Author)

From your other device, navigate to the IP you found on port 8000: http://IP:8000 and you should see the JupyterHub landing page!

Authenticating

That leaves us with the last task of authenticating to the server. Since we did not set up a LDAP server or OAuth, JupyterHub will use PAM (Pluggable Authentication Module) authentication to authenticate users. This means JupyterHub uses the user name and passwords of the host machine to authenticate.

To make use of this, we will have to create a user on the JupyterHub Docker container. There are other ways of doing this such as having a script placed on the container and executed at container start up but we will do it manually as an exercise. If you tear down or rebuild the container you will have to recreate users.

I do not recommend hard coding user credentials into any script or Dockerfile.

1) Find the JupyterLab container ID: docker ps -a

Image for post
JupyterLab Container ID (Image by Author)

2) “SSH” into the container: docker exec -it $YOUR_CONTAINER_ID bash

3) Create a user and follow the terminal prompts to create a password: useradd $YOUR_USERNAME

4) Sign in with the credentials and you’re all set!

You now have a ready to go Jupyter Notebook server that can be accessed from any device, in the palm of your hands! Happy Coding!

Feedback

I welcome any and all feedback about any of my posts and tutorials. You can message me on twitter or e-mail me at sidhuashton@gmail.com.

경기도 수원시 장안구 연무로13번길 73, 2층202호 [집합건물 연와조 44.40㎡]

항목
경매번호 2020타경9717
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 41,000,000
경매가 41,000,000(100%)
유찰여부 신건

  • 대지권이 없는 건물만의 매각이며, 이 사건 건물의 철거를 명하는 확정판결(수원지방법원 2014가단32072)이 있음

<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 팔달구 권광로 373, 104동 22층2201호 (우만동,월드메르디앙아파트) [집합건물 철근콘크리트조 84.237㎡]

항목
경매번호 2020타경9205
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 601,000,000
경매가 601,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 109건
- 동일 평수 거래 수: 44건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-10 84.237 16 59000
2020-10-10 84.237 18 59000
2020-10-21 84.237 7 58000
2020-09-17 84.552 24 55000
2020-09-26 84.237 19 56500
2020-09-26 84.237 15 58000
2020-09-06 84.237 17 56900
2020-08-08 84.552 14 57000
2020-07-17 84.237 8 58500
2020-07-17 84.237 4 57500
2020-06-11 84.237 8 59500
2020-06-18 84.237 13 60000
2020-06-23 84.237 24 56000
2020-05-02 84.237 28 56500
2020-05-28 84.237 30 56700
2020-04-10 84.552 16 57800
2020-03-20 84.237 16 59500
2020-03-09 84.237 17 60000
2020-02-15 84.552 9 55000
2020-02-19 84.237 26 60000
2020-02-08 84.552 17 56500
2020-01-10 84.237 7 55500
2020-01-15 84.237 17 50000
2020-01-16 84.237 23 55000
2020-01-17 84.237 2 46000
2020-01-21 84.552 27 54500
2020-01-23 84.237 25 59500
2019-12-13 84.237 4 45300
2019-12-30 84.237 9 46000
2019-12-04 84.237 8 46500
2019-12-09 84.237 17 46300
2019-11-14 84.237 24 45000
2019-11-16 84.552 9 40500
2019-11-20 84.552 7 41600
2019-11-21 84.237 15 44000
2019-11-21 84.237 18 46100
2019-11-21 84.237 19 45000
2019-11-30 84.237 22 44500
2019-11-30 84.552 27 41000
2019-11-04 84.237 8 45000
2019-10-10 84.237 2 41600
2019-10-19 84.237 15 45000
2019-10-03 84.237 25 45700
2019-10-31 84.237 10 45600






경기도 수원시 권선구 권광로27번길 22, 2동 2층209호 (권선동,신현대아파트) [집합건물 철근콘크리트조 84.99㎡]

항목
경매번호 2020타경6794
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 260,000,000
경매가 260,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 20건
- 동일 평수 거래 수: 20건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-21 84.99 8 27750
2020-09-09 84.99 10 27500
2020-08-18 84.99 4 25500
2020-08-25 84.99 7 28000
2020-06-17 84.99 7 26500
2020-06-26 84.99 8 26000
2020-06-26 84.99 10 28700
2020-05-04 84.99 11 29900
2020-04-16 84.99 5 24500
2020-03-16 84.99 4 26000
2020-02-11 84.99 8 23800
2020-02-12 84.99 8 24800
2020-02-12 84.99 6 25500
2020-02-14 84.99 8 24500
2020-02-19 84.99 2 24000
2020-02-24 84.99 10 26500
2020-02-07 84.99 10 23800
2020-02-07 84.99 7 24000
2020-01-17 84.99 5 23000
2019-12-12 84.99 2 24500






경기도 수원시 장안구 파장천로 18-2, 5층502호 (파장동,온리유빌라1) [집합건물 철근콘크리트구조 46.63㎡]

항목
경매번호 2020타경6732
경매날짜 2020.10.28
법원 수원지방법원
담당 경매5계
감정평가금액 175,000,000
경매가 85,750,000(49%)
유찰여부 유찰\t2회


<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 권선구 정조로 432, 105동 2층210호 [집합건물 철근콘크리트조 46.68㎡ 2분의 1 김영균지분 전부]

항목
경매번호 2020타경6114
경매날짜 2020.10.28
법원 수원지방법원
담당 경매5계
감정평가금액 110,000,000
경매가 110,000,000(100%)
유찰여부 신건

  • 지분매각, 공유자 우선매수신고 제한있음(우선매수신청을 한 공유자는 당해 매각기일 종결 전까지 보증금을 제공하여야 하며, 매수신청권리를 행사하지 않는 경우에는 차회 기일부터는 우선권이 없음)

<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 영통구 영통로290번길 25, 504동 18층1803호 (영통동,신나무실주공아파트) [집합건물 철근콘크리트조 59.99㎡]

항목
경매번호 2020타경60279
경매날짜 2020.11.04
법원 수원지방법원
담당 경매6계
감정평가금액 283,000,000
경매가 283,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 318건
- 동일 평수 거래 수: 218건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-17 59.99 11 35000
2020-10-09 59.99 4 34000
2020-09-19 59.99 5 30950
2020-09-24 59.99 20 31000
2020-09-25 59.99 12 35900
2020-09-26 59.99 11 32000
2020-09-28 59.99 5 32000
2020-09-29 59.99 13 34500
2020-09-08 59.99 7 32000
2020-08-12 59.99 10 29000
2020-08-21 59.99 7 34900
2020-08-29 59.99 8 34200
2020-07-02 59.99 14 35000
2020-07-28 59.99 5 28000
2020-07-03 59.99 14 28500
2020-07-08 59.99 17 34000
2020-06-01 59.99 8 28700
2020-06-01 59.99 9 29000
2020-06-10 59.99 6 29000
2020-06-11 59.99 17 29800
2020-06-13 59.99 14 29800
2020-06-13 59.99 10 29990
2020-06-13 59.99 2 26800
2020-06-13 59.99 1 26000
2020-06-13 59.99 12 29000
2020-06-15 59.99 8 32500
2020-06-15 59.99 8 33000
2020-06-16 59.99 2 27500
2020-06-16 59.94 19 30800
2020-06-17 59.99 14 29000
2020-06-02 59.94 12 27500
2020-06-02 59.94 13 27800
2020-06-20 59.99 12 31500
2020-06-23 59.99 10 31000
2020-06-24 59.99 18 30500
2020-06-25 59.99 11 29900
2020-06-26 59.99 12 31900
2020-06-03 59.99 15 29000
2020-06-03 59.99 17 30000
2020-06-06 59.99 9 28000
2020-06-08 59.99 11 29990
2020-06-09 59.99 9 29000
2020-05-01 59.99 6 28000
2020-05-01 59.99 15 29000
2020-05-01 59.99 1 26200
2020-05-11 59.99 9 27500
2020-05-13 59.99 1 24700
2020-05-14 59.99 6 27500
2020-05-16 59.99 17 29100
2020-05-16 59.99 17 28300
2020-05-16 59.99 18 27800
2020-05-02 59.94 14 27500
2020-05-02 59.99 12 29000
2020-05-22 59.99 14 26000
2020-05-24 59.99 10 28300
2020-05-30 59.99 1 26500
2020-05-30 59.99 4 28000
2020-05-30 59.99 3 28000
2020-05-04 59.99 14 28000
2020-05-04 59.99 15 28000
2020-05-05 59.99 17 28800
2020-05-05 59.99 4 28000
2020-05-06 59.99 17 29000
2020-05-07 59.99 13 29000
2020-05-09 59.99 10 28000
2020-04-17 59.99 5 27950
2020-04-23 59.99 18 26300
2020-04-27 59.99 9 28000
2020-04-28 59.99 16 27000
2020-04-28 59.99 9 28500
2020-04-30 59.99 15 28000
2020-04-04 59.99 3 26900
2020-04-04 59.99 14 28000
2020-03-10 59.99 8 26300
2020-03-13 59.96 3 25900
2020-03-17 59.99 11 29150
2020-03-23 59.99 14 29000
2020-03-23 59.99 16 29800
2020-03-26 59.94 10 22000
2020-03-29 59.99 8 29200
2020-03-03 59.99 17 30000
2020-03-31 59.99 11 29990
2020-03-05 59.99 5 27300
2020-02-01 59.99 10 28000
2020-02-01 59.99 2 23500
2020-02-01 59.99 9 26000
2020-02-10 59.99 14 28000
2020-02-11 59.99 4 27000
2020-02-11 59.96 15 24000
2020-02-11 59.99 9 28500
2020-02-11 59.99 2 22000
2020-02-11 59.99 8 30000
2020-02-11 59.99 9 28000
2020-02-12 59.99 2 25300
2020-02-12 59.99 4 27800
2020-02-13 59.96 7 25500
2020-02-14 59.99 6 27000
2020-02-14 59.99 11 27000
2020-02-14 59.99 11 27800
2020-02-15 59.96 5 24500
2020-02-15 59.99 1 23000
2020-02-15 59.99 15 29800
2020-02-17 59.99 15 26800
2020-02-17 59.96 9 25300
2020-02-17 59.99 7 27500
2020-02-17 59.99 7 27000
2020-02-18 59.96 3 27000
2020-02-19 59.96 15 20000
2020-02-19 59.96 9 26700
2020-02-19 59.99 9 26500
2020-02-02 59.99 18 25000
2020-02-21 59.99 3 26400
2020-02-22 59.99 11 28400
2020-02-28 59.99 14 30000
2020-02-03 59.96 9 23500
2020-02-04 59.96 2 21000
2020-02-04 59.99 4 26500
2020-02-05 59.99 15 27000
2020-02-05 59.99 4 25750
2020-02-05 59.99 3 27500
2020-02-05 59.99 16 25800
2020-02-06 59.99 7 28000
2020-02-06 59.99 6 26000
2020-02-07 59.99 4 25000
2020-02-07 59.99 18 25000
2020-02-07 59.99 8 29500
2020-02-07 59.99 7 23500
2020-02-08 59.99 6 29300
2020-01-10 59.99 7 24000
2020-01-11 59.99 16 23500
2020-01-14 59.99 13 26000
2020-01-14 59.99 7 21200
2020-01-15 59.99 6 24000
2020-01-16 59.99 3 23500
2020-01-17 59.99 18 25200
2020-01-17 59.96 3 22300
2020-01-17 59.96 13 23500
2020-01-18 59.99 10 25000
2020-01-18 59.99 13 23000
2020-01-18 59.99 12 23000
2020-01-02 59.99 3 22000
2020-01-02 59.94 16 22000
2020-01-20 59.99 13 24000
2020-01-21 59.99 17 25000
2020-01-21 59.99 13 23350
2020-01-21 59.99 13 26000
2020-01-21 59.99 18 23500
2020-01-22 59.99 16 23500
2020-01-23 59.99 17 26000
2020-01-23 59.99 15 24300
2020-01-23 59.99 1 22500
2020-01-28 59.99 2 24500
2020-01-28 59.99 15 26000
2020-01-28 59.99 9 25000
2020-01-29 59.99 13 24800
2020-01-29 59.99 16 26000
2020-01-29 59.99 14 23500
2020-01-03 59.99 14 24000
2020-01-30 59.99 4 24000
2020-01-30 59.99 4 24000
2020-01-31 59.99 5 25500
2020-01-31 59.99 5 24500
2020-01-04 59.99 16 22950
2020-01-04 59.99 11 24900
2020-01-06 59.96 12 23400
2020-01-07 59.99 16 25000
2019-12-10 59.99 8 23300
2019-12-10 59.94 5 20800
2019-12-13 59.99 8 22800
2019-12-13 59.99 15 22500
2019-12-14 59.94 6 21000
2019-12-16 59.99 7 23900
2019-12-17 59.99 11 22200
2019-12-18 59.96 11 21300
2019-12-19 59.99 1 19800
2019-12-02 59.99 4 24000
2019-12-20 59.99 4 20000
2019-12-20 59.99 5 22500
2019-12-20 59.94 10 21000
2019-12-21 59.99 2 21000
2019-12-23 59.99 17 23000
2019-12-23 59.99 12 23000
2019-12-24 59.99 17 22500
2019-12-24 59.96 7 23500
2019-12-24 59.99 19 23000
2019-12-25 59.99 11 24500
2019-12-25 59.94 8 21800
2019-12-27 59.99 17 23500
2019-12-28 59.96 7 22000
2019-12-03 59.99 10 22800
2019-12-03 59.99 17 23500
2019-12-31 59.99 1 20000
2019-12-31 59.99 1 21000
2019-12-31 59.99 7 23000
2019-12-06 59.96 13 21300
2019-11-14 59.99 9 22350
2019-11-16 59.96 4 20000
2019-11-02 59.99 1 20600
2019-11-02 59.99 11 24500
2019-11-21 59.99 8 22000
2019-11-24 59.99 11 22900
2019-11-26 59.99 11 22700
2019-11-27 59.99 5 22000
2019-11-27 59.99 10 22000
2019-11-29 59.96 5 20450
2019-11-30 59.99 4 22000
2019-11-30 59.99 16 23500
2019-11-05 59.99 5 21900
2019-11-08 59.99 9 22000
2019-10-01 59.99 8 21000
2019-10-19 59.99 11 22000
2019-10-20 59.96 6 19850
2019-10-21 59.99 4 21000
2019-10-25 59.99 8 22700
2019-10-29 59.99 17 22000
2019-10-03 59.99 3 20300
2019-10-05 59.99 5 20500
2019-10-08 59.99 12 22300






경기도 수원시 장안구 장안로427번길 25, 2층201호 [집합건물 철근콘크리트벽식조 81.06㎡]

항목
경매번호 2020타경59545
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 192,000,000
경매가 134,400,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 권선구 탑동로3번길 58-15, 102동 6층601호 (탑동,청우아파트) [집합건물 철근콘크리트구조 73.52㎡]

항목
경매번호 2020타경59057
경매날짜 2020.11.03
법원 수원지방법원
담당 경매4계
감정평가금액 226,000,000
경매가 226,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 1건
- 동일 평수 거래 수: 1건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-06-10 73.52 5 19700






경기도 수원시 영통구 영통로173번길 37, 102동 17층1704호 (망포동,망포역마을쌍용아파트) [집합건물 철근콘크리트조 124.571㎡]

항목
경매번호 2020타경58436
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 568,000,000
경매가 397,600,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 66건
- 동일 평수 거래 수: 20건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-20 124.571 5 54000
2020-09-14 124.571 17 55000
2020-09-14 124.571 15 53000
2020-09-17 124.571 8 52500
2020-09-19 124.571 15 54000
2020-09-19 124.571 11 54500
2020-06-26 124.571 20 51500
2020-02-17 124.571 4 49000
2020-01-20 124.571 20 43000
2019-12-16 124.571 4 40000
2019-11-16 124.571 3 34500
2019-11-18 124.571 12 39000
2019-11-02 124.571 5 37500
2019-11-22 124.571 4 37000
2019-11-04 124.571 16 38000
2019-10-11 124.571 1 33500
2019-10-14 124.571 7 38900
2019-10-19 124.571 5 38500
2019-10-29 124.571 7 38700
2019-10-05 124.571 13 37900






경기도 수원시 장안구 화산로285번길 12, 101동 11층1108호 (율전동,화남아파트) [집합건물 철근콘크리트 벽식구조 59.93㎡]

항목
경매번호 2020타경57792
경매날짜 2020.11.03
법원 수원지방법원
담당 경매4계
감정평가금액 228,000,000
경매가 228,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 26건
- 동일 평수 거래 수: 17건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-07 59.93 20 23500
2020-08-12 59.93 4 23000
2020-08-07 59.93 20 23900
2020-06-20 59.93 10 23800
2020-05-31 59.93 12 23300
2020-04-15 59.93 2 20050
2020-02-01 59.93 20 19900
2020-02-11 59.93 7 21300
2020-02-16 59.93 16 20350
2020-02-17 59.93 7 19500
2020-02-19 59.93 17 20000
2020-02-23 59.93 14 20100
2020-02-24 59.93 14 22500
2020-01-17 59.93 7 19800
2019-12-28 59.93 10 20000
2019-11-30 59.93 9 19900
2019-10-30 59.93 17 19500






경기도 수원시 권선구 경수대로302번길 22, 102동 2층202호 (권선동,권선한양아파트) [집합건물 철근콘크리트 피.씨조 40.36㎡]

항목
경매번호 2020타경55901
경매날짜 2020.11.04
법원 수원지방법원
담당 경매6계
감정평가금액 160,000,000
경매가 112,000,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 65건
- 동일 평수 거래 수: 43건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-16 40.36 6 16700
2020-09-05 40.36 11 17000
2020-09-05 40.36 11 15700
2020-08-10 40.36 9 16500
2020-08-12 40.36 6 16000
2020-08-04 40.36 2 14400
2020-07-02 40.36 10 15500
2020-07-08 40.36 10 16050
2020-07-08 40.36 4 15200
2020-06-12 40.36 1 14200
2020-06-13 40.36 4 15800
2020-05-18 40.36 7 16500
2020-05-02 40.36 3 16000
2020-05-04 40.36 1 14000
2020-05-08 40.36 6 16100
2020-04-15 40.36 12 16200
2020-04-06 40.36 12 16000
2020-03-10 40.36 11 16000
2020-03-11 40.36 3 15500
2020-03-04 40.36 6 16000
2020-02-10 40.36 2 15000
2020-02-10 40.36 2 15000
2020-02-10 40.36 10 15200
2020-02-11 40.36 4 15500
2020-02-12 40.36 7 16200
2020-02-12 40.36 9 16000
2020-02-14 40.36 5 15900
2020-02-15 40.36 3 15500
2020-02-17 40.36 7 16000
2020-02-17 40.36 11 16300
2020-02-18 40.36 9 16400
2020-02-18 40.36 6 16000
2020-02-19 40.36 3 16000
2020-02-05 40.36 9 15500
2020-02-06 40.36 1 12900
2020-01-28 40.36 5 14400
2019-12-17 40.36 3 14800
2019-12-20 40.36 4 14000
2019-12-23 40.36 12 14000
2019-12-25 40.36 1 12450
2019-11-27 40.36 10 13500
2019-11-28 40.36 6 15000
2019-10-09 40.36 13 14100






경기도 수원시 권선구 구운로47번길 59, 102동 9층901호 (구운동,서수원엠코타운르본느) [집합건물 철근콘크리트구조 84.8116㎡ 2분의 1 오금례 지분 전부]

항목
경매번호 2020타경5494
경매날짜 2020.10.27
법원 수원지방법원
담당 경매2계
감정평가금액 145,500,000
경매가 145,500,000(100%)
유찰여부 신건

  • 1.지분매각임. 2.공유자 우선매수신고 제한있음(공유자의 우선매수권(민사집행법 제140조) 행사에 따른 매수신고가 매수보증금의 미납으로 실효되는 경우, 그 공유자는 해당 부동산의 다음 매각기일에서는 이후 우선매수권을 행사할 수 없음)

<최근 1년 실거래가 정보>
- 총 거래 수: 32건
- 동일 평수 거래 수: 24건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-17 84.9194 5 29000
2020-09-19 84.9194 9 28000
2020-07-29 84.903 8 29500
2020-07-03 84.9194 5 26800
2020-07-08 84.8166 8 29200
2020-06-20 84.903 8 29000
2020-06-29 84.903 13 29000
2020-04-10 84.903 1 26500
2020-04-22 84.903 2 27100
2020-04-23 84.8166 6 28500
2020-04-30 84.8166 11 28500
2020-02-10 84.9194 8 26700
2020-02-15 84.903 8 27000
2020-02-15 84.8166 3 26800
2020-02-20 84.903 5 27400
2020-02-06 84.8166 4 28000
2020-01-13 84.903 4 26200
2020-01-22 84.903 12 27900
2020-01-09 84.903 11 25800
2019-12-01 84.9194 4 25000
2019-12-21 84.903 7 27000
2019-11-13 84.8166 9 27400
2019-11-22 84.8166 3 26500
2019-10-21 84.8166 9 26300






경기도 수원시 장안구 정자천로188번길 71-21, 101동 10층1002호 (정자동,현대아파트) [집합건물 철근콘크리트조 84.94㎡]

항목
경매번호 2020타경51107
경매날짜 2020.11.03
법원 수원지방법원
담당 경매4계
감정평가금액 241,000,000
경매가 168,700,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 15건
- 동일 평수 거래 수: 15건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-08-13 84.94 6 25000
2020-08-18 84.94 2 25000
2020-08-28 84.94 8 23000
2020-07-13 84.53 4 22300
2020-06-15 84.94 6 26300
2020-06-17 84.94 3 24000
2020-06-17 84.94 2 23300
2020-06-25 84.94 3 24000
2020-05-11 84.94 3 23500
2020-04-20 84.53 8 22500
2020-02-12 84.53 1 20300
2020-02-25 84.94 5 23300
2020-02-29 84.94 5 25000
2020-02-08 84.94 7 24000
2019-12-22 84.94 3 20500






경기도 수원시 권선구 동수원로145번길 24, 210동 11층1102호 (권선동,수원아이파크시티2단지) [집합건물 철근콘크리트구조 148.982㎡]

항목
경매번호 2020타경2105
경매날짜 2020.10.27
법원 수원지방법원
담당 경매2계
감정평가금액 742,000,000
경매가 742,000,000(100%)
유찰여부 신건

  • 대지권 미등기이나 최저매각가격에 대지권가격이 포함되었으며 소유자가 대지 지분에 대해 분양대금을 모두 납부한 것으로 보임.(신청채권자가 제출한 공급계약서 참조함)

<최근 1년 실거래가 정보>
- 총 거래 수: 140건
- 동일 평수 거래 수: 10건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-08-25 148.982 13 82000
2020-07-09 148.982 3 75000
2020-06-12 148.982 6 75000
2020-06-12 148.982 5 75000
2020-04-18 148.982 3 65000
2020-02-07 148.982 8 69000
2019-12-10 148.982 12 69000
2019-12-16 148.982 10 64700
2019-12-21 148.982 13 67000
2019-10-11 148.982 12 59900






경기도 수원시 영통구 매영로310번길 12, 541동 2층201호 (영통동,쌍용아파트) [집합건물 철근콘크리트 벽식구조 59.965㎡]

항목
경매번호 2020타경178,2020타경57228(중복)
경매날짜 2020.11.05
법원 수원지방법원
담당 경매3계
감정평가금액 366,000,000
경매가 366,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 253건
- 동일 평수 거래 수: 253건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-12 59.965 2 29200
2020-09-21 59.965 11 40000
2020-09-23 59.965 6 39000
2020-09-12 59.965 15 37500
2020-09-14 59.965 12 36000
2020-09-18 59.965 9 38300
2020-09-17 59.965 4 39000
2020-08-13 59.965 13 36000
2020-08-21 59.965 3 38500
2020-08-25 59.965 4 38800
2020-07-02 59.965 11 39000
2020-07-02 59.965 18 23000
2020-07-30 59.965 4 37000
2020-07-13 59.965 15 38300
2020-07-03 59.965 7 37900
2020-07-23 59.965 5 36900
2020-06-10 59.965 9 37500
2020-06-20 59.965 4 37500
2020-06-16 59.965 6 37800
2020-06-15 59.965 13 36500
2020-06-26 59.965 12 39800
2020-06-15 59.965 14 37500
2020-06-29 59.965 9 38400
2020-05-02 59.965 11 34700
2020-05-28 59.965 6 36400
2020-05-30 59.965 19 43000
2020-05-15 59.965 12 33200
2020-05-16 59.965 12 32000
2020-05-02 59.965 2 29900
2020-05-24 59.965 20 36000
2020-05-27 59.965 6 32000
2020-05-05 59.965 3 32000
2020-05-06 59.965 10 34000
2020-05-01 59.965 14 31500
2020-05-05 59.965 3 32000
2020-05-08 59.965 8 33800
2020-05-12 59.965 16 33000
2020-05-16 59.965 12 33500
2020-05-21 59.965 13 35500
2020-05-30 59.965 5 35000
2020-05-30 59.965 5 34000
2020-04-17 59.965 1 26000
2020-04-29 59.965 1 28500
2020-04-22 59.965 19 34000
2020-04-30 59.965 13 31900
2020-04-30 59.965 7 33000
2020-04-08 59.965 5 28400
2020-04-09 59.965 17 31500
2020-04-16 59.965 4 31600
2020-04-16 59.965 16 32000
2020-04-17 59.965 6 32300
2020-04-30 59.965 16 33500
2020-04-08 59.965 14 32700
2020-04-02 59.965 15 33000
2020-04-22 59.965 3 30600
2020-04-27 59.965 15 33000
2020-03-02 59.965 5 30000
2020-03-20 59.965 18 28500
2020-03-23 59.965 7 31000
2020-03-09 59.965 5 28600
2020-03-23 59.965 2 29700
2020-03-09 59.965 13 29200
2020-03-09 59.965 15 29200
2020-03-12 59.965 9 32000
2020-03-21 59.965 19 29500
2020-02-01 59.965 15 29000
2020-02-10 59.965 2 26000
2020-02-10 59.965 12 29000
2020-02-12 59.965 13 31800
2020-02-13 59.965 1 26000
2020-02-15 59.965 19 31500
2020-02-15 59.965 7 32000
2020-02-15 59.965 4 32000
2020-02-17 59.965 12 32700
2020-02-01 59.965 4 24800
2020-02-01 59.965 14 30500
2020-02-10 59.965 14 35500
2020-02-13 59.965 15 31500
2020-02-15 59.965 7 28600
2020-02-15 59.965 12 32000
2020-02-17 59.965 4 30500
2020-02-20 59.965 11 28000
2020-02-26 59.965 10 30700
2020-02-03 59.965 10 30600
2020-02-06 59.965 5 31000
2020-02-07 59.965 15 31000
2020-02-14 59.965 4 30600
2020-02-15 59.965 19 32800
2020-02-17 59.965 11 29500
2020-02-21 59.965 11 32400
2020-02-04 59.965 16 26500
2020-02-10 59.965 1 25000
2020-02-15 59.965 16 32000
2020-02-17 59.965 10 32800
2020-02-18 59.965 14 32000
2020-02-21 59.965 11 32000
2020-02-24 59.965 12 32800
2020-02-29 59.965 9 31500
2020-02-04 59.965 1 25500
2020-02-05 59.965 17 28000
2020-01-13 59.965 4 26500
2020-01-16 59.965 13 30000
2020-01-17 59.965 11 30750
2020-01-22 59.965 16 30700
2020-01-22 59.965 15 29000
2020-01-28 59.965 6 29000
2020-01-31 59.965 18 31000
2020-01-09 59.965 8 30000
2020-01-09 59.965 8 29300
2020-01-14 59.965 4 27000
2020-01-30 59.965 7 30000
2020-01-04 59.965 8 29500
2020-01-08 59.965 1 23000
2020-01-10 59.965 12 29800
2020-01-16 59.965 9 28950
2020-01-20 59.965 8 30000
2020-01-06 59.965 7 28500
2020-01-06 59.965 6 28500
2020-01-06 59.965 7 28500
2020-01-09 59.965 2 26000
2020-01-11 59.965 9 28500
2020-01-11 59.965 15 30300
2020-01-11 59.965 14 29800
2020-01-17 59.965 8 29000
2020-01-06 59.965 5 25500
2020-01-06 59.965 18 28400
2020-01-07 59.965 8 28000
2020-01-09 59.965 13 29700
2019-12-18 59.965 1 24000
2019-12-19 59.965 18 29000
2019-12-21 59.965 14 28400
2019-12-23 59.965 11 28400
2019-12-23 59.965 6 28000
2019-12-23 59.965 14 28700
2019-12-24 59.965 9 29500
2019-12-05 59.965 13 24500
2019-12-07 59.965 1 22000
2019-12-09 59.965 18 26400
2019-12-10 59.965 18 28500
2019-12-16 59.965 1 26500
2019-12-16 59.965 1 25800
2019-12-17 59.965 1 25000
2019-12-19 59.965 8 26700
2019-12-21 59.965 9 27000
2019-12-21 59.965 1 24000
2019-12-21 59.965 14 28000
2019-12-24 59.965 12 28000
2019-12-03 59.965 3 24000
2019-12-30 59.965 3 28000
2019-12-30 59.965 11 29000
2019-12-04 59.965 11 26000
2019-12-04 59.965 7 25400
2019-12-06 59.965 7 26000
2019-12-09 59.965 6 26500
2019-12-10 59.965 6 27000
2019-12-10 59.965 11 27000
2019-12-11 59.965 13 26500
2019-12-11 59.965 15 27500
2019-12-12 59.965 1 23000
2019-12-13 59.965 11 27000
2019-12-16 59.965 16 26500
2019-12-16 59.965 8 27150
2019-12-20 59.965 16 26600
2019-12-20 59.965 10 26500
2019-12-21 59.965 13 26700
2019-12-25 59.965 9 23000
2019-12-26 59.965 14 28500
2019-12-03 59.965 9 26000
2019-12-04 59.965 15 27000
2019-12-05 59.965 8 25000
2019-12-11 59.965 5 24500
2019-12-16 59.965 5 26500
2019-12-19 59.965 17 29500
2019-12-20 59.965 15 28700
2019-12-24 59.965 6 26200
2019-12-30 59.965 14 27000
2019-12-31 59.965 2 25300
2019-12-07 59.965 7 25400
2019-12-07 59.965 18 25300
2019-12-09 59.965 5 25000
2019-11-14 59.965 9 25000
2019-11-16 59.965 12 25500
2019-11-16 59.965 4 24800
2019-11-29 59.965 10 29400
2019-11-29 59.965 4 24000
2019-11-13 59.965 7 23000
2019-11-14 59.965 13 26000
2019-11-15 59.965 16 26500
2019-11-15 59.965 3 26000
2019-11-15 59.965 2 23800
2019-11-02 59.965 14 27300
2019-11-27 59.965 2 24000
2019-11-29 59.965 1 21300
2019-11-29 59.965 20 25300
2019-11-30 59.965 18 27000
2019-11-30 59.965 5 25700
2019-11-08 59.965 11 24500
2019-11-11 59.965 6 23500
2019-11-02 59.965 9 25000
2019-11-25 59.965 6 25000
2019-11-08 59.965 16 24600
2019-11-13 59.965 12 24400
2019-11-16 59.965 12 25500
2019-11-18 59.965 4 24000
2019-11-02 59.965 13 25000
2019-11-02 59.965 7 24000
2019-11-20 59.965 3 24000
2019-11-27 59.965 19 24500
2019-11-28 59.965 9 25500
2019-11-30 59.965 3 24000
2019-11-04 59.965 19 23000
2019-11-07 59.965 14 25500
2019-11-07 59.965 5 25000
2019-10-11 59.965 10 24000
2019-10-18 59.965 14 24200
2019-10-18 59.965 18 23500
2019-10-18 59.965 6 23800
2019-10-21 59.965 8 23500
2019-10-21 59.965 18 22400
2019-10-22 59.965 13 25300
2019-10-22 59.965 12 25000
2019-10-24 59.965 12 25600
2019-10-28 59.965 4 23800
2019-10-29 59.965 19 24000
2019-10-03 59.965 12 25000
2019-10-30 59.965 12 25000
2019-10-05 59.965 14 24500
2019-10-11 59.965 7 23500
2019-10-11 59.965 10 23800
2019-10-19 59.965 12 23000
2019-10-21 59.965 12 25200
2019-10-21 59.965 10 25000
2019-10-24 59.965 12 26000
2019-10-26 59.965 10 25000
2019-10-29 59.965 11 24800
2019-10-12 59.965 14 22200
2019-10-16 59.965 12 25900
2019-10-19 59.965 12 25000
2019-10-19 59.965 4 24500
2019-10-21 59.965 10 24400
2019-10-26 59.965 19 22800
2019-10-28 59.965 7 24000
2019-10-29 59.965 17 24000
2019-10-31 59.965 17 24000
2019-10-19 59.965 6 23000
2019-10-21 59.965 14 24500
2019-10-21 59.965 10 23000
2019-10-22 59.965 13 23000
2019-10-24 59.965 8 24500
2019-10-28 59.965 13 24500
2019-10-31 59.965 4 23000
2019-10-31 59.965 10 24700
2019-10-31 59.965 3 24300






경기도 수원시 권선구 동수원로145번길 23, 404동 13층1303호 (권선동,수원아이파크시티4단지) [집합건물 철근콘크리트구조 134.934㎡]

항목
경매번호 2019타경28729
경매날짜 2020.11.04
법원 수원지방법원
담당 경매6계
감정평가금액 611,000,000
경매가 611,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 108건
- 동일 평수 거래 수: 5건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-17 134.934 3 75000
2020-06-20 134.934 6 69900
2020-06-09 134.934 7 73000
2020-01-22 134.934 8 64500
2019-12-21 134.934 3 63000






경기도 수원시 권선구 상탑로21번길 7-8, 2층201호 (탑동,가림아파트) [집합건물 철근콘크리트조 77.19㎡]

항목
경매번호 2019타경27375
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 203,000,000
경매가 142,100,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 권선구 매곡로 68, 102동 7층706호 (금곡동,일신건영아파트) [집합건물 철근콘크리트벽식구조 84.93㎡]

항목
경매번호 2019타경26396
경매날짜 2020.11.05
법원 수원지방법원
담당 경매3계
감정평가금액 253,000,000
경매가 253,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 15건
- 동일 평수 거래 수: 10건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-08 84.93 5 30800
2020-08-17 84.93 11 29200
2020-07-18 84.93 3 29000
2020-07-27 84.93 12 33400
2020-07-28 84.93 1 27500
2020-06-19 84.93 9 32000
2020-01-16 84.93 9 28500
2020-01-23 84.93 8 32800
2019-12-25 84.93 5 24830
2019-11-09 84.93 18 25200






경기도 수원시 장안구 수성로394번길 39, 지하층103호 [집합건물 연와조 49.06㎡]

항목
경매번호 2019타경11615
경매날짜 2020.10.30
법원 수원지방법원
담당 경매9계
감정평가금액 72,000,000
경매가 72,000,000(100%)
유찰여부 유찰\t2회

  • 새매각임.

<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




Rank Game Publisher
1 리니지M NCSOFT
2 리니지2M NCSOFT
3 기적의 검 4399 KOREA
4 R2M Webzen Inc.
5 바람의나라: 연 NEXON Company
6 KartRider Rush+ NEXON Company
7 Genshin Impact miHoYo Limited
8 블레이드&소울 레볼루션 Netmarble
9 V4 NEXON Company
10 라이즈 오브 킹덤즈 LilithGames
11 뮤 아크엔젤 Webzen Inc.
12 A3: 스틸얼라이브 Netmarble
13 라그나로크 오리진 GRAVITY Co., Ltd.
14 그랑삼국 YOUZU(SINGAPORE)PTE.LTD.
15 AFK 아레나 LilithGames
16 스테리테일 4399 KOREA
17 리니지2 레볼루션 Netmarble
18 슬램덩크 DeNA HONG KONG LIMITED
19 일루전 커넥트 ChangYou
20 FIFA ONLINE 4 M by EA SPORTS™ NEXON Company
21 Roblox Roblox Corporation
22 Empires & Puzzles: Epic Match 3 Small Giant Games
23 Lords Mobile: Kingdom Wars IGG.COM
24 FIFA Mobile NEXON Company
25 Pmang Poker : Casino Royal NEOWIZ corp
26 Age of Z Origins Camel Games Limited
27 마구마구 2020 Netmarble
28 PUBG MOBILE PUBG CORPORATION
29 메이플스토리M NEXON Company
30 라루나 판타지 Eskyfun Entertainment
31 Rise of Empires: Ice and Fire Long Tech Network Limited
32 가디언 테일즈 Kakao Games Corp.
33 Epic Seven Smilegate Megaport
34 검은사막 모바일 PEARL ABYSS
35 Gardenscapes Playrix
36 Summoners War Com2uS
37 한게임 포커 NHN BIGFOOT
38 황제라 칭하라 Clicktouch Co., Ltd.
39 Homescapes Playrix
40 Cookie Run: OvenBreak - Endless Running Platformer Devsisters Corporation
41 Lord of Heroes CloverGames
42 달빛조각사 Kakao Games Corp.
43 Random Dice: PvP Defense 111%
44 Pokémon GO Niantic, Inc.
45 컴투스프로야구2020 Com2uS
46 리버티레기온 Eyougame Inc.
47 Clash of Clans Supercell
48 Gunship Battle Total Warfare JOYCITY Corp.
49 Mafia City YOTTA GAMES PTE LTD
50 궁3D WISH INTERACTIVE TECHNOLOGY LIMITED

알아야 할 7 가지 파이썬 트릭

유용한 팁과 요령으로 친구들에게 깊은 인상을 남기세요

Image for post
~의 사진마이클지지 치의 위에Unsplash

유용한 Python 도움말과 유용한 정보가 온라인에 있습니다. 다음은 Python 게임을 강화하는 데 사용할 수있는 재미 있고 멋진 트릭입니다.동시에 친구들에게 깊은 인상을 남기십시오. 한 돌로 두 마리의 새를 죽이십시오.

더 이상 고민하지 않고 바로 시작하겠습니다.

1. YouTube-DL로 YouTube 동영상 다운로드

YouTube 동영상 (다른 많은 웹 사이트의 동영상) 사용유튜브 -dl Python의 모듈.

먼저 pip를 사용하여 모듈을 설치하겠습니다.

pip install youtube-dl

설치가 완료되면 다음 한 줄 명령을 사용하여 터미널 또는 명령 프롬프트에서 직접 비디오를 다운로드 할 수 있습니다.

youtube-dl <Your video link here>

또는 이후유튜브 -dlPython에 대한 바인딩이 있으면 프로그래밍 방식으로 동일한 작업을 수행하는 Python 스크립트를 만들 수 있습니다.

모든 링크가 포함 된 목록을 만들고 아래의 빠르고 더러운 스크립트를 사용하여 비디오를 다운로드 할 수 있습니다.

Sample code to create a list with all the links and download the videos using the youtube-dl module
작성자 별 이미지

이 모듈을 사용하면 비디오뿐만 아니라 전체 재생 목록, 메타 데이터, 섬네일, 자막, 주석, 설명, 오디오 등을 쉽게 다운로드 할 수 있습니다.

이를 달성하는 가장 쉬운 방법은 이러한 매개 변수를 사전에 추가하고이를 사전에 전달하는 것입니다.YoutubeDL객체 생성자.

아래 코드에서 사전을 만들었습니다.ydl_options, 일부 매개 변수와 함께 생성자에 전달했습니다.

Sample code to use youtube-dl with a number of parameters passed as options
작성자 별 이미지
1. 'format':'bestvideo+bestaudio' #Dowloads the video in the best available video and audio format.2. 'writethumbnail':'writethumbnail' #Downloads the thumbnail image of the video.3. 'writesubtitles':'writesubtitles' #Downloads the subtitles, if any.4. 'writedescription':'writedescription' #Writes the video description to a .description file.

노트 :터미널이나 명령 프롬프트에서 직접 모든 작업을 수행 할 수 있지만 Python 스크립트를 사용하는 것이 유연성 / 재사용 가능성으로 인해 더 좋습니다.

여기에서 모듈에 대한 자세한 내용을 찾을 수 있습니다.Github : youtube-dl.

2. Pdb로 코드 디버그

Python에는 pdb라는 자체 내장 디버거가 있습니다. 디버거는 프로그래머가 변수와 프로그램 실행을 한 줄씩 검사하는 데 도움이되는 매우 유용한 도구입니다. 디버거는 프로그래머가 코드에서 성가신 문제를 찾으려고 노력할 필요가 없음을 의미합니다.

pdb의 좋은 점은 표준 Python 라이브러리에 포함되어 있다는 것입니다. 결과적으로이 아름다움은 Python이 설치된 모든 컴퓨터에서 사용할 수 있습니다. 이것은 바닐라 Python 설치 위에 추가 기능을 설치하는 데 제한이있는 환경에서 유용합니다.

pdb 디버거를 호출하는 방법에는 여러 가지가 있습니다.

In-line breakpoint
pdb.set_trace()
In Python 3.7 and later
breakpoint()
pdb.py can also be invoked as a script to debug other scripts
python3 -m pdb myscript.py

다음은 다음을 사용하여 pdb를 호출하는 Python 3.8의 샘플 코드입니다.중단 점 ()함수:

Image for post
작성자의 이미지

다음은 디버깅 모험에 도움이되는 몇 가지 유용한 명령입니다.

  • : 현재 함수의 다음 줄에 도달하거나 반환 될 때까지 실행을 계속합니다.
  • : 목록 코드
  • j <line>: 줄로 이동
  • b <line>: breakpoint () 설정
  • : 중단 점까지 계속
  • : 종료

노트 :일단 pdb에 있으면,,,, 및예약 된 키워드가됩니다. 마지막 변수는 이름이 변수 인 경우 pdb를 종료합니다.귀하의 코드에서.

여기에서 자세한 내용을 확인할 수 있습니다.pdb — 파이썬 디버거

3. PyInstaller를 사용하여 Python 코드를 실행 파일로 만들기

많은 사람들이 이것을 아는 것은 아니지만 Python을 변환 할 수 있습니다. 스크립트를 독립 실행 형 실행 파일로 변환합니다. 이것에 대한 가장 큰 이점은 Python 스크립트 / 애플리케이션이 Python (및 필요한 타사 패키지)이 설치되지 않은 컴퓨터에서 작동 할 수 있다는 것입니다.

PyInstaller는 Windows, GNU / Linux, Mac OS X, FreeBSD, Solaris 및 AIX를 포함한 거의 모든 주요 플랫폼에서 작동합니다.

설치하려면 pip에서 다음 명령을 사용하십시오.

pip install pyinstaller

그런 다음 프로그램이있는 디렉토리로 이동하여 다음을 실행하십시오.

pyinstaller myscript.py

그러면 실행 파일이 생성되어 다음과 같은 하위 디렉토리에 저장됩니다.dist.

PyInstaller는 사용자 정의를위한 다양한 옵션을 제공합니다.

pyinstaller --onefile --icon [icon file] [script file]# Using the --onefile option bundles everything in a single executable file instead of having a bunch of other files. 
# Using the --icon option adds a custom icon (.ico file) for the executable file

Pyinstaller는 Django, NumPy, Matplotlib, SQLAlchemy, Pandas, Selenium 등 대부분의 타사 패키지와 호환됩니다.

Pyinstaller가 제공하는 모든 기능과 다양한 옵션에 대해 알아 보려면 Github의 해당 페이지를 방문하십시오.Pyinstaller.

4. Tqdm으로 진행률 표시 줄 만들기

TQDM 라이브러리를 사용하면 Python 및 CLI에 대한 빠르고 확장 가능한 진행률 표시 줄을 만들 수 있습니다.

먼저 pip를 사용하여 모듈을 설치해야합니다.

pip install tqdm

몇 줄의 코드로 Python 스크립트에 스마트 진행률 표시 줄을 추가 할 수 있습니다.

tqdm working directly inside Terminal
작성자 별 GIF

TQDM은 Linux, Windows, Mac, FreeBSD, NetBSD, Solaris / SunOS와 같은 모든 주요 플랫폼에서 작동합니다. 뿐만 아니라 모든 콘솔, GUI 및 IPython / Jupyter 노트북과 원활하게 통합됩니다.

tqdm working in Jupiter notebooks
의 GIFTQDM

tqdm의 모든 트릭에 대한 자세한 내용을 보려면 여기 공식 페이지를 방문하십시오.tqdm.

5. Colorama를 사용하여 콘솔 출력에 색상 추가

Colorama는 콘솔 출력에 색상을 추가하는 멋진 크로스 플랫폼 모듈입니다. pip를 사용하여 설치해 보겠습니다.

pip install colorama

Colorama는 다음과 같은 서식 상수를 제공합니다.

Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Style: DIM, NORMAL, BRIGHT, RESET_ALL

다음은 Colorama를 사용하는 샘플 코드입니다.

Sample code to color the console output using Colorama
작성자 별 이미지

위의 코드는 다음 출력을 생성합니다.

Image for post
작성자 별 이미지

스타일 .RESET_ALL전경, 배경 및 밝기를 명시 적으로 재설정합니다. 그러나 Colorama는 프로그램 종료시이 재설정을 자동으로 수행합니다.

Colorama에는 여기에서 찾을 수있는 다른 기능이 있습니다.Colorama 웹 사이트.

6. Tabulate를 사용하여 예쁜 2D 목록 인쇄

종종 Python에서 표 형식의 출력을 처리하는 것은 고통입니다. 그 때의표로 만들다구조하러 온다. "출력이 나에게 상형 문자처럼 보입니까?"에서 출력을 변환 할 수 있습니다. "와, 예쁘 네요!" 음, 마지막 부분은 약간 과장된 것일 수도 있지만 출력의 가독성을 향상시킵니다.

먼저 pip를 사용하여 설치합니다.

pip install tabulate

다음은 tabulate를 사용하여 2D 목록을 표로 인쇄하는 간단한 스 니펫입니다.

Image for post
작성자 별 이미지

아래 GIF는 위 코드의 출력이 표로 표시되거나 표시되지 않는 모습을 보여줍니다. 두 출력 중 어느 것이 더 읽기 쉬운 지 추측하는 것에 대한 보상은 없습니다!

Image for post
작성자 별 GIF

Tabulate는 다음 데이터 유형을 지원합니다.

1. list of lists or another iterable of iterables
2.
list or another iterable of dicts (keys as columns)
3. dict of iterables (keys as columns)
4. two-dimensional NumPy array
5. NumPy record arrays (names as columns)
6. pandas.DataFrame
Source: https://pypi.org/project/tabulate/

다음은 사전에서 작동하는 예입니다.

Image for post
작성자 별 이미지

이것은 사전을 예쁘게 인쇄합니다.

+-------+-----+
| item | qty |
+-------+-----+
| spam | 42 |
| eggs | 451 |
| bacon | 0 |
+-------+-----+

여기에서 라이브러리에 대한 자세한 내용을 찾을 수 있습니다.표로 만들다.

7. Ptpython을 사용하여 표준 Python 셸 꾸미기

내 Python 셸이 내 Python 셸보다 섹시한 이유가 궁금한 경우 사용자 지정 Python 셸을 사용하고 있기 때문입니다. 이 껍질,ptpython, 표준 Python 셸에 비해 많은 개선 사항이 있습니다. 기본적으로 표준 Python 셸과 ptpython이 쌍둥이 인 경우 후자는 두 형제 중 더 예쁘고 더 성공적 일 것입니다.

pip를 통해 ptpython을 설치할 수 있습니다.

pip install ptpython

설치되면 다음을 입력하여 호출 할 수 있습니다.ptpython표준 셸에서.

표준 셸에 비해 몇 가지 기능이 있습니다.

1. Code indentation
2. Syntax highlighting
3. Autocompletion
4. Multiline editing
5. Support for color schemes
... and many other things

아래 GIF에서 작동중인 기능 1 ~ 3을 볼 수 있습니다.

Image for post
작성자 별 GIF

기능에 대해 자세히 알아 보려면 다음 웹 사이트를 방문하십시오.ptpython.

기사를 즐겁게 읽고 그 과정에서 새로운 것을 배웠기를 바랍니다.

멋진 파이썬 트릭이 있습니까? 의견에 귀하의 의견을 들려주세요.

7 Python Tricks You Should Know

Impress your friends with these useful tips and tricks

Image for post
Photo by Michael Dziedzic on Unsplash

There’s a treasure trove of useful Python tips and tricks online. Here are some fun, cool tricks you can use to beef up your Python game and impress your friends at the same time — kill two birds with one stone.

Without further ado, let’s jump right into it.

1. Download YouTube Videos With YouTube-Dl

You can easily download YouTube videos (and videos from many other websites) using the youtube-dl module in Python.

First, let’s install the module using pip:

pip install youtube-dl

Once installed, you can download videos directly from terminal or command prompt by using the following one-line command:

youtube-dl <Your video link here>

Alternatively, since youtube-dl has bindings for Python, you can create a Python script to do the same thing programmatically.

You can create a list with all the links and download the videos using the quick-and-dirty script below.

Sample code to create a list with all the links and download the videos using the youtube-dl module
Image by Author

With this module, you can not only easily download videos, but entire playlists, metadata, thumbnails, subtitles, annotations, descriptions, audio, and much more.

The easiest way to achieve this is by adding a bunch of these parameters to a dictionary and passing it to the YoutubeDL object constructor.

In the code below I created a dictionary, ydl_options, with some parameters, and passed it on to the constructor:

Sample code to use youtube-dl with a number of parameters passed as options
Image by Author
1. 'format':'bestvideo+bestaudio' #Dowloads the video in the best available video and audio format.2. 'writethumbnail':'writethumbnail' #Downloads the thumbnail image of the video.3. 'writesubtitles':'writesubtitles' #Downloads the subtitles, if any.4. 'writedescription':'writedescription' #Writes the video description to a .description file.

Note: You can do everything directly within the terminal or a command prompt, but using a Python script is better due to the flexibility/reusability it offers.

You can find more details about the module here: Github:youtube-dl.

2. Debug Your Code With Pdb

Python has its own in-built debugger called pdb. A debugger is an extremely useful tool that helps programmers to inspect variables and program execution, line by line. A debugger means programmers don’t have to pull their hair out trying to find pesky issues in their code.

The good thing about pdb is that it is included with the standard Python library. As a result, this beauty can be used on any machine where Python is installed. This comes in handy in environments with restrictions on installing any add-on on top of the vanilla Python installation.

There are several ways to invoke the pdb debugger:

In-line breakpoint
pdb.set_trace()
In Python 3.7 and later
breakpoint()
pdb.py can also be invoked as a script to debug other scripts
python3 -m pdb myscript.py

Here’s a sample code on Python 3.8 that invokes pdb using the breakpoint() function:

Image for post
Image from Author

Here are some of the most useful commands to aid you in your debugging adventure:

  • n: To continue execution until the next line in the current function is reached or it returns.
  • l: list code
  • j <line>: jump to a line
  • b <line>: set breakpoint()
  • c: continue until breakpoint
  • q: quit

Note: Once you are in pdb, n, l, b, c, and q become reserved keywords. The last one will quit pdb if you have a variable named q in your code.

You can find more details about this here: pdb — The Python Debugger

3. Make Your Python Code Into an Executable File Using PyInstaller

Not a lot of people know this, but you can convert your Python scripts into standalone executables. The biggest benefit to this is that your Python scripts/applications can then work on machines where Python (and any necessary third-party packages) are not installed.

PyInstaller works on pretty much all the major platforms, including Windows, GNU/Linux, Mac OS X, FreeBSD, Solaris and AIX.

To install it, use the following command in pip:

pip install pyinstaller

Then, go to the directory where your program is located and run:

pyinstaller myscript.py

This will generate the executable and place it in a subdirectory called dist.

PyInstaller provides many options for customization:

pyinstaller --onefile --icon [icon file] [script file]# Using the --onefile option bundles everything in a single executable file instead of having a bunch of other files. 
# Using the --icon option adds a custom icon (.ico file) for the executable file

Pyinstaller is compatible with most of the third-party packages — Django, NumPy, Matplotlib, SQLAlchemy, Pandas, Selenium, and many more.

To learn about all the features and the myriad of options Pyinstaller provides, visit its page on Github: Pyinstaller.

4. Make a Progress Bar With Tqdm

The TQDM library will let you create fast, extensible progress bars for Python and CLI.

You’d need to first install the module using pip:

pip install tqdm

With a few lines of code, you can add smart progress bars to your Python scripts.

tqdm working directly inside Terminal
GIF by Author

TQDM works on all major platforms like Linux, Windows, Mac, FreeBSD, NetBSD, Solaris/SunOS. Not only that, but it also integrates seamlessly with any console, GUI, and IPython/Jupyter notebooks.

tqdm working in Jupiter notebooks
GIF from TQDM

To get more details on all the tricks tqdm has up its sleeve, visit its official page here: tqdm.

5. Add Color to Your Console Output With Colorama

Colorama is a nifty little cross-platform module that adds color to the console output. Let’s install it using pip:

pip install colorama

Colorama provides the following formatting constants:

Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.
Style: DIM, NORMAL, BRIGHT, RESET_ALL

Here’s a sample code to use Colorama:

Sample code to color the console output using Colorama
Image by Author

The code above yields the following output:

Image for post
Image by Author

Style.RESET_ALL explicitly resets the foreground, background, and brightness — although, Colorama also performs this reset automatically on program exit.

Colorama has other features that you can find here: Colorama Website.

6. Pretty Print 2D Lists Using Tabulate

Often, dealing with tabular output in Python is a pain. That’s when tabulate comes to the rescue. It can transform your output from “The output looks like hieroglyphs to me?” to “Wow, that looks pretty!”. Well, maybe that last part is a slight exaggeration, but it will improve the readability of your output.

First, install it using pip:

pip install tabulate

Here’s a simple snippet to print a 2D list as a table using tabulate:

Image for post
Image by Author

The GIF below shows how the output of the code above looks with and without tabulate. No prizes for guessing which of the two outputs is more readable!

Image for post
GIF by Author

Tabulate supports the following data types:

1. list of lists or another iterable of iterables
2.
list or another iterable of dicts (keys as columns)
3. dict of iterables (keys as columns)
4. two-dimensional NumPy array
5. NumPy record arrays (names as columns)
6. pandas.DataFrame
Source: https://pypi.org/project/tabulate/

Here’s an example that works on a dictionary:

Image for post
Image by Author

This pretty-prints the dictionary:

+-------+-----+
| item | qty |
+-------+-----+
| spam | 42 |
| eggs | 451 |
| bacon | 0 |
+-------+-----+

You can find more details about the library here: tabulate.

7. Spruce Up Your Standard Python Shell With Ptpython

In case you’re wondering why my Python shell is sexier than yours, it’s because I’ve been using a custom Python shell. This shell, ptpython, has a lot of enhancements over the standard Python shell. Basically, if the standard Python shell and ptpython were twins, the latter would be the prettier (and more successful) of the two siblings.

You can install ptpython through pip:

pip install ptpython

Once installed, you can invoke it by typing ptpython in your standard shell.

It has several features over the standard shell:

1. Code indentation
2. Syntax highlighting
3. Autocompletion
4. Multiline editing
5. Support for color schemes
... and many other things

In the GIF below, you can see features 1–3 in action:

Image for post
GIF by Author

To learn more about its features, visit its website here: ptpython.

I hope you enjoyed the article and learned something new in the process.

Do you have any cool Python tricks? Chime in with yours in the comments.

경기도 수원시 장안구 연무로13번길 73, 2층202호 [집합건물 연와조 44.40㎡]

항목
경매번호 2020타경9717
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 41,000,000
경매가 41,000,000(100%)
유찰여부 신건

  • 대지권이 없는 건물만의 매각이며, 이 사건 건물의 철거를 명하는 확정판결(수원지방법원 2014가단32072)이 있음

<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 팔달구 권광로 373, 104동 22층2201호 (우만동,월드메르디앙아파트) [집합건물 철근콘크리트조 84.237㎡]

항목
경매번호 2020타경9205
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 601,000,000
경매가 601,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 107건
- 동일 평수 거래 수: 42건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-10 84.237 18 59000
2020-09-17 84.552 24 55000
2020-09-26 84.237 19 56500
2020-09-26 84.237 15 58000
2020-09-06 84.237 17 56900
2020-08-08 84.552 14 57000
2020-07-17 84.237 8 58500
2020-07-17 84.237 4 57500
2020-06-11 84.237 8 59500
2020-06-18 84.237 13 60000
2020-06-23 84.237 24 56000
2020-05-02 84.237 28 56500
2020-05-28 84.237 30 56700
2020-04-10 84.552 16 57800
2020-03-20 84.237 16 59500
2020-03-09 84.237 17 60000
2020-02-15 84.552 9 55000
2020-02-19 84.237 26 60000
2020-02-08 84.552 17 56500
2020-01-10 84.237 7 55500
2020-01-15 84.237 17 50000
2020-01-16 84.237 23 55000
2020-01-17 84.237 2 46000
2020-01-21 84.552 27 54500
2020-01-23 84.237 25 59500
2019-12-13 84.237 4 45300
2019-12-30 84.237 9 46000
2019-12-04 84.237 8 46500
2019-12-09 84.237 17 46300
2019-11-14 84.237 24 45000
2019-11-16 84.552 9 40500
2019-11-20 84.552 7 41600
2019-11-21 84.237 15 44000
2019-11-21 84.237 18 46100
2019-11-21 84.237 19 45000
2019-11-30 84.237 22 44500
2019-11-30 84.552 27 41000
2019-11-04 84.237 8 45000
2019-10-10 84.237 2 41600
2019-10-19 84.237 15 45000
2019-10-03 84.237 25 45700
2019-10-31 84.237 10 45600






경기도 수원시 권선구 권광로27번길 22, 2동 2층209호 (권선동,신현대아파트) [집합건물 철근콘크리트조 84.99㎡]

항목
경매번호 2020타경6794
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 260,000,000
경매가 260,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 19건
- 동일 평수 거래 수: 19건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-09 84.99 10 27500
2020-08-18 84.99 4 25500
2020-08-25 84.99 7 28000
2020-06-17 84.99 7 26500
2020-06-26 84.99 8 26000
2020-06-26 84.99 10 28700
2020-05-04 84.99 11 29900
2020-04-16 84.99 5 24500
2020-03-16 84.99 4 26000
2020-02-11 84.99 8 23800
2020-02-12 84.99 8 24800
2020-02-12 84.99 6 25500
2020-02-14 84.99 8 24500
2020-02-19 84.99 2 24000
2020-02-24 84.99 10 26500
2020-02-07 84.99 10 23800
2020-02-07 84.99 7 24000
2020-01-17 84.99 5 23000
2019-12-12 84.99 2 24500






경기도 수원시 장안구 파장천로 18-2, 5층502호 (파장동,온리유빌라1) [집합건물 철근콘크리트구조 46.63㎡]

항목
경매번호 2020타경6732
경매날짜 2020.10.28
법원 수원지방법원
담당 경매5계
감정평가금액 175,000,000
경매가 85,750,000(49%)
유찰여부 유찰\t2회


<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 권선구 정조로 432, 105동 2층210호 [집합건물 철근콘크리트조 46.68㎡ 2분의 1 김영균지분 전부]

항목
경매번호 2020타경6114
경매날짜 2020.10.28
법원 수원지방법원
담당 경매5계
감정평가금액 110,000,000
경매가 110,000,000(100%)
유찰여부 신건

  • 지분매각, 공유자 우선매수신고 제한있음(우선매수신청을 한 공유자는 당해 매각기일 종결 전까지 보증금을 제공하여야 하며, 매수신청권리를 행사하지 않는 경우에는 차회 기일부터는 우선권이 없음)

<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 영통구 영통로290번길 25, 504동 18층1803호 (영통동,신나무실주공아파트) [집합건물 철근콘크리트조 59.99㎡]

항목
경매번호 2020타경60279
경매날짜 2020.11.04
법원 수원지방법원
담당 경매6계
감정평가금액 283,000,000
경매가 283,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 317건
- 동일 평수 거래 수: 218건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-17 59.99 11 35000
2020-10-09 59.99 4 34000
2020-09-19 59.99 5 30950
2020-09-24 59.99 20 31000
2020-09-25 59.99 12 35900
2020-09-26 59.99 11 32000
2020-09-28 59.99 5 32000
2020-09-29 59.99 13 34500
2020-09-08 59.99 7 32000
2020-08-12 59.99 10 29000
2020-08-21 59.99 7 34900
2020-08-29 59.99 8 34200
2020-07-02 59.99 14 35000
2020-07-28 59.99 5 28000
2020-07-03 59.99 14 28500
2020-07-08 59.99 17 34000
2020-06-01 59.99 8 28700
2020-06-01 59.99 9 29000
2020-06-10 59.99 6 29000
2020-06-11 59.99 17 29800
2020-06-13 59.99 14 29800
2020-06-13 59.99 10 29990
2020-06-13 59.99 2 26800
2020-06-13 59.99 1 26000
2020-06-13 59.99 12 29000
2020-06-15 59.99 8 32500
2020-06-15 59.99 8 33000
2020-06-16 59.99 2 27500
2020-06-16 59.94 19 30800
2020-06-17 59.99 14 29000
2020-06-02 59.94 12 27500
2020-06-02 59.94 13 27800
2020-06-20 59.99 12 31500
2020-06-23 59.99 10 31000
2020-06-24 59.99 18 30500
2020-06-25 59.99 11 29900
2020-06-26 59.99 12 31900
2020-06-03 59.99 15 29000
2020-06-03 59.99 17 30000
2020-06-06 59.99 9 28000
2020-06-08 59.99 11 29990
2020-06-09 59.99 9 29000
2020-05-01 59.99 6 28000
2020-05-01 59.99 15 29000
2020-05-01 59.99 1 26200
2020-05-11 59.99 9 27500
2020-05-13 59.99 1 24700
2020-05-14 59.99 6 27500
2020-05-16 59.99 17 29100
2020-05-16 59.99 17 28300
2020-05-16 59.99 18 27800
2020-05-02 59.94 14 27500
2020-05-02 59.99 12 29000
2020-05-22 59.99 14 26000
2020-05-24 59.99 10 28300
2020-05-30 59.99 1 26500
2020-05-30 59.99 4 28000
2020-05-30 59.99 3 28000
2020-05-04 59.99 14 28000
2020-05-04 59.99 15 28000
2020-05-05 59.99 17 28800
2020-05-05 59.99 4 28000
2020-05-06 59.99 17 29000
2020-05-07 59.99 13 29000
2020-05-09 59.99 10 28000
2020-04-17 59.99 5 27950
2020-04-23 59.99 18 26300
2020-04-27 59.99 9 28000
2020-04-28 59.99 16 27000
2020-04-28 59.99 9 28500
2020-04-30 59.99 15 28000
2020-04-04 59.99 3 26900
2020-04-04 59.99 14 28000
2020-03-10 59.99 8 26300
2020-03-13 59.96 3 25900
2020-03-17 59.99 11 29150
2020-03-23 59.99 14 29000
2020-03-23 59.99 16 29800
2020-03-26 59.94 10 22000
2020-03-29 59.99 8 29200
2020-03-03 59.99 17 30000
2020-03-31 59.99 11 29990
2020-03-05 59.99 5 27300
2020-02-01 59.99 10 28000
2020-02-01 59.99 2 23500
2020-02-01 59.99 9 26000
2020-02-10 59.99 14 28000
2020-02-11 59.99 4 27000
2020-02-11 59.96 15 24000
2020-02-11 59.99 9 28500
2020-02-11 59.99 2 22000
2020-02-11 59.99 8 30000
2020-02-11 59.99 9 28000
2020-02-12 59.99 2 25300
2020-02-12 59.99 4 27800
2020-02-13 59.96 7 25500
2020-02-14 59.99 6 27000
2020-02-14 59.99 11 27000
2020-02-14 59.99 11 27800
2020-02-15 59.96 5 24500
2020-02-15 59.99 1 23000
2020-02-15 59.99 15 29800
2020-02-17 59.99 15 26800
2020-02-17 59.96 9 25300
2020-02-17 59.99 7 27500
2020-02-17 59.99 7 27000
2020-02-18 59.96 3 27000
2020-02-19 59.96 15 20000
2020-02-19 59.96 9 26700
2020-02-19 59.99 9 26500
2020-02-02 59.99 18 25000
2020-02-21 59.99 3 26400
2020-02-22 59.99 11 28400
2020-02-28 59.99 14 30000
2020-02-03 59.96 9 23500
2020-02-04 59.96 2 21000
2020-02-04 59.99 4 26500
2020-02-05 59.99 15 27000
2020-02-05 59.99 4 25750
2020-02-05 59.99 3 27500
2020-02-05 59.99 16 25800
2020-02-06 59.99 7 28000
2020-02-06 59.99 6 26000
2020-02-07 59.99 4 25000
2020-02-07 59.99 18 25000
2020-02-07 59.99 8 29500
2020-02-07 59.99 7 23500
2020-02-08 59.99 6 29300
2020-01-10 59.99 7 24000
2020-01-11 59.99 16 23500
2020-01-14 59.99 13 26000
2020-01-14 59.99 7 21200
2020-01-15 59.99 6 24000
2020-01-16 59.99 3 23500
2020-01-17 59.99 18 25200
2020-01-17 59.96 3 22300
2020-01-17 59.96 13 23500
2020-01-18 59.99 10 25000
2020-01-18 59.99 13 23000
2020-01-18 59.99 12 23000
2020-01-02 59.99 3 22000
2020-01-02 59.94 16 22000
2020-01-20 59.99 13 24000
2020-01-21 59.99 17 25000
2020-01-21 59.99 13 23350
2020-01-21 59.99 13 26000
2020-01-21 59.99 18 23500
2020-01-22 59.99 16 23500
2020-01-23 59.99 17 26000
2020-01-23 59.99 15 24300
2020-01-23 59.99 1 22500
2020-01-28 59.99 2 24500
2020-01-28 59.99 15 26000
2020-01-28 59.99 9 25000
2020-01-29 59.99 13 24800
2020-01-29 59.99 16 26000
2020-01-29 59.99 14 23500
2020-01-03 59.99 14 24000
2020-01-30 59.99 4 24000
2020-01-30 59.99 4 24000
2020-01-31 59.99 5 25500
2020-01-31 59.99 5 24500
2020-01-04 59.99 16 22950
2020-01-04 59.99 11 24900
2020-01-06 59.96 12 23400
2020-01-07 59.99 16 25000
2019-12-10 59.99 8 23300
2019-12-10 59.94 5 20800
2019-12-13 59.99 8 22800
2019-12-13 59.99 15 22500
2019-12-14 59.94 6 21000
2019-12-16 59.99 7 23900
2019-12-17 59.99 11 22200
2019-12-18 59.96 11 21300
2019-12-19 59.99 1 19800
2019-12-02 59.99 4 24000
2019-12-20 59.99 4 20000
2019-12-20 59.99 5 22500
2019-12-20 59.94 10 21000
2019-12-21 59.99 2 21000
2019-12-23 59.99 17 23000
2019-12-23 59.99 12 23000
2019-12-24 59.99 17 22500
2019-12-24 59.96 7 23500
2019-12-24 59.99 19 23000
2019-12-25 59.99 11 24500
2019-12-25 59.94 8 21800
2019-12-27 59.99 17 23500
2019-12-28 59.96 7 22000
2019-12-03 59.99 10 22800
2019-12-03 59.99 17 23500
2019-12-31 59.99 1 20000
2019-12-31 59.99 1 21000
2019-12-31 59.99 7 23000
2019-12-06 59.96 13 21300
2019-11-14 59.99 9 22350
2019-11-16 59.96 4 20000
2019-11-02 59.99 1 20600
2019-11-02 59.99 11 24500
2019-11-21 59.99 8 22000
2019-11-24 59.99 11 22900
2019-11-26 59.99 11 22700
2019-11-27 59.99 5 22000
2019-11-27 59.99 10 22000
2019-11-29 59.96 5 20450
2019-11-30 59.99 4 22000
2019-11-30 59.99 16 23500
2019-11-05 59.99 5 21900
2019-11-08 59.99 9 22000
2019-10-01 59.99 8 21000
2019-10-19 59.99 11 22000
2019-10-20 59.96 6 19850
2019-10-21 59.99 4 21000
2019-10-25 59.99 8 22700
2019-10-29 59.99 17 22000
2019-10-03 59.99 3 20300
2019-10-05 59.99 5 20500
2019-10-08 59.99 12 22300






경기도 수원시 장안구 장안로427번길 25, 2층201호 [집합건물 철근콘크리트벽식조 81.06㎡]

항목
경매번호 2020타경59545
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 192,000,000
경매가 134,400,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 권선구 탑동로3번길 58-15, 102동 6층601호 (탑동,청우아파트) [집합건물 철근콘크리트구조 73.52㎡]

항목
경매번호 2020타경59057
경매날짜 2020.11.03
법원 수원지방법원
담당 경매4계
감정평가금액 226,000,000
경매가 226,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 1건
- 동일 평수 거래 수: 1건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-06-10 73.52 5 19700






경기도 수원시 영통구 영통로173번길 37, 102동 17층1704호 (망포동,망포역마을쌍용아파트) [집합건물 철근콘크리트조 124.571㎡]

항목
경매번호 2020타경58436
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 568,000,000
경매가 397,600,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 65건
- 동일 평수 거래 수: 20건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-20 124.571 5 54000
2020-09-14 124.571 17 55000
2020-09-14 124.571 15 53000
2020-09-17 124.571 8 52500
2020-09-19 124.571 15 54000
2020-09-19 124.571 11 54500
2020-06-26 124.571 20 51500
2020-02-17 124.571 4 49000
2020-01-20 124.571 20 43000
2019-12-16 124.571 4 40000
2019-11-16 124.571 3 34500
2019-11-18 124.571 12 39000
2019-11-02 124.571 5 37500
2019-11-22 124.571 4 37000
2019-11-04 124.571 16 38000
2019-10-11 124.571 1 33500
2019-10-14 124.571 7 38900
2019-10-19 124.571 5 38500
2019-10-29 124.571 7 38700
2019-10-05 124.571 13 37900






경기도 수원시 장안구 화산로285번길 12, 101동 11층1108호 (율전동,화남아파트) [집합건물 철근콘크리트 벽식구조 59.93㎡]

항목
경매번호 2020타경57792
경매날짜 2020.11.03
법원 수원지방법원
담당 경매4계
감정평가금액 228,000,000
경매가 228,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 26건
- 동일 평수 거래 수: 17건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-07 59.93 20 23500
2020-08-12 59.93 4 23000
2020-08-07 59.93 20 23900
2020-06-20 59.93 10 23800
2020-05-31 59.93 12 23300
2020-04-15 59.93 2 20050
2020-02-01 59.93 20 19900
2020-02-11 59.93 7 21300
2020-02-16 59.93 16 20350
2020-02-17 59.93 7 19500
2020-02-19 59.93 17 20000
2020-02-23 59.93 14 20100
2020-02-24 59.93 14 22500
2020-01-17 59.93 7 19800
2019-12-28 59.93 10 20000
2019-11-30 59.93 9 19900
2019-10-30 59.93 17 19500






경기도 수원시 권선구 경수대로302번길 22, 102동 2층202호 (권선동,권선한양아파트) [집합건물 철근콘크리트 피.씨조 40.36㎡]

항목
경매번호 2020타경55901
경매날짜 2020.11.04
법원 수원지방법원
담당 경매6계
감정평가금액 160,000,000
경매가 112,000,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 65건
- 동일 평수 거래 수: 43건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-16 40.36 6 16700
2020-09-05 40.36 11 17000
2020-09-05 40.36 11 15700
2020-08-10 40.36 9 16500
2020-08-12 40.36 6 16000
2020-08-04 40.36 2 14400
2020-07-02 40.36 10 15500
2020-07-08 40.36 10 16050
2020-07-08 40.36 4 15200
2020-06-12 40.36 1 14200
2020-06-13 40.36 4 15800
2020-05-18 40.36 7 16500
2020-05-02 40.36 3 16000
2020-05-04 40.36 1 14000
2020-05-08 40.36 6 16100
2020-04-15 40.36 12 16200
2020-04-06 40.36 12 16000
2020-03-10 40.36 11 16000
2020-03-11 40.36 3 15500
2020-03-04 40.36 6 16000
2020-02-10 40.36 2 15000
2020-02-10 40.36 2 15000
2020-02-10 40.36 10 15200
2020-02-11 40.36 4 15500
2020-02-12 40.36 7 16200
2020-02-12 40.36 9 16000
2020-02-14 40.36 5 15900
2020-02-15 40.36 3 15500
2020-02-17 40.36 7 16000
2020-02-17 40.36 11 16300
2020-02-18 40.36 9 16400
2020-02-18 40.36 6 16000
2020-02-19 40.36 3 16000
2020-02-05 40.36 9 15500
2020-02-06 40.36 1 12900
2020-01-28 40.36 5 14400
2019-12-17 40.36 3 14800
2019-12-20 40.36 4 14000
2019-12-23 40.36 12 14000
2019-12-25 40.36 1 12450
2019-11-27 40.36 10 13500
2019-11-28 40.36 6 15000
2019-10-09 40.36 13 14100






경기도 수원시 권선구 구운로47번길 59, 102동 9층901호 (구운동,서수원엠코타운르본느) [집합건물 철근콘크리트구조 84.8116㎡ 2분의 1 오금례 지분 전부]

항목
경매번호 2020타경5494
경매날짜 2020.10.27
법원 수원지방법원
담당 경매2계
감정평가금액 145,500,000
경매가 145,500,000(100%)
유찰여부 신건

  • 1.지분매각임. 2.공유자 우선매수신고 제한있음(공유자의 우선매수권(민사집행법 제140조) 행사에 따른 매수신고가 매수보증금의 미납으로 실효되는 경우, 그 공유자는 해당 부동산의 다음 매각기일에서는 이후 우선매수권을 행사할 수 없음)

<최근 1년 실거래가 정보>
- 총 거래 수: 32건
- 동일 평수 거래 수: 24건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-17 84.9194 5 29000
2020-09-19 84.9194 9 28000
2020-07-29 84.903 8 29500
2020-07-03 84.9194 5 26800
2020-07-08 84.8166 8 29200
2020-06-20 84.903 8 29000
2020-06-29 84.903 13 29000
2020-04-10 84.903 1 26500
2020-04-22 84.903 2 27100
2020-04-23 84.8166 6 28500
2020-04-30 84.8166 11 28500
2020-02-10 84.9194 8 26700
2020-02-15 84.903 8 27000
2020-02-15 84.8166 3 26800
2020-02-20 84.903 5 27400
2020-02-06 84.8166 4 28000
2020-01-13 84.903 4 26200
2020-01-22 84.903 12 27900
2020-01-09 84.903 11 25800
2019-12-01 84.9194 4 25000
2019-12-21 84.903 7 27000
2019-11-13 84.8166 9 27400
2019-11-22 84.8166 3 26500
2019-10-21 84.8166 9 26300






경기도 수원시 장안구 정자천로188번길 71-21, 101동 10층1002호 (정자동,현대아파트) [집합건물 철근콘크리트조 84.94㎡]

항목
경매번호 2020타경51107
경매날짜 2020.11.03
법원 수원지방법원
담당 경매4계
감정평가금액 241,000,000
경매가 168,700,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 15건
- 동일 평수 거래 수: 15건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-08-13 84.94 6 25000
2020-08-18 84.94 2 25000
2020-08-28 84.94 8 23000
2020-07-13 84.53 4 22300
2020-06-15 84.94 6 26300
2020-06-17 84.94 3 24000
2020-06-17 84.94 2 23300
2020-06-25 84.94 3 24000
2020-05-11 84.94 3 23500
2020-04-20 84.53 8 22500
2020-02-12 84.53 1 20300
2020-02-25 84.94 5 23300
2020-02-29 84.94 5 25000
2020-02-08 84.94 7 24000
2019-12-22 84.94 3 20500






경기도 수원시 권선구 동수원로145번길 24, 210동 11층1102호 (권선동,수원아이파크시티2단지) [집합건물 철근콘크리트구조 148.982㎡]

항목
경매번호 2020타경2105
경매날짜 2020.10.27
법원 수원지방법원
담당 경매2계
감정평가금액 742,000,000
경매가 742,000,000(100%)
유찰여부 신건

  • 대지권 미등기이나 최저매각가격에 대지권가격이 포함되었으며 소유자가 대지 지분에 대해 분양대금을 모두 납부한 것으로 보임.(신청채권자가 제출한 공급계약서 참조함)

<최근 1년 실거래가 정보>
- 총 거래 수: 139건
- 동일 평수 거래 수: 10건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-08-25 148.982 13 82000
2020-07-09 148.982 3 75000
2020-06-12 148.982 6 75000
2020-06-12 148.982 5 75000
2020-04-18 148.982 3 65000
2020-02-07 148.982 8 69000
2019-12-10 148.982 12 69000
2019-12-16 148.982 10 64700
2019-12-21 148.982 13 67000
2019-10-11 148.982 12 59900






경기도 수원시 영통구 매영로310번길 12, 541동 2층201호 (영통동,쌍용아파트) [집합건물 철근콘크리트 벽식구조 59.965㎡]

항목
경매번호 2020타경178,2020타경57228(중복)
경매날짜 2020.11.05
법원 수원지방법원
담당 경매3계
감정평가금액 366,000,000
경매가 366,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 253건
- 동일 평수 거래 수: 253건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-12 59.965 2 29200
2020-09-21 59.965 11 40000
2020-09-23 59.965 6 39000
2020-09-12 59.965 15 37500
2020-09-14 59.965 12 36000
2020-09-18 59.965 9 38300
2020-09-17 59.965 4 39000
2020-08-13 59.965 13 36000
2020-08-21 59.965 3 38500
2020-08-25 59.965 4 38800
2020-07-02 59.965 11 39000
2020-07-02 59.965 18 23000
2020-07-30 59.965 4 37000
2020-07-13 59.965 15 38300
2020-07-03 59.965 7 37900
2020-07-23 59.965 5 36900
2020-06-10 59.965 9 37500
2020-06-20 59.965 4 37500
2020-06-16 59.965 6 37800
2020-06-15 59.965 13 36500
2020-06-26 59.965 12 39800
2020-06-15 59.965 14 37500
2020-06-29 59.965 9 38400
2020-05-02 59.965 11 34700
2020-05-28 59.965 6 36400
2020-05-30 59.965 19 43000
2020-05-15 59.965 12 33200
2020-05-16 59.965 12 32000
2020-05-02 59.965 2 29900
2020-05-24 59.965 20 36000
2020-05-27 59.965 6 32000
2020-05-05 59.965 3 32000
2020-05-06 59.965 10 34000
2020-05-01 59.965 14 31500
2020-05-05 59.965 3 32000
2020-05-08 59.965 8 33800
2020-05-12 59.965 16 33000
2020-05-16 59.965 12 33500
2020-05-21 59.965 13 35500
2020-05-30 59.965 5 35000
2020-05-30 59.965 5 34000
2020-04-17 59.965 1 26000
2020-04-29 59.965 1 28500
2020-04-22 59.965 19 34000
2020-04-30 59.965 13 31900
2020-04-30 59.965 7 33000
2020-04-08 59.965 5 28400
2020-04-09 59.965 17 31500
2020-04-16 59.965 4 31600
2020-04-16 59.965 16 32000
2020-04-17 59.965 6 32300
2020-04-30 59.965 16 33500
2020-04-08 59.965 14 32700
2020-04-02 59.965 15 33000
2020-04-22 59.965 3 30600
2020-04-27 59.965 15 33000
2020-03-02 59.965 5 30000
2020-03-20 59.965 18 28500
2020-03-23 59.965 7 31000
2020-03-09 59.965 5 28600
2020-03-23 59.965 2 29700
2020-03-09 59.965 13 29200
2020-03-09 59.965 15 29200
2020-03-12 59.965 9 32000
2020-03-21 59.965 19 29500
2020-02-01 59.965 15 29000
2020-02-10 59.965 2 26000
2020-02-10 59.965 12 29000
2020-02-12 59.965 13 31800
2020-02-13 59.965 1 26000
2020-02-15 59.965 19 31500
2020-02-15 59.965 7 32000
2020-02-15 59.965 4 32000
2020-02-17 59.965 12 32700
2020-02-01 59.965 4 24800
2020-02-01 59.965 14 30500
2020-02-10 59.965 14 35500
2020-02-13 59.965 15 31500
2020-02-15 59.965 7 28600
2020-02-15 59.965 12 32000
2020-02-17 59.965 4 30500
2020-02-20 59.965 11 28000
2020-02-26 59.965 10 30700
2020-02-03 59.965 10 30600
2020-02-06 59.965 5 31000
2020-02-07 59.965 15 31000
2020-02-14 59.965 4 30600
2020-02-15 59.965 19 32800
2020-02-17 59.965 11 29500
2020-02-21 59.965 11 32400
2020-02-04 59.965 16 26500
2020-02-10 59.965 1 25000
2020-02-15 59.965 16 32000
2020-02-17 59.965 10 32800
2020-02-18 59.965 14 32000
2020-02-21 59.965 11 32000
2020-02-24 59.965 12 32800
2020-02-29 59.965 9 31500
2020-02-04 59.965 1 25500
2020-02-05 59.965 17 28000
2020-01-13 59.965 4 26500
2020-01-16 59.965 13 30000
2020-01-17 59.965 11 30750
2020-01-22 59.965 16 30700
2020-01-22 59.965 15 29000
2020-01-28 59.965 6 29000
2020-01-31 59.965 18 31000
2020-01-09 59.965 8 30000
2020-01-09 59.965 8 29300
2020-01-14 59.965 4 27000
2020-01-30 59.965 7 30000
2020-01-04 59.965 8 29500
2020-01-08 59.965 1 23000
2020-01-10 59.965 12 29800
2020-01-16 59.965 9 28950
2020-01-20 59.965 8 30000
2020-01-06 59.965 7 28500
2020-01-06 59.965 6 28500
2020-01-06 59.965 7 28500
2020-01-09 59.965 2 26000
2020-01-11 59.965 9 28500
2020-01-11 59.965 15 30300
2020-01-11 59.965 14 29800
2020-01-17 59.965 8 29000
2020-01-06 59.965 5 25500
2020-01-06 59.965 18 28400
2020-01-07 59.965 8 28000
2020-01-09 59.965 13 29700
2019-12-18 59.965 1 24000
2019-12-19 59.965 18 29000
2019-12-21 59.965 14 28400
2019-12-23 59.965 6 28000
2019-12-23 59.965 14 28700
2019-12-23 59.965 11 28400
2019-12-24 59.965 9 29500
2019-12-05 59.965 13 24500
2019-12-07 59.965 1 22000
2019-12-09 59.965 18 26400
2019-12-10 59.965 18 28500
2019-12-16 59.965 1 26500
2019-12-16 59.965 1 25800
2019-12-17 59.965 1 25000
2019-12-19 59.965 8 26700
2019-12-21 59.965 9 27000
2019-12-21 59.965 1 24000
2019-12-21 59.965 14 28000
2019-12-24 59.965 12 28000
2019-12-03 59.965 3 24000
2019-12-30 59.965 11 29000
2019-12-30 59.965 3 28000
2019-12-04 59.965 11 26000
2019-12-04 59.965 7 25400
2019-12-06 59.965 7 26000
2019-12-09 59.965 6 26500
2019-12-10 59.965 6 27000
2019-12-10 59.965 11 27000
2019-12-11 59.965 13 26500
2019-12-11 59.965 15 27500
2019-12-12 59.965 1 23000
2019-12-13 59.965 11 27000
2019-12-16 59.965 8 27150
2019-12-16 59.965 16 26500
2019-12-20 59.965 16 26600
2019-12-20 59.965 10 26500
2019-12-21 59.965 13 26700
2019-12-25 59.965 9 23000
2019-12-26 59.965 14 28500
2019-12-03 59.965 9 26000
2019-12-04 59.965 15 27000
2019-12-05 59.965 8 25000
2019-12-11 59.965 5 24500
2019-12-16 59.965 5 26500
2019-12-19 59.965 17 29500
2019-12-20 59.965 15 28700
2019-12-24 59.965 6 26200
2019-12-30 59.965 14 27000
2019-12-31 59.965 2 25300
2019-12-07 59.965 7 25400
2019-12-07 59.965 18 25300
2019-12-09 59.965 5 25000
2019-11-14 59.965 9 25000
2019-11-16 59.965 12 25500
2019-11-16 59.965 4 24800
2019-11-29 59.965 10 29400
2019-11-29 59.965 4 24000
2019-11-13 59.965 7 23000
2019-11-14 59.965 13 26000
2019-11-15 59.965 3 26000
2019-11-15 59.965 16 26500
2019-11-15 59.965 2 23800
2019-11-02 59.965 14 27300
2019-11-27 59.965 2 24000
2019-11-29 59.965 1 21300
2019-11-29 59.965 20 25300
2019-11-30 59.965 18 27000
2019-11-30 59.965 5 25700
2019-11-08 59.965 11 24500
2019-11-11 59.965 6 23500
2019-11-02 59.965 9 25000
2019-11-25 59.965 6 25000
2019-11-08 59.965 16 24600
2019-11-13 59.965 12 24400
2019-11-16 59.965 12 25500
2019-11-18 59.965 4 24000
2019-11-02 59.965 13 25000
2019-11-02 59.965 7 24000
2019-11-20 59.965 3 24000
2019-11-27 59.965 19 24500
2019-11-28 59.965 9 25500
2019-11-30 59.965 3 24000
2019-11-04 59.965 19 23000
2019-11-07 59.965 14 25500
2019-11-07 59.965 5 25000
2019-10-11 59.965 10 24000
2019-10-18 59.965 14 24200
2019-10-18 59.965 18 23500
2019-10-18 59.965 6 23800
2019-10-21 59.965 8 23500
2019-10-21 59.965 18 22400
2019-10-22 59.965 13 25300
2019-10-22 59.965 12 25000
2019-10-24 59.965 12 25600
2019-10-28 59.965 4 23800
2019-10-29 59.965 19 24000
2019-10-03 59.965 12 25000
2019-10-30 59.965 12 25000
2019-10-05 59.965 14 24500
2019-10-11 59.965 10 23800
2019-10-11 59.965 7 23500
2019-10-19 59.965 12 23000
2019-10-21 59.965 12 25200
2019-10-21 59.965 10 25000
2019-10-24 59.965 12 26000
2019-10-26 59.965 10 25000
2019-10-29 59.965 11 24800
2019-10-12 59.965 14 22200
2019-10-16 59.965 12 25900
2019-10-19 59.965 12 25000
2019-10-19 59.965 4 24500
2019-10-21 59.965 10 24400
2019-10-26 59.965 19 22800
2019-10-28 59.965 7 24000
2019-10-29 59.965 17 24000
2019-10-31 59.965 17 24000
2019-10-19 59.965 6 23000
2019-10-21 59.965 10 23000
2019-10-21 59.965 14 24500
2019-10-22 59.965 13 23000
2019-10-24 59.965 8 24500
2019-10-28 59.965 13 24500
2019-10-31 59.965 4 23000
2019-10-31 59.965 10 24700
2019-10-31 59.965 3 24300






경기도 수원시 권선구 동수원로145번길 23, 404동 13층1303호 (권선동,수원아이파크시티4단지) [집합건물 철근콘크리트구조 134.934㎡]

항목
경매번호 2019타경28729
경매날짜 2020.11.04
법원 수원지방법원
담당 경매6계
감정평가금액 611,000,000
경매가 611,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 107건
- 동일 평수 거래 수: 5건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-09-17 134.934 3 75000
2020-06-20 134.934 6 69900
2020-06-09 134.934 7 73000
2020-01-22 134.934 8 64500
2019-12-21 134.934 3 63000






경기도 수원시 권선구 상탑로21번길 7-8, 2층201호 (탑동,가림아파트) [집합건물 철근콘크리트조 77.19㎡]

항목
경매번호 2019타경27375
경매날짜 2020.10.29
법원 수원지방법원
담당 경매7계
감정평가금액 203,000,000
경매가 142,100,000(70%)
유찰여부 유찰\t1회


<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




경기도 수원시 권선구 매곡로 68, 102동 7층706호 (금곡동,일신건영아파트) [집합건물 철근콘크리트벽식구조 84.93㎡]

항목
경매번호 2019타경26396
경매날짜 2020.11.05
법원 수원지방법원
담당 경매3계
감정평가금액 253,000,000
경매가 253,000,000(100%)
유찰여부 신건


<최근 1년 실거래가 정보>
- 총 거래 수: 15건
- 동일 평수 거래 수: 10건
최근 1년 동일 평수 거래건 보기

날짜 전용면적 가격
2020-10-08 84.93 5 30800
2020-08-17 84.93 11 29200
2020-07-18 84.93 3 29000
2020-07-27 84.93 12 33400
2020-07-28 84.93 1 27500
2020-06-19 84.93 9 32000
2020-01-16 84.93 9 28500
2020-01-23 84.93 8 32800
2019-12-25 84.93 5 24830
2019-11-09 84.93 18 25200






경기도 수원시 장안구 수성로394번길 39, 지하층103호 [집합건물 연와조 49.06㎡]

항목
경매번호 2019타경11615
경매날짜 2020.10.30
법원 수원지방법원
담당 경매9계
감정평가금액 72,000,000
경매가 72,000,000(100%)
유찰여부 유찰\t2회

  • 새매각임.

<최근 1년 실거래가 정보>
- 총 거래 수: 0건
- 동일 평수 거래 수: 0건




Rank Game Publisher
1 리니지M NCSOFT
2 리니지2M NCSOFT
3 R2M Webzen Inc.
4 기적의 검 4399 KOREA
5 바람의나라: 연 NEXON Company
6 Genshin Impact miHoYo Limited
7 KartRider Rush+ NEXON Company
8 뮤 아크엔젤 Webzen Inc.
9 라이즈 오브 킹덤즈 LilithGames
10 블레이드&소울 레볼루션 Netmarble
11 V4 NEXON Company
12 A3: 스틸얼라이브 Netmarble
13 라그나로크 오리진 GRAVITY Co., Ltd.
14 그랑삼국 YOUZU(SINGAPORE)PTE.LTD.
15 AFK 아레나 LilithGames
16 스테리테일 4399 KOREA
17 리니지2 레볼루션 Netmarble
18 일루전 커넥트 ChangYou
19 Roblox Roblox Corporation
20 FIFA ONLINE 4 M by EA SPORTS™ NEXON Company
21 슬램덩크 DeNA HONG KONG LIMITED
22 Pmang Poker : Casino Royal NEOWIZ corp
23 메이플스토리M NEXON Company
24 Lords Mobile: Kingdom Wars IGG.COM
25 Empires & Puzzles: Epic Match 3 Small Giant Games
26 FIFA Mobile NEXON Company
27 Age of Z Origins Camel Games Limited
28 마구마구 2020 Netmarble
29 PUBG MOBILE PUBG CORPORATION
30 가디언 테일즈 Kakao Games Corp.
31 Epic Seven Smilegate Megaport
32 Rise of Empires: Ice and Fire Long Tech Network Limited
33 검은사막 모바일 PEARL ABYSS
34 Gardenscapes Playrix
35 한게임 포커 NHN BIGFOOT
36 Clash of Clans Supercell
37 라루나 판타지 Eskyfun Entertainment
38 Summoners War Com2uS
39 황제라 칭하라 Clicktouch Co., Ltd.
40 Cookie Run: OvenBreak - Endless Running Platformer Devsisters Corporation
41 Homescapes Playrix
42 달빛조각사 Kakao Games Corp.
43 Lord of Heroes CloverGames
44 Random Dice: PvP Defense 111%
45 Pokémon GO Niantic, Inc.
46 Brawl Stars Supercell
47 컴투스프로야구2020 Com2uS
48 리버티레기온 Eyougame Inc.
49 Gunship Battle Total Warfare JOYCITY Corp.
50 카이로스 : 어둠을 밝히는 자 Longtu Korea Inc.

고급 Python : Python 함수를 정의 할 때 고려할 10 가지 요소

Python의 함수 선언, 특히 공용 API에 대한 모범 사례

8 월 26 일 · 12최소 읽기
Image for post
~의 사진리카르도 프란츠의 위에Unsplash

프로그래밍 언어가 사용하는 구현 메커니즘에 관계없이 모두 기능을위한 예약 된 자리를 가지고 있습니다. 함수는 데이터 준비 및 처리와 사용자 인터페이스 요소 구성을 담당하므로 모든 코드 프로젝트의 필수 부분입니다. 예외없이 Python은 객체 지향 프로그래밍 언어로 자리를 잡았지만 데이터 관련 작업을 수행하는 함수에 의존합니다. 따라서 좋은 함수를 작성하는 것은 탄력적 인 코드 기반을 구축하는 데 중요합니다.

작은 프로젝트에서 몇 가지 간단한 기능을 정의하는 것은 간단합니다. 프로젝트 범위가 확대됨에 따라 기능이 훨씬 더 복잡해질 수 있으며 더 많은 기능에 대한 필요성이 기하 급수적으로 증가합니다. 모든 기능을 혼동없이 함께 작동시키는 것은 숙련 된 프로그래머에게도 골칫거리가 될 수 있습니다. 프로젝트 범위가 커짐에 따라 함수 선언에 모범 사례를 적용하는 것이 더욱 중요해집니다. 이 기사에서는 함수 선언에 대한 모범 사례, 즉 수년간 코딩을 통해 쌓아온 지식에 대해 이야기하고 싶습니다.

1. 일반 지침

이러한 일반 지침에 익숙 할 수 있지만 많은 프로그래머가 인정하지 않는 높은 수준의 우수 사례이므로 먼저 논의하고 싶습니다. 개발자가 이러한 지침을 따르지 않으면 대가를 지불해야합니다. 코드를 유지 관리하기가 매우 어렵습니다.

기능에 의미있는 이름을 부여해야합니다. 아시다시피 함수는 파이썬의 객체이기도하므로 함수를 정의 할 때 기본적으로 함수 유형의 변수를 만듭니다. 따라서 변수 이름 (즉, 함수 이름)은 수행하는 작업을 반영해야합니다.

현대 코딩에서는 가독성이 더욱 강조되었지만 대부분 주석과 관련하여 논의되고 있으며 코드 자체와 관련하여 논의되는 빈도는 훨씬 적습니다. 따라서 함수를 설명하기 위해 광범위한 주석을 작성해야하는 경우 함수에 좋은 이름이 없을 가능성이 큽니다. 긴 함수 이름에 대해 걱정하지 마십시오. 거의 모든 최신 IDE에는 뛰어난 자동 완성 힌트가 있으므로 전체 긴 이름을 입력하지 않아도됩니다.

기능 명

좋은 명명 규칙은 함수의 인수와 함수 내의 모든 지역 변수에도 적용되어야합니다. 주목해야 할 또 다른 점은 함수가 클래스 또는 모듈 내에서 사용되도록 의도 된 경우 이름 앞에 밑줄을 붙여야 할 수 있다는 것입니다 (예 :def _internal_fun () :)는 이러한 함수가 비공개 용도이며 공개 API가 아님을 나타냅니다.

작고 단일 목적

기능은 작게 유지해야 관리하기 쉽습니다. 집을 짓고 있다고 상상해보십시오 (저택이 아님). 그러나 사용중인 벽돌은 1 미터 큐브입니다. 사용하기 쉽습니까? 아마 아닐 것입니다. 너무 큽니다. 기능에도 동일한 원칙이 적용됩니다. 기능은 프로젝트의 벽돌입니다. 기능의 크기가 모두 방대하다면 건설이 원활하게 진행되지 않습니다. 크기가 작 으면 다양한 장소에 더 쉽게 맞출 수 있으며 필요에 따라 이동합니다.

또한 기능이 단일 목적을 수행하는 것이 중요하므로 기능을 작게 유지하는 데 도움이됩니다. 단일 목적 함수의 또 다른 이점은 이러한 함수의 이름을 훨씬 쉽게 지정할 수 있다는 것입니다. 의도 된 단일 목적에 따라 함수의 이름을 간단하게 지정할 수 있습니다. 다음은 함수를 리팩토링하여 각 함수가 각각 하나의 목적에만 사용되도록하는 방법입니다. 주목해야 할 또 다른 사항은 모든 함수 이름이 이야기를 전달하기 때문에 작성해야하는 주석을 최소화 할 수 있다는 것입니다.

단일 목적

필요한 모든 작업에 대해 함수를 작성하는 데 무제한의 에너지와 시간이 필요하지 않으므로 표준 라이브러리의 공통 함수에 익숙해지는 것이 중요합니다. 자신의 기능을 정의하기 전에 특정 비즈니스 요구가 일반적인 것인지 생각해보십시오. 그렇다면 이러한 특정 및 관련 요구가 이미 해결되었을 가능성이 높습니다.

예를 들어 CSV 형식의 데이터로 작업하는 경우 다음에서 기능을 살펴볼 수 있습니다.CSV 모듈. 또는팬더 라이브러리CSV 파일을 정상적으로 처리 할 수 ​​있습니다. 또 다른 예로, 목록의 요소를 계산하려면 다음을 고려해야합니다.카운터이러한 작업을 위해 특별히 설계된 collections 모듈의 클래스입니다.

2. 기본 인수

함수를 처음 정의 할 때 일반적으로 특정 목적에 사용됩니다. 그러나 프로젝트에 더 많은 기능을 추가하면 밀접하게 관련된 일부 기능이 병합 될 수 있음을 알 수 있습니다. 유일한 차이점은 병합 된 함수의 호출에는 때때로 다른 인수를 전달하거나 약간 다른 인수를 설정해야한다는 것입니다. 이 경우 인수에 기본값을 설정하는 것을 고려할 수 있습니다.

또 다른 일반적인 시나리오는 함수를 선언 할 때 함수가 차등 매개 변수를 사용하는 함수 호출과 함께 여러 목적을 제공 할 것으로 예상하는 반면 일부 다른 매개 변수는 약간의 변형이 필요하다는 것입니다. 기본값을 덜 가변적 인 인수로 설정하는 것을 고려해야합니다.

기본 인수 설정의 이점은 간단합니다. 대부분의 경우 불필요한 인수 설정을 처리 할 필요가 없습니다. 그러나 이러한 매개 변수를 함수 시그니처에 유지할 수 있으므로 필요할 때 함수를 더 유연하게 사용할 수 있습니다. 예를 들어, 내장정렬 됨 ()함수를 호출하는 방법에는 여러 가지가 있지만 대부분의 경우 기본 형식 만 사용합니다.정렬 됨 (the_iterable), 오름차순 사전 순으로 iterable을 정렬합니다. 그러나 오름차순이나 기본 사전 순서를 변경하려는 경우 다음을 지정하여 기본 설정을 재정의 할 수 있습니다.역전인수.

우리 자신의 함수 선언에 동일한 방법을 적용해야합니다. 어떤 값을 설정해야하는지에 관해서는 대부분의 함수 호출에 사용할 기본값을 선택해야합니다. 이것은 선택적 인수이기 때문에 귀하 (또는 귀하의 API 사용자)는 대부분의 상황에서이를 설정하고 싶지 않습니다. 다음 예를 고려하십시오.

기본 인수

기본 인수를 설정하는 방법이 있습니다. 인수가 변경 가능한 객체 인 경우 기본 생성자를 사용하여 설정하지 않는 것이 중요합니다. 함수는 Python의 객체이며 정의 될 때 생성되기 때문입니다. 부작용은 함수 선언시 기본 인수가 평가되므로 기본 가변 객체가 생성되고 함수의 일부가된다는 것입니다. 기본 개체를 사용하여 함수를 호출 할 때마다 기본적으로 함수와 연결된 동일한 변경 가능한 개체에 액세스하게됩니다.하지만 의도적으로 새로운 개체를 만드는 함수가있을 수 있습니다. 다음 코드 스 니펫은 기본 변경 가능 인수 설정의 원치 않는 부작용을 보여줍니다.

기본 변경 가능 개체

위에서 볼 수 있듯이 두 개의 개별 쇼핑 목록을 만들려고했지만 두 번째 함수 호출은 여전히 ​​동일한 기본 개체에 액세스하여축구동일한 목록 개체에 추가 된 항목. 문제를 해결하려면 다음 구현을 사용해야합니다. 구체적으로는없음변경 가능한 인수의 기본값으로 :

변경 가능한 인수의 기본값으로 없음

3. 여러 값 반환 고려

함수가 복잡한 작업을 수행 할 때 이러한 작업이 두 개 이상의 개체를 생성 할 수 있으며,이 모든 개체는 후속 데이터 처리에 필요합니다. 이론적으로는 함수가 클래스 인스턴스를 출력으로 반환 할 수 있도록 이러한 객체를 래핑하는 클래스를 만들 수 있습니다. 그러나 Python에서는 함수가 여러 값을 반환 할 수 있습니다. 보다 정확하게 말하면 이러한 여러 값은 튜플 객체로 반환됩니다. 다음 코드는 간단한 예를 보여줍니다.

여러 반환 값

위에 표시된 것처럼 반환 된 값은 쉼표로 구분됩니다. 기본적으로 튜플 객체를 생성합니다.유형()함수.

한 가지 주목할 점은 Python 함수가 여러 값을 반환 할 수 있지만이 기능을 남용해서는 안된다는 것입니다. 하나의 값 (함수가 명시 적으로 아무것도 반환하지 않으면 실제로없음모든 것이 간단하고 대부분의 사용자는 일반적으로 함수가 하나의 값만 반환하기를 기대하기 때문입니다. 경우에 따라 두 개의 값을 반환하는 것이 좋으며 세 개의 값을 반환하는 것도 괜찮지 만 네 개의 값을 반환하지 마십시오. 어떤 사용자에게 많은 혼란을 줄 수 있습니다. 이런 일이 발생하면 함수를 리팩토링해야 함을 나타내는 좋은 표시입니다. 함수는 여러 용도로 사용되며 더 많은 전용 책임이있는 작은 함수를 만들어야합니다.

4. Try… Except 사용

함수를 공개 API로 정의 할 때 사용자가 원하는 매개 변수를 함수에 설정했다고 항상 가정 할 수는 없습니다. 우리가 직접 함수를 사용하더라도 일부 매개 변수가 우리의 통제를 벗어나 생성되어 우리의 함수와 호환되지 않을 수 있습니다. 이 경우 함수 선언에서 무엇을해야합니까?

첫 번째 고려 사항은시도…일반적인 예외 처리 기술입니다. 잘못 될 수있는 코드 (예 : 특정 예외 발생)를시험절과 가능한 예외는절.

다음 시나리오를 살펴 보겠습니다. 특정 비즈니스 요구 사항은 함수가 파일 경로를 사용하고 파일이 존재하고 성공적으로 읽힌 경우 함수가 파일에 대해 일부 데이터 처리 작업을 수행하고 결과를 반환하고 그렇지 않으면 반환하는 것입니다.-1. 이러한 요구를 구현하는 방법에는 여러 가지가 있습니다. 아래 코드는 가능한 솔루션을 보여줍니다.

시도… 문 제외

즉, 함수 사용자가 코드에서 예외를 발생시키는 일부 인수를 설정할 수 있다고 예상하는 경우 이러한 가능한 예외를 처리하는 함수를 정의 할 수 있습니다. 그러나 예에 표시된 기능의 일부가 아닌 한 사용자에게 명확하게 전달해야합니다 (return-1파일을 읽을 수없는 경우).

5. 인수 유효성 검사 고려

사용하는 이전 기능시도…선언문은 EAFP (허가보다 용서를 쉽게 구하기) 코딩 스타일이라고도합니다. LBYL (Look Before You Leap)이라는 또 다른 코딩 스타일이 있는데, 특정 코드 블록을 실행하기 전에 온 전성 검사를 강조합니다.

앞의 예에 따라 LBYL을 함수 선언에 적용 할 때 다른 고려 사항은 함수의 인수를 확인하는 것입니다. 인수 유효성 검사의 일반적인 사용 사례 중 하나는 인수가 올바른 데이터 유형인지 확인하는 것입니다. 우리 모두 알다시피 Python은 동적 유형 언어로 유형 검사를 시행하지 않습니다. 예를 들어 함수의 인수는 정수 또는 부동 소수점 숫자 여야합니다. 그러나 문자열 (호출 자체)을 설정하여 함수를 호출하면 함수가 실행될 때까지 오류 메시지가 표시되지 않습니다.

다음 코드는 코드를 실행하기 전에 인수의 유효성을 검사하는 방법을 보여줍니다.

인수 검증

EAFP 및 LBYL은 함수 인수를 처리하는 것 이상으로 적용될 수 있습니다. 기능의 어느 곳에 나 적용 할 수 있습니다. EAFP는 Python 세계에서 선호되는 코딩 스타일이지만 사용 사례에 따라 EAFP 스타일로 얻는 일반적인 기본 제공 오류 메시지보다 더 사용자 친화적 인 함수 별 오류 메시지를 제공 할 수있는 LBYL 사용을 고려해야합니다. .

6. Lambda 함수를 대안으로 고려

일부 함수는 특정 작업을 수행하기 위해 다른 함수 (또는 일반적인 용어로 호출 가능)를 사용할 수 있습니다. 예를 들어정렬 됨 ()기능에는더 많은 사용자 지정 정렬 동작을 정의 할 수있는 인수입니다. 다음 코드 스 니펫은 사용 사례를 보여줍니다.

함수를 사용한 맞춤 정렬

특히sorting_grade함수는 한 번만 사용되었으며 간단한 함수입니다.이 경우 람다 함수 사용을 고려할 수 있습니다.

람다 함수에 익숙하지 않은 경우 다음은 간단한 설명입니다. 람다 함수는 lambda 키워드를 사용하여 선언 된 익명 함수입니다. 0 개 이상의 인수가 필요하며 다음 형식의 적용 가능한 작업에 대해 하나의 표현식이 있습니다.람다 인수 : 표현식. 다음 코드는 람다 함수를 사용하는 방법을 보여줍니다.정렬 됨 ()위의 솔루션보다 약간 깔끔해 보이는 함수 :

Lambda를 사용한 사용자 지정 정렬

많은 데이터 과학자와 관련된 또 다른 일반적인 사용 사례는 Pandas 라이브러리로 작업 할 때 람다 함수를 사용하는 것입니다. 다음 코드는 간단한 예입니다.람다함수는 다음을 사용하여 데이터 조작을 지원합니다.지도()팬더의 각 항목을 작동하는 함수시리즈목적:

데이터 조작지도()람다

7. 데코레이터 고려

데코레이터는 핵심 기능에 영향을주지 않고 다른 기능의 동작을 수정하는 기능입니다. 즉, 장식적인 수준에서 장식 된 기능을 수정합니다. 데코레이터에 대해 잘 모르시 겠다면 이전 기사를 참조하십시오 (1,2, 및). 다음은 데코레이터가 Python에서 작동하는 방식에 대한 간단한 예입니다.

기본 데코레이터

표시된대로 데코레이터 함수는 단순히 데코 레이팅 된 함수를 두 번 실행합니다. 데코레이터를 사용하려면 데코레이터 함수 이름을 데코 레이팅 된 함수 위에@접두사. 알 수 있듯이 데코 레이팅 된 함수는 두 번 호출되었습니다.

예를 들어 유용한 데코레이터 중 하나는 사용자 정의 클래스에서 사용할 수있는 속성 데코레이터입니다. 다음 코드는 작동 방식을 보여줍니다. 본질적으로@특성데코레이터는 인스턴스 메서드를 변환하여 점 표기법을 사용하는 액세스를 허용하는 일반 속성처럼 작동하도록합니다.

데코레이터 : 속성

데코레이터의 또 다른 사소한 사용 사례는 시간 로깅 데코레이터로, 함수의 효율성이 중요한 경우 특히 유용 할 수 있습니다. 다음 코드는 이러한 사용법을 보여줍니다.

로깅 시간

8. * args와 ** kwargs를 사용하라 — 그러나 간결하게

이전 섹션에서* args** kwargs데코레이터 함수를 정의 할 때 데코레이터 함수를 사용하여 모든 함수를 데코레이션 할 수 있습니다. 본질적으로 우리는* args모든 (또는 더 일반적으로 결정되지 않은 수의) 위치 인수를 캡처하는 동안** kwargs모든 (또는 더 일반적으로 결정되지 않은 수의) 키워드 인수를 캡처합니다. 특히 위치 인수는 함수 호출에서 전달 된 인수의 위치를 ​​기반으로하는 반면, 키워드 인수는 매개 변수를 특별히 명명 된 함수 인수로 설정하는 것을 기반으로합니다.

이러한 용어에 익숙하지 않은 경우 여기에서 기본 제공의 서명을 간단히 살펴볼 수 있습니다.정렬 됨 ()함수:정렬 됨 (반복 가능,*,key = 없음,reverse = 거짓). 그만큼반복 가능인수는 위치 인수이고역전인수는 키워드 인수입니다.

사용의 주요 이점* args** kwargs동일한 문제에 대해 함수 선언을 깨끗하게하거나 덜 시끄럽게 만드는 것입니다. 다음 예는 다음의 합법적 인 사용을 보여줍니다.* arg함수 선언에서 함수가 임의의 수의 위치 인수를 허용하도록합니다.

* args 사용

다음 코드는 합법적 인 사용을 보여줍니다.** kwargs함수 선언에서. 마찬가지로** kwargs사용자가 원하는 수의 키워드 인수를 설정하여 함수를보다 유연하게 만들 수 있습니다.

** kwargs 사용

그러나 대부분의 경우 사용할 필요가 없습니다.* args또는** kwargs. 선언을 좀 더 깔끔하게 만들 수 있지만 함수의 서명을 숨 깁니다. 즉, 함수 사용자는 함수가 취하는 매개 변수를 정확히 파악해야합니다. 그러니 제 충고는 필요하지 않으면 사용하지 않는 것입니다. 예를 들어 사전 인수를 사용하여** kwargs? 마찬가지로 목록 또는 튜플 객체를 사용하여* args? 대부분의 경우 이러한 대안은 문제없이 작동합니다.

9. 인수에 대한 유형 주석

앞서 언급했듯이 Python은 동적 형식의 프로그래밍 언어이자 해석 언어이며, 이는 Python이 코딩 시간 동안 형식 호환성을 포함한 코드 유효성을 확인하지 않는다는 의미입니다. 코드가 실제로 실행될 때까지 함수와 호환되지 않는 유형을 입력합니다 (예 : 정수가 예상 될 때 함수에 문자열 전송).

이러한 이유로 Python은 입력 및 출력 인수 유형의 선언을 시행하지 않습니다. 즉, 함수를 만들 때 어떤 유형의 매개 변수가 있어야하는지 지정할 필요가 없습니다. 그러나 최근 Python 릴리스에서는 그렇게 할 수있게되었습니다. 유형 주석을 사용할 때의 주요 이점은 일부 IDE (예 : PyCharm 또는 Visual Studio Code)에서 주석을 사용하여 유형 호환성을 확인할 수 있으므로 사용자 또는 다른 사용자가 함수를 사용할 때 적절한 힌트를 얻을 수 있다는 것입니다.

또 다른 관련 이점은 IDE가 매개 변수 유형을 알고있는 경우 적절한 자동 완성 제안을 제공하여 더 빠르게 코딩 할 수 있다는 것입니다. 물론 함수에 대한 독 스트링을 작성할 때 이러한 유형 주석은 코드의 최종 개발자에게도 유익합니다.

Image for post
유형 주석 (PyCharm)이있는 유용한 정보

10. 책임있는 문서

나는 좋은 문서를 책임감있는 문서와 동일시합니다. 함수가 사적인 용도로 사용되는 경우 매우 철저한 문서를 작성할 필요가 없습니다. 코드가 스토리를 명확하게 전달한다고 가정 할 수 있습니다. 어느 곳에서나 약간의 설명이 필요한 경우 코드를 재검토 할 때 자신이나 다른 독자에게 알림 역할을 할 수있는 매우 간단한 주석을 작성할 수 있습니다. 여기에서 책임있는 문서에 대한 논의는 공용 API로서의 함수의 독 스트링과 더 관련이 있습니다. 다음 측면이 포함되어야합니다.

  • 함수의 의도 된 작업에 대한 간략한 요약입니다.이것은 매우 간결해야합니다. 대부분의 경우 요약은 한 문장 이상이어서는 안됩니다.
  • 입력 인수 : 유형 및 설명.입력 인수의 유형과 특정 옵션을 설정하여 수행 할 수있는 작업을 지정해야합니다.
  • 반환 값 : 유형 및 설명.입력 인수와 마찬가지로 함수의 출력을 지정해야합니다. 아무것도 반환하지 않는 경우 선택적으로없음반환 값으로.

결론

코딩 경험이 있다면 대부분의 시간이 함수 작성 및 리팩토링에 소비된다는 것을 알게 될 것입니다. 결국 데이터는 일반적으로 너무 많이 변경되지 않으며 데이터를 처리하고 조작하는 기능입니다. 데이터를 신체의 줄기라고 생각하면 기능은 사용자를 움직이는 팔과 다리입니다. 따라서 우리는 프로그램을 민첩하게 만들기 위해 좋은 함수를 작성해야합니다.

이 기사가 코딩에 사용할 수있는 유용한 정보를 전달했으면합니다.

읽어 주셔서 감사합니다.

+ Recent posts