1. 真的能用隐式类型转换作为强弱类型的判断标准吗?   最近有些学员问我,Python到底是强类型语言,还是弱类型语言.我就直接脱口而出:Python是弱类型语言.没想到有一些学员给我了一些文章,有中文的,有英文的,都说Python是强类型语言.我就很好奇,特意仔细研究了这些文章,例如,下面就是一篇老外写的文章: https://wiki.python.org/moin/Why%20is%20Python%20a%20dynamic%20language%20and%20also%20a%20…
0.前言 我在上一篇文章中分析了 为什么 Python 没有 void 类型 的话题,在文章发布后,有读者跟我讨论起了另一个关于类型的问题,但是,我们很快就出现了重大分歧. 我们主要的分歧就在于:Python 到底是不是强类型语言? 我认为是,而他认为不是. 他写了一篇很长的文章<谁告诉的你们Python是强类型语言!站出来,保证不打你!>,专门重申了他的观点,但可惜错漏百出. 我曾有想法要写写关于 Python 类型的问题,现在借着这个机会,就来系统地梳理一下吧. (PS:在我写作进行到差不…
python语言的鸭子类型和强类型语言的多态 前面讲接口类的时候举过一个有关支付方式的例子,支付方式可以有几种,微信支付,支付宝支付,苹果支付等,这几个不同的支付都统一于支付,像这样几个类都统一于 某一个类或者某一个方法,或者说一个类有不同的形态的情况就属于多态:虽然几种支付方式都归一于支付类,执行的方法一样,但是每一个支付方式都有自己的特性,实现的 形态也不一样,即为多态性. class Payment: # 必要的父类 def pay(self,money): pass class Wech…
几句话了解python特性 Python 是强类型的动态脚本语言 好多人对python到底是强语言类型还是弱语言类型存在误解,其实,是否是强类型语言只需要一句话就可以判别, 强类型:不允许不同类型相加.例如:整形+字符串会报类型错误. 动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候. 脚本语言:一般是解释性语言,运行代码只需要一个解释器,不需要编辑.…
之前在公司一直做的是C语言的开发,然后做的都是业务方面的东西,做的是sdk,因为最近在找工作,然后今天面试的时候被问到C语言和Python的区别,自己只是简单的说了C是静态语言,在变量在使用前进行声明,而Python是动态语言,在使用的时候可以直接使用,不需要声明,C里面没有对象,而Python里面是有对象.现在想想,C语言在运行的时候是需要编译然后运行,而Python是直接run的. 查了查博客: 1.C语言是编译语言,Python是脚本语言.说是C语言会比Python快 (看了看学校oj最简…
python是强语言还是弱语言,没有一个具体官方的说法 数据类型也就是变量类型,一般编程语言的变量类型可以分成下面两类. 静态类型与动态类型 静态类型语言:一种在编译期间就确定数据类型的语言.大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的.Java 和 C 是静态类型语言. 动态类型语言:一种在运行期间才去确定数据类型的语言,与静态类型相反.VBScript 和 Python 是动态类型的,因为它们确定一个变量的类型是在你第一次给它赋值的时候.不使用显示数据类型声明,…
Python 是 解释型语言,强类型定义语言,动态类型定义语言 编译型语言 & 解释型语言 编译型语言:代码在执行前,需要编译(成机器语言文件,如 .exe 文件):以后再运行时,直接使用编译后的文件(如 .exe 文件) # 1. Java.C++ 等属于编译型语言 # 2. 一次性的编译成平台相关的机器语言文件,运行时脱离开发环境,运行效率高 # 3. 与特定平台相关,一般无法移植到其他平台 # 4. 与其他编译型语言相比,Java 程序能够做到一次编译,处处运行,跨平台性非常强 # 是因为…
数据类型: 1.整型:int 2.小数类型: float(单精度) double(双精度) decimal () 3.字符类型: chr 4.字符串类型:sting 5.日期时间:datetime 6.布尔型数据:bool 7.对象类型:object 8.二进制:binary 语言类型: 1.强类型语言:c++ c c# java 2.弱类型语言:js php 变量定义: 1.强类型语言:int a 2.弱类型语言:var a(var 可以存储任何类型数据) 变量赋值: var a=10 输出语…
近期python语言貌似比較火, 今天闲来无事,简单的看了下,算是个入门吧.一门语言之所以值得这么多人去学,必然有它的独到之处,以下我们就用python和其它语言做个比較. Pythond VS C# 1. Python跨平台,能够执行在linux.weindows等平台 2. Pythond开源,C#则相反 3. Python是解释型语言,C#须要编译,所以Python执行要慢点 Pythond VS Java Python更简洁,Java过于庞大复杂,语法非常多 Python VS C C+…
Python这些年风头一直很盛,占据了很多领域的位置,Web.大数据.人工智能.运维均有它的身影,甚至图形界面做的也很顺,乃至full-stack这个词语刚出来的时候,似乎就是为了描述它. Python虽有GIL的问题导致多线程无法充分利用多核,但后来的multiprocess可以从多进程的角度来利用多核,甚至affinity可以绑定具体的CPU核,这个问题也算得到解决.虽基本为全栈语言,但有的时候为了效率,可能还是会去考虑和C语言混编.混编是计算机里一个不可回避的话题,涉及的东西很多,技术.架…