python内容限制_Python-Python中函数参数的数据类型限制问题

简短地回答,Python不会为你进行静态语言般的参数类型判断。

Python是一种动态类型的语言,你在声明函数时并不会声明参数的类型。即使解释器想为你检查参数类型,这也是不可能的,因为它也不知道某个参数的正确类型是什么。例如下面的函数声明:

def foo(a, b):

pass

如果你是解释器,单靠这点信息能知道a,b的"正确"类型吗?

这个特征是python的优点之一,当然你也可能觉得是缺点,仁者见仁吧。

如果你的问题是其他人在使用你的代码时错误太多,那么坚决方式很简单:

使用有意义的命名,添加必要的文档:

def view(request, uid):

"""

A request handler for processing user info.

:param request: client request object.

:type request: :class:mypackage.mymodule.Request

:param uid: user id

:type uid: integer.

:returns: blah blah

"""

pass

如果这样还有人抱怨说你的函数经常因为参数类型出问题,你就对他说,眼睛瞎了么!

你要觉得上面麻烦的话,自己检查下类型会死?

def view(request, uid):

assert typeof(request) == Request, "request should be an instance do mypackage.mymodule.Request; Got " + str(typeof(request))

这代码编辑器真心蛋疼啊。。预览跟最后结果还不一样, 我不调了,大家会意就好

blurrcat

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值