首页 > 解决方案 > 一般语法python问题:从类型语言到非类型语言

问题描述

我是 python 语言的新手。我的问题当然是一个幼稚的问题,并且涉及 python 语法。

我正处于必须从理论走向实践的阶段。

这是我想翻译成python语言的一个类(一个打字稿)。

class Category {
    id: number;
    type: 'shop'|'blog';
    name: string;
    slug: string;
    path: string;
    image: string|null;
    items: number;
    customFields: CustomFields;
    parents?: Category[]|null;
    children?: Category[]|null;
}

由于 python 是无类型语言,我对如何翻译有疑问:

直到现在,我一直在使用打字语言,什么都不写会破坏我的习惯。

会是这样吗(它是 django.db 迁移的模型):

>from django.db import models

    >>class Category(models.Model):
    >>>    id = models.AutoField(primary_key=True)
    >>>   type: 'shop'|'blog'
    >>>    name = models.CharField(max_length=100)
    >>>    slug = models.CharField(max_length=100)
    >>>    path = models.CharField(max_length=250)

进而 ... ?

您能否提供一些教程、文档、示例,让您在实践中学习 Python?感谢大家 !

标签: pythontypescriptmodeldefinition

解决方案


在 Python 中定义函数时,可以强制执行静态类型,但这不是必需的。如果您需要强制执行静态类型,您可以执行类似的操作。

//for functions
def addition(a: int, b: int) -> int:
    return a + b
addition(4,10)

//For Variables or attributes
name: str = 'test'
age: int = 10
rating: float = 1.11
is_exist: bool = True

如果您可以参考文档,可以在 python 文档中找到更多与打字相关的内容。


推荐阅读