python提供的基本数据类型_Python基本数据类型 【转载】

由于先前的java烙印,学习python的时候会时不时的与java来个比较,我想,这也是一种好的学习方式,但有可能把两种语言揉的太紧。时刻要注意,python

is not java and don't use python just as java。

来学习python的内置类型,一定要区分java的简单类型,python的内置类型也是对象(python is a pure

OO language)。

数字类型

python

支持各种常见的数字对象,如整数、浮点数等,此外还支持更加复杂的数据类型,如无限精确整数、复数。下面就与java的数字类型(在java中,简单的数字类型不是对象形式的,不过可以把他们封装成对象,在java

1.5以上,已经提供了自动的“装箱”和“拆箱”),在进行比较学习中,要注意,python的是对象,java的不是对象。

一般整数

python的一般整数就相当于java的int数,如12312323, -10, 0等,占4

byte,应该知道最大能达到多少了吧。在python中,没有像java那样更加细化的short(2 byte)和byte类型。

长整数

java的长整型占8

byte,如231893182123L(注意这个“L”不能省),pyhon中,长整形可以定义无限大,甚至占用整个内存,形式也是128912381283L这个样子,“L”不能省的。

浮点数

python的浮点数只有一种,就叫浮点数,如1.234, 3.14e-10,

4E210等(注意e和E,意义不同),java中浮点数分float型,4 byte,单精度;double型, 8

byte,双精度。

其他进制(八进制和十六进制)

python和jiava的表示方法一致,对于八进制,四个数字一组,第一个数字为0,如0123(十进制为83),

01230123(十进制为340051)。十六进制,不分组,前两位为0x,如0x1234,0xab157。

复数

对于这样的类型,java没有提供。python中,复数形式如3+4j,-3J等(j和J都行)。

字符类型

java提供了字符类型char, 2byte,python中没有提供,但它提供了强大的string类型。

布尔类型

java提供了简单的布尔类型boolean,值为true或false,python的布尔类型值可以是True或False(注意与java的大小写区别),也可以是0或1。

对于java,它的变量必须先声明在使用,而在python中,由于Anything is

Object,变量只是一个指针,所以可以随意使用,不需声明,而且python是一种“弱类型”语言,如下:

python 代码

>>> i = 213

>>>printi

213

>>> i = 1231321342L

>>>printi

1231321342

>>> i = 4E-5

>>>printi

4e-005

>>> i = 0xab413

>>>printi

701459

>>> i = 7 -3j

>>>printi

(7-3j)

>>> i =True

>>>printi

True

怎么样,这里只有一个变量i,却被赋予了n中类型,实际上,i就是一个指针,它不会具有任何意义。

字符串

java中的字符串就不说了,python的字符串也差不多,就是一旦建立,就不可变了。通过例子学吧,这些例子都是《learning

Python》上的,都很classical。

python 代码

>>>len('abc')

3

>>> s = 'abc' + 'def'

>>> s

'abcdef'

>>> 'ha'*4

'hahahaha'

>>>forcins:

printc

a

b

c

d

e

f

>>>forcins:

printc,

a b c d e f

>>> 'd'ins

True

>>> s[3]

'd'

>>> s[-2]

'e'

>>> s[1:4]

'bcd'

>>> s[:-2]

'abcd'

>>> s[2:]

'cdef'

>>> s[2] = 'f'

Traceback (most recent call last):

File "#31>", line 1, in

s[2] = 'f'

TypeError: 'str'objectdoesnotsupport item assignment

>>> s = s + 'g'

>>>''' this is

a multi-line block'''

' thisis\na multi-line block'

>>> s = 'abc' 'def' 'xyz'

>>> s

'abcdefxyz'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值