python的代码块使用什么控制类、函数以及其他逻辑判断_一篇文章教会你什么是Python模仿强类型...

前言

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强大的提示功能,但并不是万能的,如下图所示。

1d0057967e9f90cc5d4e357dac5179f0.png

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

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

03d3a17ace5b97632c24cbc1b67bafcb.png

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

678ff5033a78cc54677aacda4c0434b3.png

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

44f3d5c0ee947d0dc20166064c4aa34d.png

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

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

7cd77cb53fff20d3f91363fcff65bdb4.png

声明简单类型

常用几种

2ea48813029a01f9649a44ff7f20d361.png

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

更多类型

Lists

51fd6c3301851e6a1787b1c016ecdf5b.png

Dicts

3cb74a69dcbfd3ea80f5bf289ce33b4d.png

a0edd2870b17b1b7b5ff84a6eab9e807.png

+和不+类型注释的效果

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

41f34efd00b4c4ba433d54144655a004.png

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

fc7bbe41fc3c1f53e52b8d072fd337ea.png

函数

9f4209acb842404d6bd88abdc69c8ae8.png

感言

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

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

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

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

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

往期精彩文章推荐:

80d7c1aef29f0e625aa4438f25be1453.png

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

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

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

/今日留言主题/

随便说一两句吧~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值