一篇文章教会你什么是Python模仿强类型
共 1697字,需浏览 4分钟
·
2020-09-04 12:00
回复“书籍”即可获赠Python从入门到进阶共10本电子书
前言
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强大的提示功能,但并不是万能的,如下图所示。
这很正常,因为Python是动态语言,变量什么类型只有解释到才知道。
我们将代码稍微改一下,如下图所示。
我们在参数后面加上:str,就表示我希望我接收的参数类型是字符串,如果我传的是数字类型,如下图所示。
Pycharm or Vscode出现飘黄警告,如下图所示。
期望的类型'str',得到却是'int'。
并且在敲入点号的时候,只要是主流的编辑器,都会自动提示,如下图所示。
声明简单类型
常用几种
不管是函数参数还是声明变量,都是:类型
更多类型
Lists
Dicts
类
+和不+类型注释的效果
下图是+类型注释的效果:
下图是不+类型注释的效果:
函数
感言
以上只是简单的写了一下入门常用的一些类型注释,个人认为基本够用。
小编相信,有人一定会说,这样写和静态语言有什么区别或者说这样写毕竟累,并且复杂,但是有些付出是必须的,毕竟开发软件不是一个人在开发,并且新库和新项目已经陆陆续续在使用以上方法,相信普及是个时间问题。
类型注释不仅方便自己观看以前的代码,也方便别人阅读自己的代码,小编认为很有必要学习一下。
想学习更多关于Python的知识,可以参考学习网址:http://pdcfighting.com/
------------------- End -------------------
往期精彩文章推荐:
欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持
想加入Python学习群请在后台回复【入群】
万水千山总是情,点个【在看】行不行
/今日留言主题/
随便说一两句吧~~