您的位置:首页 > 编程语言 > Python开发

Python基本数据类型

2016-02-16 23:12 676 查看

Python基本数据类型

1、 数字

Python中数字包括几种类型,类型分别如下:

整数;长整数;浮点数;复数

整数和长整数在表示方法上的不同之处在于长整数需要用后缀L表示为长整数,所表示的含义为long,长整数表示的数字为无限大小,在整数达到一定长度之后会自动转换为长整数。

整数还可以分为八进制表示,前缀用0开头;十六进制表示,前缀用0x开头。

浮点数的意义为小数点的位置是可以发生变化的,从而称之为浮点数,浮点数是包含有小数点的。

复数的虚部用j结尾。

部分例子如下:

>>> a = 12

>>> b = 13.0

>>> a + b

25.0

>>> a = 1+2j

>>> b = 2+3j

>>> a + b

(3+5j)

>>> a = 1.3

>>> b = 1

>>> a - b

0.30000000000000004

>>> b = 1.0

>>> a - b

0.30000000000000004

在进行浮点数运算的时候,注意小数点的位数,如果是整形和浮点数进行运算,那么在计算的时候,和实际计算的值是有区别的,主要是由于浮点数的精度所导致

1.1 算术运算符

运算符包括加减乘除,乘方,取余等运算符,在计算的时候,如果有浮点数,那么会将整数自动转换为浮点数进行运算,在优先级中,乘方的优先级最高,可以使用括号来进行修改其优先级。符号分别为:+,-,*,/,%,浮点除法为//

1.2 比较运算符

比较运算符根据表达式的值为真假,从而返回布尔值True或者False,如下:

<

>

<=

>=

==

!=

1.3 逻辑运算符

逻辑运算符包括三种,如下所示:

And

Or

not

使用逻辑运算符可以将任意表达式连接在一起,并得到一个布尔值。

如下例子是可以使用的:

>>> 3<4<5

True

>>> 6>=5>=4

True

可以使用这种形式来表示and的条件。在进行求值得时候,从左到右的顺序执行。

在进行条件的判断的时候,注意适当的使用括号来增加代码的可读性。

1.4 对象的比较

在进行对象的比较的时候,一般比较都是比较对象的值,但是也可以比较对象的身份,如下所示:

>>> a = 1000

>>> b = 1000

>>> a is b

False

>>> a is not b

True

在进行对象比较的时候,由于字符串和整数是不可变类型,所以python会很高效的缓存它们,从而在表面上没有创建新建对象的假象,如下和上面的结果就完全不同:

>>> a = 1

>>> b = 1

>>> id(a)

56537896

>>> id(b)

56537896

>>> a is b

True

>>> a = "kel"

>>> b = "kel"

>>> a is b

True

Python仅缓存简单的整数,大概范围在-1-100之间。缓存的字符串如果没有引用,那么会自动被销毁。

Python中is
和not
都是python的关键字

1.5 标准类型函数

Cmp(),str(),type()内建函数,分别为比较两个数字的大小,将数字转换为字符串,返回数字对象的类型,如下所示:

>>> cmp(1,2)

-1

>>> cmp(-1,2)

-1

>>> cmp(1,1)

0

>>> str(1)

'1'

>>> type(1)

<type 'int'>

>>> type(98L)

<type 'long'>

1.6 转换工厂函数

转换工厂函数主要为:int(),float(),long(),complex()

>>> int(4.22)

4

>>> long(42)

42L

>>> float(4)

4.0

1.7 模块函数介绍

常用函数如下:

函数

功能

Abs(num)

返回num的绝对值

Coerce(num1,num2)

将num1和num2转换为同一类型,然后以元祖形式返回

Divmod(num1,num2)

除法,取余运算结合,返回一个元祖(num1/num2,num1%num2)

Pow(num1,num2,mod=1)

取num1的num2次方,如果提供mod参数,则计算结果对mod进行取余

Round(flt,ndig=0)

接受一个浮点数flt对其结果四舍五入,保存ndig位小数,默认小数点后0位--仅用于浮点数

模块random():

2、 字符串

字符串是由一系列的字符组成,字符串可以包含字母,数字和一些控制字符组成,由单引号或者双引号,或者三引号组成,在输出的时候,可以使用三引号来整理要输出的格式,在进行换行时,可以使用换行符或者是三引号来进行换行,利用引号或者括号来进行换行是不可以的。

>>> print "kel

File "<stdin>", line 1

print "kel

^

SyntaxError: EOL while scanning single-quoted string

>>> print ("krl

File "<stdin>", line 1

print ("krl

^

SyntaxError: EOL while scanning single-quoted string

在上面的例子中,表示使用双引号或者是括号来进行换行都是会出错的。

2.1 字符串中的转义

字符串中的转义字符为\,在其中包含的转义字符如下:

转义字符

含义

\t

制表符

\n

换行符

\r

回车符

\\

反斜杠

\”

双引号,非字符串结束

\‘

单引号,非字符串结束

2.2 字符串的索引和切片

在字符串中,字符串是不可变序列的列表,也就是无论对字符串如何操作,都是不能改变原来字符串的,只能创建一个新的字符串,如下:

#字符串是不可变的

>>> str = "kel"

>>> str.join("--")

'-kel-'

>>> str

'kel'

>>> str.split("e")

['k', 'l']

>>> str

'kel'

#字符串切片和索引

>>> str

'kel'

>>> str[0]

'k'

>>> str[1:2]

'e'

>>> str[1:100]

'el'

>>> str[:]

'kel'

>>> str[:1]

'k'

>>> str[1:]

'el'

#索引可以使用复数,表示从后面开始

>>> str[-1]

'l'

>>> str[-3:-1]

'ke'

2.3 格式化字符串

在进行变量替换的时候,需要使用到格式化字符串,如下所示:

>>> print "your name:%s" % (str) ,"this is append"

your name:kel this is append

>>> print "your name:%s ,your age: %s " %(str,29)

your name:kel ,your age: 29

在进行格式化其他类型的时候,只是%s使用不同,例如使用%d表示格式化为十进制进行输

2.4 原始字符串

原始字符串表示在字符串中不需要转义字符\即可使用,但是在使用windows的路径的时候,如果以\结尾,那么会报错。

在使用原始字符串的时候,只要在字符串前面加上r即可,在原始字符串中,反斜杠\将不再是表示为转义。如下

>>> path = r"c:\home\kel\"

File "<stdin>", line 1

path = r"c:\home\kel\"

^

SyntaxError: EOL while scanning single-quoted string

>>> path = r"c:\home\kel"

>>> print path

c:\home\kel

2.5 字符串常用方法

主要的方法:

Join()和split()方法:

>>> str ="kel is the good man!"

>>> " ".join(x.capitalize() for x in str.split(" "))# 将split返回的list中的值首字母大写,然后用空格分开

'Kel Is The Good Man!'

下面是string.py的注释

join(words, sep=' ')

join(list [,sep]) -> string

Return a string composed of the words in list, with

intervening occurrences of sep. The default separator is a

single space.

(joinfields and join are synonymous)

下面是常用的方法:

字符串操作

描述

String.capitalize()

将字符串的第一个字母大写

String.count()

获得字符串中某一字符串的数目

String.find()

获得字符串中某一字符串的起始位置

String.isalnum()

检测字符串是否仅包含0-9

String.isalpha()

检测字符串是否仅包含A-Za-z

String.isdigit()

检测字符串是否仅仅包含数字

String.islower()

检测字符串是否均为小写

String.isspace()

检测字符串是否均为空白字符

String.istitle()

检测字符串是否为首字母大写

String.isupper()

检测字符串是否均为大写

String.join()

连接字符串

String.lower()

将字符串全部转换为小写

String.split()

分割字符串

String.swapcese()

将字符串中大小写进行转换

String.title()

将字符串中的首字母大写

String.upper()

将字符串中的字母全部大写

Len(string)

获取字符串长度

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: