前言

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学习群请在后台回复【入群】

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

/今日留言主题/

随便说一两句吧~~

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

  1. python网络爬虫_一篇文章教会你利用Python网络爬虫获取穷游攻略

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台, ...

  2. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

  3. python装饰器函数执行后日志_一篇文章搞懂Python装饰器所有用法

    如果你接触 Python 有一段时间了的话,想必你对 @ 符号一定不陌生了,没错 @ 符号就是装饰器的语法糖. 它放在一个函数开始定义的地方,它就像一顶帽子一样戴在这个函数的头上.和这个函数绑定在一起 ...

  4. 有关python方面的论文_一篇文章可以带你理解python中的类

    继续上一章的内容,上一章说到了python的核心部分-创建对象的各种名词的定义,包括:对象,类,多态,封装,继承,接口和内省,面向对象设计.还有不清楚的可以review一下前文.python核心部分创 ...

  5. python爬取素材图片代码_一篇文章教会你利用Python网络爬虫获取素材图片

    [一.项目背景] 在素材网想找到合适图片需要一页一页往下翻,现在学会python就可以用程序把所有图片保存下来,慢慢挑选合适的图片. [二.项目目标] 1.根据给定的网址获取网页源代码. 2.利用正则 ...

  6. 如何用python搜索要用的素材_一篇文章教会你利用Python网络爬虫获取素材图片

    [一.项目背景] 在素材网想找到合适图片需要一页一页往下翻,现在学会python就可以用程序把所有图片保存下来,慢慢挑选合适的图片. [二.项目目标] 1.根据给定的网址获取网页源代码. 2.利用正则 ...

  7. python下载电影天堂视频_一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接...

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的 ...

  8. python下载电影天堂视频教程_一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的下载,而且不能直观的知 ...

  9. id 怎么获取jira 评论_一篇文章教会你使用Python定时抓取微博评论

    [Part1--理论篇] 试想一个问题,如果我们要抓取某个微博大V微博的评论数据,应该怎么实现呢?最简单的做法就是找到微博评论数据接口,然后通过改变参数来获取最新数据并保存.首先从微博api寻找抓取评 ...

最新文章

  1. SharePoint 2013 配置基于AD的Form认证
  2. 你应该知道的print
  3. 【Kafka】Kafka ERROR [ConsumerFetcherThread-console-consumer], Error for partition [xx,5] to broker 10
  4. Spring源码:ApplicationContextInitializer
  5. Delphi7 如何调整背景色为黑色容易护眼
  6. ​【安全篇 / Web过滤】(5.6) ❀ 01. DNS 过滤僵尸网络 ❀ FortiGate 防火墙
  7. js自己总结的小东西(打印出来方便学习)
  8. (BMVC-2021)GaitMask:基于掩码的步态识别模型
  9. C++实现经典同步问题(生产者消费者、读者写者、哲学家进餐、吸烟者问题)
  10. http的CA证书安装(也就是https)
  11. 高中数学知识点:导数的概念及运算(复习+解析+答案)
  12. 基于MFC的U盘检测
  13. PCM开发板模块实验指导--SPI读写PSRAM64实验
  14. 一个简单的ASP登录页面
  15. 手把手教你BCGControlBar MFC界面控件“起航”技巧(文章转载自:慧都控件网)
  16. [BUGKU] [MISC] 图穷匕见
  17. Elastix 2.5 PBX服务器安装配置使用手册
  18. Java例:查询自己的星座
  19. 自动编码(AE)器的简单实现
  20. JS实现两数之和的3种方法

热门文章

  1. 超级干货 :如何创造性地应用深度学习视觉模型于非视觉任务(附代码)
  2. 牛血清白蛋白修饰牛红细胞超氧化物歧化酶SOD/叶酸偶联2-ME白蛋白纳米粒的制备
  3. 计算机毕业设计Java家庭饮食营养管理(源码+系统+mysql数据库+lw文档)
  4. 【MySQL】实验五 子查询
  5. 新华字典 mysql数据库_GitHub - mysqlsc/chinese-xinhua: 中华新华字典数据库。包括歇后语,成语,词语,汉字。提供新华字典API。...
  6. 二、电压源、电流源、受控源
  7. graph Laplacian 拉普拉斯矩阵
  8. unity图片插件精灵
  9. 23种设计模式之工厂模式学习笔记
  10. 高盛合伙人制度和激励机制