Skip to content

Instantly share code, notes, and snippets.

@chenhan1218
Created August 6, 2020 12:57
Show Gist options
  • Select an option

  • Save chenhan1218/d8959e7f86ab34d149803586ff34dc37 to your computer and use it in GitHub Desktop.

Select an option

Save chenhan1218/d8959e7f86ab34d149803586ff34dc37 to your computer and use it in GitHub Desktop.
enum.ipynb
Display the source blob
Display the rendered blob
Raw
{
"nbformat": 4,
"nbformat_minor": 0,
"metadata": {
"colab": {
"name": "enum.ipynb",
"provenance": [],
"authorship_tag": "ABX9TyNjRxl0hOQsLU9HyQoGo8KC",
"include_colab_link": true
},
"kernelspec": {
"name": "python3",
"display_name": "Python 3"
}
},
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "view-in-github",
"colab_type": "text"
},
"source": [
"<a href=\"https://colab.research.google.com/gist/chenhan1218/d8959e7f86ab34d149803586ff34dc37/enum.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
]
},
{
"cell_type": "code",
"metadata": {
"id": "y3T0FU6O0Tkx",
"colab_type": "code",
"colab": {}
},
"source": [
"import enum\n",
"\n",
"\n",
"class A(enum.Enum):\n",
" a = 1\n",
"\n",
"\n",
"class B(enum.Enum):\n",
" a = 1\n",
"\n",
"\n",
"def func(x: A):\n",
" assert (isinstance(x, A))\n",
" print(x)"
],
"execution_count": 1,
"outputs": []
},
{
"cell_type": "code",
"metadata": {
"id": "sCDA5YSq0tLc",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "67475b95-81d5-4bf9-e853-66bd0781168b"
},
"source": [
"print(A.a)"
],
"execution_count": 2,
"outputs": [
{
"output_type": "stream",
"text": [
"A.a\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "qZ3ZfQK50xIk",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "e72dcf64-b087-4b8b-fe5f-e78a12d80672"
},
"source": [
"func(A.a)"
],
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"text": [
"A.a\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "60LiDv481Ooz",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 170
},
"outputId": "80d97427-fccb-4804-fd65-34701d97b917"
},
"source": [
"A.a+1"
],
"execution_count": 4,
"outputs": [
{
"output_type": "error",
"ename": "TypeError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-4-562f3e4f91ae>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mA\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m+\u001b[0m\u001b[0;36m1\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: unsupported operand type(s) for +: 'A' and 'int'"
]
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "Y9kN72Y31Vts",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 35
},
"outputId": "b3465031-e1af-49e2-81fd-8697e3c98e6f"
},
"source": [
"print(B.a)"
],
"execution_count": 5,
"outputs": [
{
"output_type": "stream",
"text": [
"B.a\n"
],
"name": "stdout"
}
]
},
{
"cell_type": "code",
"metadata": {
"id": "r56_ImKD1ZaX",
"colab_type": "code",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 278
},
"outputId": "77567dd7-84c1-405c-d4bd-e3442d794fec"
},
"source": [
"func(B.a)"
],
"execution_count": 6,
"outputs": [
{
"output_type": "error",
"ename": "AssertionError",
"evalue": "ignored",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mAssertionError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-6-f40eb906b5c0>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mB\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;32m<ipython-input-1-c1d3f1334cd6>\u001b[0m in \u001b[0;36mfunc\u001b[0;34m(x)\u001b[0m\n\u001b[1;32m 11\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 12\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mfunc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mA\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 13\u001b[0;31m \u001b[0;32massert\u001b[0m \u001b[0;34m(\u001b[0m\u001b[0misinstance\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mA\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 14\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mAssertionError\u001b[0m: "
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment