Python数据类型

jac*_*kie 2 python types

这个陈述是真的吗?

Python不对容器或变量强制执行严格类型.有了这个概念,开发人员可以设计一个容器来容纳不同类型的数据

我正在写一篇关于Python的文章并在一个随机网站上发现这个声明,只是想知道是否有人可以为我澄清它,请.

jon*_*tar 10

是的,它是真的.

除了设计容器外,常规列表还可以包含多种类型

>>> myList = [1, 3.14, 'string', {'key1':'value1'}, frozenset([5,2,2,3]), [1,2,3],(5+2j),(4.0,5.0), True, type(5)]
>>> myList
[1, 3.1400000000000001, 'string', {'key1': 'value1'}, frozenset([2, 3, 5]), [1, 2, 3], (5+2j), (4.0, 5.0), True, <type 'int'>]
>>> [type(x) for x in myList]
[<type 'int'>, <type 'float'>, <type 'str'>, <type 'dict'>, <type 'frozenset'>, <type 'list'>, <type 'complex'>, <type 'tuple'>, <type 'bool'>, <type 'type'>]
Run Code Online (Sandbox Code Playgroud)

甚至type是一种类型


S.L*_*ott 6

考虑这个清单

mixed = [ "hello", 3.1415926, 42, (1+2j) ]
Run Code Online (Sandbox Code Playgroud)

该列表有4个项目,每个项目都有不同的类型.

在Java中,您必须声明一个类型.

List<String> javaList= new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)

此Java列表只能包含String对象.

  • 从技术上讲,你可以将`List`声明为`List <Object> javaList = new LinkedList <Object>();`.你可以将任何东西扔进那个列表,只要它不是原始的.就此而言,非类型增强容器不是区分Python和Java的功能. (2认同)