我学 Python 的时候也不习惯,写代码的时候总有种不安全的感觉,没关系,多写点 Python 代码就习惯了。

写 Python 个人推荐 PyCharm,对不遵守代码规范的写法有比较好的提示,适合初学者养成优秀的代码习惯。

多说两句。

显式声明类型与隐式声明类型的语言各有优劣,与语言的设计和定位,以及历史因素都有关系。

像 C/C++、Java 诞生的年代,编译器非常弱,不能在编译期做太多类型推断。为了帮助编译器做静态类型检查,才要求定义变量的时候显式声明类型。此外,在用继承实现多态的语言里,显式声明类型也是定义多态变量的方式。

现在一些比较新的语言,像 JVM 平台上的 Kotlin、Scala,以及 Rust、Go 等等,很多都采取了 静态强类型 + 隐式声明类型 的设计。比如在 Kotlin 里:

val a = 100 // a 自动推断为 Int 类型

Rust:

leta=100// a 自动推断为 i32 类型

这些新语言吸收了学术界有关类型推断的研究成果,能够在编译阶段推断出合适的类型。当然,推断的能力也还有限,无法完全摆脱显式类型声明。

对于 Python 这样的 动态强类型 + 隐式声明类型 语言来说,它并不希望程序员太关心变量是什么类型,是个变量你拿过来用就行。这样一来,虽然损失了一些类型安全,但也提高了语法的灵活性,让写 Python 代码更加舒服,开发效率更高,写出来的代码也更短。这种设计的坏处在于一句话:“动态类型一时爽,代码重构火葬场”,缺乏严谨带来的安全。

c+和python有什么不同-Python和C区别该如何理解?如何适应这种区别?相关推荐

  1. Python学习笔记1 Python基础

    第1章 Python基础 1.1 Python概述及版本介绍 1.Python是一种面向对象的解释型计算机程序设计语言(解释型语言源代码->解释器逐行解释每一句源代码) 2.优点:高级语言.可移 ...

  2. 0基础学好python难不难_零基础学习Python难不难?Python有什么优势?

    原标题:零基础学习Python难不难?Python有什么优势? Python是一种计算机程序设计语言.首先,我们普及一下编程语言的基础知识.用任何编程语言来开发程序,都是为了让计算机干活,比如下载一个 ...

  3. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  4. Python培训教程:Python有哪些比较重要的内置函数?

    学习Python技术或者参加Python工作的小伙伴们应该都知道,在Python编程语言中会经常出现很多内置函数,很少有人清楚这些函数,但是它的功能是不可小觑的,下面小编就为大家详细介绍一下Pytho ...

  5. Python培训分享:Python新版本中的6个新特性

    Python在几年做了一个全面的升级,此次Python升级中有6个新特性,本期小编为大家介绍的Python培训教程就是关于介绍Python新版本中的6个新特性的,来看看下面的详细介绍. Python培 ...

  6. Python培训分享:Python发展前景怎么样?

    最近学习Python技术的同学越来越多,大家对于Python技术比较关注的两个点,就是Python技术好不好学,Python就业前景好不好,那么本文针对Python发展前景怎么样这个问题为大家做下详细 ...

  7. Python培训常识:Python面试中常被问到的几种设计模式要知道

    学习Python技术大家都是为了日后能够找到适合自己的工作岗位,那么除了要学习好Python技术外,对于面试环节的问题也要有所了解,本期小编为大家介绍的Python培训教程就算关于Python面试中常 ...

  8. Python培训分享:Python内置标准异常及其解析

    本期小编为大家带来的Python培训教程是关于"Python内置标准异常及其解析"的内容,我们都知道,在Python技术运作下,总会出现一些Python无法正常处理的程序时就会发生 ...

  9. Python培训分享:python爬虫可以用来做什么?

    爬虫又被称为网络蜘蛛,它可以抓取我们页面的一些相关数据,近几年Python技术的到来,让我们对爬虫有了一个新的认知,那就是Python爬虫,下面我们就来看看python爬虫可以用来做什么? Pytho ...

  10. Python培训教程之Python基础知识点梳理

    Python语言是入门IT行业比较快速且简单的一门编程语言,学习Python语言不仅有着非常大的发展空间,还可以有一个非常好的工作,下面小编就来给大家分享一篇Python培训教程之Python基础知识 ...

最新文章

  1. netstat 命令(Linux)
  2. oracle中的连接字符串
  3. 【渝粤题库】国家开放大学2021春3935理工英语2题目
  4. windows网关详解 【了解网关的重要性,增加网络性能】【FreeXploiT综合文】
  5. 转载给ffmpeg入门级:我的第一个调用FFmpeg库的程序出炉
  6. poj1789 Truck History(最小生成树)
  7. linux环境编程做的是什么,Linux环境
  8. mysql-cacti-templates-1.1.2.tar.gz 免费下载 cacti MySQL添加监控
  9. 【ArcGIS|空间分析|网络分析】2 创建多模式网络数据集
  10. 为什么学习python、python的安装
  11. Android权限管理--权限类型
  12. 调查问卷或量表的选项方向或顺序该如何设置??
  13. Openwrt下ipk包的安装、卸载与更新
  14. 透视表学习(四)想要做好数据分析必知必会排序操作
  15. 前端模块化开发的价值
  16. Nagios下ndo2db服务启动脚本
  17. vuetify 学习第一天之v-data-table_表格组件
  18. 如何用计算机算出男朋友的身高,【趣味物理】如何用物理方法测出男生的真实身高?...
  19. 故障诊断专家系统研究之四-----知识库结构
  20. Quartz 实现画图片、写文字、画线、椭圆、矩形、棱形等 二

热门文章

  1. oracle 多行合并成一行
  2. Spring Autowire自动装配
  3. C#程序员转android开发
  4. 20189208 2018-2019-2 《移动平台开发实践》分析小组项目代码
  5. 在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行
  6. 【CSS】多行溢出显示省略号
  7. 权限管理系统之模块管理
  8. Apache rewrite
  9. C#中关于处理两个大数相乘的问题
  10. matlab 最小一乘法,MATLAB实现最小二乘法