python冒号有多少用法?冒号除了切片能怎么用?参数列表里的冒号是什么意思?Pyhon冒号在括号里?Python括号里加:冒号是什么意思?参数列表里加:冒号?def (context : Context)的冒号是什么意思?

今天群里有位群友问了这样一个问题:


正想回答这位群友,却突然发现自己不知道这个‘:’的官方叫法。

查阅过Python文档之后,得到了答案:


在这里简单记录一下:

这个冒号的用法: Type Hints
是Python 3.5/ PEP 484才加入的新特性;
国内通常叫做类型提示。


如图,就是一个简单的例子。str标注的是形参数据类型,-> str 提示的是返回值数据类型。

目的如下:

此PEP旨在为类型注释提供标准语法,为Python代码提供更容易的静态分析和重构、潜在的运行时类型检查,以及(可能在某些上下文中)利用类型信息生成代码。

非目的:

还应该强调的是,Python仍然是一种动态类型语言,而且即使按照惯例,作者也不希望强制使用类型提示。

注:话里话外的意思是,编译器并不会针对这个:专门进行优化,也就是不会因为这个冒号就变成了强数据类型,传入数据类型不是提示类型的时候也不会针对性的报错。

简单来说,对于初学者,当作注释看就行了。

如果您有扎实的基础,根据官方文档的提示,可以使用get_type_hints()和一些第三方模块来实现一些有创造力的想法。

Python括号里加:冒号是什么意思?参数表里加:冒号?相关推荐

  1. python函数注释,参数后面加冒号:,函数后面的箭头→是什么?

    python的函数注释: def f(text:str,max_len:'int>0'=80) ->str:"""这个是函数的帮助说明文档,help时会显示& ...

  2. Python函数参数中的冒号与箭头

    在一些Python的工程项目中,我们会看到函数参数中会有冒号,有的函数后面会跟着一个箭头,你可能会疑惑,这些都是什么东西? 其实函数参数中的冒号是参数的类型建议符,告诉程序员希望传入的实参的类型.函数 ...

  3. python 参数后面加冒号:, 函数后面的添加箭头 None

    def test_should_create_bug_report(api_request_context: APIRequestContext) -> None: def f(text:str ...

  4. python函数定义时参数后面的冒号与箭头

    在刷leetcode的时候发现题目第一个函数定义行里就有参数后的冒号与箭头: class Solution:def search(self, nums: List[int], target: int) ...

  5. python基础 python函数 函数概念 函数的多种参数 多种调用参数 装包 解包 函数代码块 函数的返回值

    python基础 python函数 函数概念 函数的多种参数 多种调用参数 装包 解包 函数代码块 函数的返回值 一 .函数概念 函数是根据需要,将代码打包为代码块, 每一个代码块就可以封装为一个函数 ...

  6. 站长在线Python精讲:在Python函数中理解形式参数和实际参数

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中理解形式参数和实际参数>.本文的主要内容有:Python中形式参数的概念和特点,Python中实际参数的 ...

  7. python注解实现原理_Python3注解+可变参数实现

    一.说明 1.1 关于注解 关于注解这个东西,最早是在大学学java的时候经常会看到某些方法上边@override之类的东西,一方面不知道其作用但另一方面似乎去掉也没什么影响,所以一直都不怎么在意. ...

  8. python使用matplotlib可视化、使用rcParams参数调整可视化图像中线条宽度、线条类型、文本字体、字体大小、字体颜色、字体类型、文本颜色等

    python使用matplotlib可视化.使用rcParams参数调整可视化图像中线条宽度.线条类型.文本字体.字体大小.字体颜色.字体类型.文本颜色等 目录

  9. Python可视化matplotlib自定义:运行时参数修改、自定义样式、默认样式+plt.style.use()

    Python可视化matplotlib自定义:运行时参数修改.自定义样式.默认样式+plt.style.use() 目录 Python可视化matplotlib自定义:运行时参数修改.自定义样式.默认 ...

最新文章

  1. 最全芯片产业报告出炉,计算、存储、模拟IC一文扫尽
  2. python 网页上显示数据_用Python实现网页数据抓取
  3. Linux驱动编程中EXPORT_SYMBOL()介绍
  4. java 最近将工作中用到的工具总结——日期工具
  5. 开源如此火热,但研究表明该领域已不再增长
  6. Xcode Cocoa程序MessageBox 弹框
  7. 深度学习(三)之LSTM写诗
  8. MATLAB imshow之后在四周加上边框
  9. 端到端测试哪家强?不容错过的Cypress
  10. 做前端工程师,就业方向有哪些?你知道吗
  11. c语言考试答案,C语言考试题及答案
  12. Comparable与Comparator对象比较
  13. 扫描工具——Nmap用法详解
  14. 【尚硅谷】React笔记
  15. windows下的Zcash钱包(ZEC钱包)-zcash4win 1.0.12
  16. Pygame简易版2048小游戏:超详细解说,看完还不会可以剁手了(附完整源码)
  17. php文本安全内容敏感词检测(微信的)
  18. 一个简单的库存控制模型
  19. 猴子吃桃问题(三种方法解决)
  20. 继承父类求解矩形,圆形的面积和周长

热门文章

  1. js实现pdf展示及电子签章
  2. 关于偏函数的理解与实例(functools.partial)
  3. 我花8个月从0开始面上大厂自动化测试岗,拿个18k不过分吧?
  4. 嘿嘿,我发现了百度网盘秒传的秘密 !!
  5. 转载:全局拉普拉斯平滑之(1)Strucutre extraction from texture via relative total variation及稀疏矩阵求解...
  6. 【社区图书馆】水浒传之水浒感悟
  7. SDN:ICT的春秋时代
  8. zoj 1107 FatMouse and Cheese 逆向动态规划
  9. 使用YOLOV7训练BDD100K数据集(数据格式转化+训练全流程)
  10. CCNP350-401学习笔记(201-250题)