强大的python能做什么_一篇文章教会你什么是Python模仿强类型

本文介绍了Python 3.6及以上版本引入的类型注释,如何通过这种方式规范函数参数类型,提高团队协作效率,并探讨了其在减少代码歧义和提升代码质量上的作用。通过实例演示了类型注解在实际编程中的应用及其在主流编辑器中的提示效果。
摘要由CSDN通过智能技术生成

前言

Hi,各位小伙伴,你们好,今天我们来说一个Python未来趋势的并且一个好玩的东西。

我们可能多多少少都听过一句话,动态一时爽,重构火葬场。从生产角度出发,Python确实是一门很优秀的语言,但是当多人协作时,或者接手别人Python代码时,估计是有些头疼的。

Python虽然生产力高,语法强大,具备动态语言的灵活性,但是也正是因为这样,估计每个人写的代码有很大差别,那有没有什么办法尽可能的避免这种情况呢?

关于这个,Python前辈也发现这个弊病,所以,在Python3.6之后,推出了"Python类型注释"。

来吧,各位,上车吧,我们一起看一下。

环境

Python解释器 3.6+

关于Python版本,尽可能的选择Python3.6+,因为在Python3.6+之后,在Python的异步彻底崛起,虽然目前处于测试阶段,但是我相信,用不了多久,Python一定会更加优秀。

一个简单的例子

def speak(name,age):print(name,age)

speak("张三","18")

我们可以很清晰的知道,speak函数的name参数,接收的一定是个字符串,并且以后我也希望它接收的一直是字符串,传统的写法如上,当然,现在我也是这么写,毕竟我太赖了。

但是现在有个很简单的需求,我想把name接收的参数都转成大写,so,我们都知道字符串有upper方法。

print("stark".upper())

但是当我们敲“.”符号的时候,有时候可能并不会出现自动提示,但是name确实是字符串。

注:Pycharm可能会提示出来,但是有时候会失败,这要归功于Pycharm强大的提示功能,但并不是万能的,如下图所示。

28e1aac2-0afc-40ac-b1a1-35c42a86b872.png

这很正常,因为Python是动态语言,变量什么类型只有解释到才知道。

我们将代码稍微改一下,如下图所示。

e94ba1c0-5308-44cb-b485-ae7b40d5e0ed.png

我们在参数后面加上:str,就表示我希望我接收的参数类型是字符串,如果我传的是数字类型,如下图所示。

48f0cf3e-ccf9-4611-9d8d-7ce15ae5ffef.png

Pycharm or Vscode出现飘黄警告,如下图所示。

06560a07-dd59-4140-a3ea-64a50687404a.png

期望的类型'str',得到却是'int'。

并且在敲入点号的时候,只要是主流的编辑器,都会自动提示,如下图所示。

547ed84e-3ea9-4119-ae36-7969f3361091.png

声明简单类型

常用几种

57098fcf-0c7a-4d07-834f-f27d027b6bb3.png

不管是函数参数还是声明变量,都是:类型

更多类型

Lists

25e8afbb-1d78-4d52-8608-af8fc60d76c5.png

Dicts

bb8020e7-3bef-4030-a44b-972369253d81.png

eb8aea80-e41c-4595-b1a8-928615b9fb44.png

+和不+类型注释的效果

下图是+类型注释的效果:

87bf4a9c-9afe-4431-b0ca-eb3a9c6cfec5.png

下图是不+类型注释的效果:

028e70f7-4559-4ad7-94ae-1cc989e782c6.png

函数

a6927ecf-ad4d-44e1-8cb1-6a4a2e7524d9.png

感言

以上只是简单的写了一下入门常用的一些类型注释,个人认为基本够用。

小编相信,有人一定会说,这样写和静态语言有什么区别或者说这样写毕竟累,并且复杂,但是有些付出是必须的,毕竟开发软件不是一个人在开发,并且新库和新项目已经陆陆续续在使用以上方法,相信普及是个时间问题。

类型注释不仅方便自己观看以前的代码,也方便别人阅读自己的代码,小编认为很有必要学习一下。

想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/

------------------- End -------------------

往期精彩文章推荐:

d0913c05-59aa-4106-b323-a1397755f14a.png

欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持

想加入Python学习群请在后台回复【入群】

万水千山总是情,点个【在看】行不行

/今日留言主题/

随便说一两句吧~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值