最近看别人写的代码,经常看到这样的写法:

b: float = 0

平时写python代码,基本上没有这么写过,我的经常写法是:

b = 10

那我就感觉人家写的挺独特的,是不是更高级一些啊,我猜想:人家这么写,目的是不是告诉编译器,b的类型是float类型,于是我写了几句代码想测试一下:

a = 10
b: float = 10
print(a)
print(b)
print(type(a))
print(type(b))

运行结果:

从结果来看,我是猜错了。

近来,我看到这种写法用在参数中,于是我测试了一下

# -*- coding: utf-8 -*-
def test(a: int, b: int):return a + bdef test(a: str, b: str):return a + bif __name__ == '__main__':print(test(3, 4))print(test("3", "4"))

运行结果:

我再次得出一个结论,用在形式参数中,表示实际参数的数据类型。

我想看下带有等号的效果,于是做了如下测试:

# -*- coding: utf-8 -*-
def test(a: int, b: int = 10):return a + bif __name__ == '__main__':print(test(3))print(test(3, 20))print(test(3, b=30))

运行结果:

也就是说,如果带有等号,表示的是b的类型是整型,并且初始值是10。调用该函数的时候,如果给出b的值,那么将按照给的值计算。如果b的值没有给出,那么将使用默认值10来进行计算。

理解 | 理解a: float=10相关推荐

  1. 深入理解C++浮点数(float、double)类型数据比较、相等判断

    深入理解C++浮点数(float.double)类型数据比较.相等判断 浮点数在内存中的存储机制和整型数不同,其有舍入误差,在计算机中用近似表示任意某个实数.具体的说,这个实数由一个整数或定点数(即尾 ...

  2. 在调试器下理解RK3588和LINUX5.10

    2023 February 在调试器下理解 RK3588和LINUX5.10 如果说20年前最热的软硬件组合是Windows + X86的话,那么今天最热的组合便是LINUX + ARM.对于从事技术 ...

  3. ap计算机科学考题,把AP计算机A Free Response题做成阅读理解理解翻译题

    原标题:把AP计算机A Free Response题做成阅读理解理解翻译题 AP CSA 简答题简介 APCSA计算机考试历来是申请美校Computer Science专业的敲门砖,它在众多AP考试中 ...

  4. 深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)

    http://www.cnblogs.com/TomXu/archive/2012/01/12/2308594.html 本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整 ...

  5. 深入理解css之float

    前言 在css中,是存在流的概念的.在正常情况下,页面总是从左到右,从上到下布局,这种被称为正常的流.但是有很多情况,正常流是没办法实现的,因此我们需要一些手段来破坏流,从而实现一些特殊的布局,而本节 ...

  6. html的相对位置和绝对位置的理解,搭配float使用。

    前言 通过在公司实习,对html也有了一定的认识,之前在网上看了一些的关于html的相对位置和绝对位置,不是很直观,通过同事和领导的指点,结合自己的认识,想在这说说我的看法. 为了代码看的直观一些,这 ...

  7. 深入理解和应用Float属性

    一.Float的特性 1. 应用于文字围绕图片 2. 创建一个块级框 3. 多列浮动布局 4. 浮动元素的宽度.高度自适应,但可以设置其值. 二.核心解决的问题 文字围绕图片:img标签与多个文本标签 ...

  8. 极速理解设计模式系列:10.抽象工厂模式(Abstract Factory Pattern)

    五个角色:抽象产品角色(AbstractProduct).具体产品角色(Product).抽象工厂角色(AbstractFactory).具体工厂角色(ConcreteFactory).客户端(Cli ...

  9. 全卷积网络的理解——理解论文Fully Convolutional Networks for Semantic Segmentation

    目录 论文详解 1.和VGG网络的对比 2.那么fcn是什么? 3.论文改进的模型 3.1怎样进行上采样的问题 3.2从哪里开始上采样的问题--跳跃连接的问题 3.3整体设计思想 4.1实验结果 4. ...

最新文章

  1. 必须安利的KubernetesDevOps工具
  2. 3DSlicer16:数据类型MRML
  3. [20161006]windows下bbed使用注意.txt
  4. vue项目将token存在(vuex)store和localstorage中
  5. mycli mysql_MyCLI :易于使用的 MySQL/MariaDB 客户端
  6. unity中怎么做河流_【干货】工作中怎么做工业设计的?(一)
  7. python时间库_Python处理日期时间的标准库:time和datetime
  8. js设计模式之观察者模式和发布/订阅模式
  9. vba 添加outlook 签名_利用VBA发送附件电子邮件
  10. 前端证券项目_非科班二本前端大厂面试的心路历程和总结(腾讯、头条、阿里、京东)...
  11. maven学习二(dependencies)
  12. 打印工资条怎么做到每个人都有表头明细_快速制作工资条的方法
  13. x80hd装linux,平板垃圾佬 篇五:台电也能打十个!x80hd双系统8寸的身体2G+32G的心胸~...
  14. SqlHelper——只因为在人群中多看了你一眼
  15. 【Eclipse】更改 Eclipse 的字体和图标大小
  16. OpenCV OAK-D-S2相机测试
  17. PS - 蓝色发光字
  18. 【文献阅读】受山体阴影影响的冰湖制图方法研究(Li JunLi等人,2018.09,IJRS)
  19. 计算机模拟地球爆炸,模拟地球爆炸
  20. 怎么把部分jsp代码嵌入另一个jsp页面里面

热门文章

  1. Liunx的常用命令
  2. [bzoj4922]Karp-de-Chant Number
  3. keil C 51 strlen库函数使用
  4. Spring 3.2.* MVC通过Ajax获取JSON数据报406错误
  5. win8/Metro开发系七 win8 对常见数据源的解析及处理 如:xml,json,以及html代码
  6. 组态王6.55连接MySql数据库(笔记)
  7. 【Scrum】2010.12.27
  8. .Net Validator验证框架 [ .Net | Validator Framework | Attribute ]
  9. Quartz.Net - Lesson 1: 使用Quartz
  10. Oracle学习操作(6)函数与存储过程