Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python中的可选静态类型的状态?

Python中的可选静态类型的状态?
EN

Stack Overflow用户
提问于 2013-08-21 09:50:57
回答 1查看 2.4K关注 0票数 25

我玩Typscript已经有一段时间了,我不得不说,由于nodejs比当前的CPython实现更快,所以我更倾向于用它来做更多的事情。

事实上,我已经用它制作了几个基本的应用程序,甚至是桌面应用。我喜欢打字稿的事实是,它有可选的静态类型。这使得编码更容易,更不用说intellisense了,当您想要快速编码并运行原型时,intellisense是令人惊奇的。我在开发过程中也遇到了较少的bug。

但问题就在这里,我已经使用Python一年了,我喜欢它的语言,我只是更习惯于语法。然而,我越来越多地看到,可选的静态类型对于Python来说是一个很棒的加点。所以,我做了一些研究,我首先试图了解静态打字的情况是什么。就像其他人一样,我用搜索引擎来找出答案。

以下是我读过的一些信息来源:

  1. 在Python中添加可选的静态类型

如果您在这里查看实现(摘自上述链接):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from StringIO import StringIO

def foo(f: StringIO) -> str:
    f.write("hello")
    return f.getvalue()

f1 = StringIO("booh+")
print foo(f1)  # prints "booh+hello"

现在,这看起来非常类似于类型记录中的实现。然而,如果你看一看日期,它可以追溯到2004年。

然后,我又看了看一张BDFL,Guido做的幻灯片:

  1. 为什么要添加静态类型?

同样,你也会看到同样的言辞。然而,我没有找到任何有关这方面的新信息。

我还查看了关于强制执行静态类型的@这个答案

所以,我想问一下,在Python中添加可选的静态类型的情况或状态是什么?或者我们需要发明类似于类型记录的东西,但对于Python3呢?

我认为可选的静态类型很重要,因为在我自己非常有限的经验中,我看到类似类型记录和C#这样的东西工作得更好,因为当我制作复杂的类或做大型项目时,我看到静态类型在帮助我更快地编写代码和避免错误方面起了很大的作用。我肯定我不像这里的大多数开发人员那样优秀,但这就是我的看法。所以我觉得这是一个很重要的问题。我的意思是,如果使用Python提供的漂亮语法对C#这样的语言进行可选的键入,那么Python可能是不可阻挡的(耶!)。

我已经对此做了一些研究,但我没有得到任何实质性的信息,所以我希望so的一些出色和明智的成员能够对这个问题有所了解。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-21 10:21:49

或者我们需要发明类似于类型记录的东西,但对于Python3呢?

那是形象化 !!:-)

就我个人而言,我认为要么他们要合并,要么Python会想出他们自己的解决方案。希望这很快就会发生!

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18364372

复制
相关文章
(六·)可选的对象属性类型
我们上一章节中定义的对象属性,使用的时候必须要包含定义的属性,否则就会报错,那么如果在我们开发中,有些属性不是必须的怎么办呢?
老怪兽
2023/02/22
1.3K0
swift 可选类型笔记
       晚上十一点半了,看书累了,原本想睡了的,想了想,还是把刚看的总结一下,把这篇笔记写了吧。广州下雨,真特么的冷。。好了,废话不说了,说正题说说Swift可选类型。 先定义一个变量: var string="zhangxu"   想想这个变量要强转成 Int 类型的会怎样? // var Zint: int = string.toint() 这样子肯定是不行的,没发转换成 Int 类型的,那有没有想过 Zint 的值会是什么呢? 这时候我们今天的主角,可选类型就登场了! var Zint
Mr.RisingSun
2018/01/09
6750
iOS:swift :可选类型
import UIKit /*: 可选类型 * 可选类型表示变量可以有值, 也可以没有值 * C 和 Objective-C 中并没有可选类型这个概念 * Swift中只有可选类型才可以赋值为nil
用户1941540
2018/05/11
1.2K0
python的实例_类_静态方法—特殊函数—状态码
以某
2023/03/07
4750
python的实例_类_静态方法—特殊函数—状态码
python 参数可选的装饰器
from functools import wraps, partial import logging
用户5760343
2019/12/12
1K0
Python 中的枚举类型
你好,我是 征哥,今天分享一下 Python 中的枚举类型,为什么需要枚举类型,及如何使用。
somenzz
2022/10/25
9590
Python 中的异常类型
Python中的异常类型 异常类型集合 异常名称 说明 Exception 通用异常类型(基类) ZeroDivionError 不能整除0 AttributeError 对象没有这个属性 IOError 输出输出操作失败 IndexError 没有当前索引 异常名称 说明 KeyError 没有这个键值(Key) NameError 没有这个变量(未初始化对象) SyntaxError Python语法错误 SystemError 解释器的系统错误 ValueError 传入的参数错误 代码 # co
Zkeq
2022/05/18
9840
Python中的枚举类型
>>> from enum import Enum #导入模块中的类 >>> class Color(Enum): #创建自定义枚举类 red = 1 blue = 2 green = 3 >>> Color.red #访问枚举类的成员 <Color.red: 1> >>> type(Color.green) #查看枚举类成员的类型 <enum 'Color'> >>> isinstance(Color.red, Color) True >>> x = dict() >>>
Python小屋屋主
2018/04/16
1.2K0
python中的时间类型
时间类型是编程语言中经常使用到的,且在日常生活中也常用到。本文将介绍几种时间库的常用方法,以满足日常编程的需要,主要涉及的库有:time、datetime中的time类型。
python数据可视化之路
2023/02/23
2.2K0
Python中的数组类型
Python没有提供内置的数组类型,但是通过标准库array提供了array类支持数组的创建与使用,可以创建的数组类型包括整数、实数、Unicode字符等等,可以使用help()函数查看更完整的类型列表。 >>> from array import array >>> s = "Hello world" >>> sa = array('u', s) #创建可变字符串对象 >>> print(sa) array('u', 'Hello world') >>> print(sa.tostring())
Python小屋屋主
2018/04/16
3.9K0
Python中的布尔类型
布尔类型还可以与其他数据类型进行逻辑运算,Python规定:0、空字符串、None为False,其他数值和非空字符串为True。
py3study
2020/01/09
1.7K0
python静态类型检查工具mypy
mypy 是 Python 的一个可选静态类型检查器,旨在结合动态(或“鸭子”)类型和静态类型的优点。mypy 将 Python 的表达能力和便利性与强大的类型系统和编译时类型检查相结合。mypy 类型检查标准 Python 程序;使用任何 Python VM 运行它们,基本上没有运行时开销。
zy010101
2022/05/05
8800
[oeasy]python0050_动态类型_静态类型_编译_运行
动态类型_静态类型 回忆上次内容 上次了解了 帮助文档的 生成 开头的三引号注释 可以生成 帮助文档 文档 可以写成网页 python3 本身 也有 在线的帮助手册 目前的程序 提高了 可读性 有什么方法 可以让程序 更可读么?🤔 变量名 首先 在变量名上想办法 名字 本身就有某些含义 具有某些可读性 可以把 a 换成 apple :4,10s/a/apple/gc 过程中需要用Y/n进行确认 b 换成 banana :11,17s/b/banana/
oeasy
2023/05/09
3820
[oeasy]python0050_动态类型_静态类型_编译_运行
python里[::-1]_python中的数组类型
当j缺省时,默认为len(alist), 即a[1:]相当于a[1:len(alist)]
全栈程序员站长
2022/09/22
1.5K0
python中的数据类型
Python 支持三种不同的数字类型整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。
用户7737280
2021/11/10
1K0
python中的强制类型转换
python内提供了几种称为强制类型转换的函数,可以将一个变量的类型强制转换为另一种类型。比如,整型->浮点型,列表->元组。
matinal
2023/10/13
3740
Python 函数中的参数类型
Python 中函数的参数类型比较丰富,比如我们经常见到 *args 和 **kwargs 作为参数。初学者遇到这个多少都有点懵逼,今天我们来把 Python 中的函数参数进行分析和总结。
码农小胖哥
2020/02/24
3.3K0
通俗的方式理解动态类型,静态类型;强类型,弱类型
引言 今天和一个朋友讨论 C++ 是强类型还是弱类型的时候,他告诉我 C++ 是强类型的,他和我说因为 C++ 在写的时候需要 int,float 等等关键字去定义变量,因此 C++ 是强类型的,我告诉他 C++ 是弱类型的他竟然还嘲笑我不懂基础。 我又尝试去问了另外一个同学 Python 是强类型还是弱类型的时候,得到的竟然是弱类型,就因为定义变量没有 int,float! 然后我想找一些网上的资料试图告诉他们他们是错的(我是对的),结果发现网上的资料大多为了严谨结果把简单的问题(其实并不简单)说的很
桃翁
2018/06/27
2.3K0
TypeScript中的可选属性和只读属性
可选属性 接口里的属性不全都是必需的。 有些是只在某些条件下存在,或者根本不存在。 例如给函数传入的参数对象中只有部分属性赋值了。带有可选属性的接口与普通的接口定义差不多,只是在可选属性名字定义的后面
孙亖
2018/06/07
2.9K0
python中的类型和对象
type(list)查看list是由谁实例化的 或者list.__class__
py3study
2020/01/09
1.3K0
python中的类型和对象

相似问题

可选的静态类型对Python的设计有好处还是不利?(包括类型检查装饰示例)

13

断言前的Python可选类型

12

对可选类型调用静态函数

42

python类型的静态字段

49

Python中的静态类型检查工具

714
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文