刚知道,python竟然是强类型语言,一般脚本语言都是弱类型的呀

kanzm2 2009-08-28 07:44:39
刚知道,python竟然是强类型语言,一般脚本语言都是弱类型的呀
---------------------------------
这一点python比较特别呀,别的脚本一个变量可以放各种类型的数据,可是python却只能固定的放置一种类型的数据。
虽然不灵活, 但是严谨度是提高了,大家如何看?
...全文
1146 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cppfaq 2009-08-28
  • 打赏
  • 举报
回复
强弱类型两个说法的中心词是‘类型’,
而不是变量

一个变量是否能够绑定到多种类型,跟该语言是否强弱类型无关
DarkChampion 2009-08-28
  • 打赏
  • 举报
回复
强类型语言
一种总是强制类型定义的语言。Java 和 Python 是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串。

lz的理解好像有些偏差。
  • 打赏
  • 举报
回复
车有车道,马有马道呗
DarkChampion 2009-08-28
  • 打赏
  • 举报
回复
这是 《深入 Python :Dive Into Python 中文版》第2.2节中的话

http://www.woodpecker.org.cn/diveintopython/index.html
kanzm2 2009-08-28
  • 打赏
  • 举报
回复
从下是网上抄的,不知对不对,看来python是动态的语言,但是却是强类型的。


静态类型语言
一种在编译期间就确定数据类型的语言。大多数静态类型语言是通过要求在使用任一变量之前声明其数据类型来保证这一点的。Java 和 C 是静态类型语言。
动态类型语言
一种在运行期间才去确定数据类型的语言,与静态类型相反。VBScript 和 Python 是动态类型的,因为它们确定一个变量的类型是在您第一次给它赋值的时候。
强类型语言
一种总是强制类型定义的语言。Java 和 Python 是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串。
弱类型语言
一种类型可以被忽略的语言,与强类型相反。VBScript 是弱类型的。在 VBScript 中,您可以将字符串 '12' 和整数 3 进行连接得到字符串'123',然后可以把它看成整数 123 ,所有这些都不需要任何的显示转换。
所以说 Python 既是动态类型语言 (因为它不使用显示数据类型声明),又是强类型语言 (因为只要一个变量获得了一个数据类型,它实际上就一直是这个类型了)。
kanzm2 2009-08-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 darkchampion 的回复:]
强类型语言
    一种总是强制类型定义的语言。Java 和 Python 是强制类型定义的。您有一个整数,如果不明确地进行转换 ,不能将把它当成一个字符串。

lz的理解好像有些偏差。
[/Quote]
您的意思是不是说,python虽然是强类型语言,但是它也是动态语言。
这样的话, 动态语言与强弱类型是没有必然联系的。
并不是通常说的。动态语言都是弱类型语言。

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧