一、数据类型
1、数字
整型
Python的整型相当于C中的long型,Python中的整数可以用十进制,八进制,十六进制表示。
>>> 10 10 --------->默认十进制 >>> oct(10) '012' --------->八进制表示整数时,数值前面要加上一个前缀“0” >>> hex(10) '0xa' --------->十六进制表示整数时,数字前面要加上前缀0X或0x
python2.*与python3.*关于整型的区别
python2.*
在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647
在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807
python3.*整形长度无限制
长整型
python2.*:
如何区分长整型和整型数值呢?
通常的做法是在数字尾部加上一个大写字母L或小写字母l以表示该整数是长整型的,例如:
a = 9223372036854775808L
python3.*
长整型,整型统一归为整型
浮点数float:
浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时。
对于很大或很小的浮点数,
就必须用科学计数法表示,把10用e替代,1.23*109就是1.23e9,或者12.3e8,0.000012
可以写成1.2e-5,等等。
复数:
复数是由一个实数和一个虚数组合构成,表示为:x+yj 一个负数时一对有序浮点数(x,y),其中x是实数部分,y是虚数部分。 Python语言中有关负数的概念: 1、虚数不能单独存在,它们总是和一个值为0.0的实数部分一起构成一个复数 2、复数由实数部分和虚数部分构成 3、表示虚数的语法:real+imagej 4、实数部分和虚数部分都是浮点数 5、虚数部分必须有后缀j或J 复数的内建属性: 复数对象拥有数据属性,分别为该复数的实部和虚部。 复数还拥有conjugate方法,调用它可以返回该复数的共轭复数对象。 复数属性:real(复数的实部)、imag(复数的虚部)、conjugate()(返回复数的共轭复数) ''' class Complex(object): '''''创建一个静态属性用来记录类版本号''' version=1.0 '''''创建个复数类,用于操作和初始化复数''' def __init__(self,rel=15,img=15j): self.realPart=rel self.imagPart=img #创建复数 def creatComplex(self): return self.realPart+self.imagPart #获取输入数字部分的虚部 def getImg(self): #把虚部转换成字符串 img=str(self.imagPart) #对字符串进行切片操作获取数字部分 img=img[:-1] return float(img) def test(): print "run test..........." com=Complex() Cplex= com.creatComplex() if Cplex.imag==com.getImg(): print com.getImg() else: pass if Cplex.real==com.realPart: print com.realPart else: pass #原复数 print "the religion complex is :",Cplex #求取共轭复数 print "the conjugate complex is :",Cplex.conjugate() if __name__=="__main__": test()
数字相关内建函数
2、字符串
定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
特性:
1.只能存放一个值
2.不可变
3.按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序
补充:
1.字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有字符均取消特殊意义,在引号前面加r,如name=r'l hf'
2.unicode字符串与r连用必需在r前面,如name=ur'l hf'
字符串常用操作
import time time.sleep(3) #延迟三秒输出 bin() #十进制数转八进制 hex() #十进制数转十六进制 range()函数:可以生成一个整数序列, range(5)生成的序列是从0开始小于5的整数 range(1,10) 生产1-9的整数序列 range(1,10,2) 生成1-9,步长为2的整数序列,即1、3、5、7、9 type() 查看数据类型 print()=print(' ') #默认换行输出 print(' ') #以空格结尾,不换行输出 字符串操作常见函数 x='hello world' print(x[0]) #[]按索引号取值,正向取值0开始,反向取值从-1开始 print(x[1:5]) #取索引号为1-4取值 [0:5:2] #对字符串索引号为0—4的字符按步长为2进行切片 strip() #移除空白 strip('*') #按照*号剪切字符,**egon** ==> egon len() #计算字符串长度 index() #查看某一字符的索引号,一般以[]操作 [0:5:2] #对字符串索引号为0—4的字符按步长为2进行切片 capitalize() #字符串首字母大写 center(10,'*') #字符串长度为10,居中,不足位数*补齐 ljust #左对齐 print(x.ljust(10,'*')) #字符串长度为10,左对齐,不足位数*补齐 rjust #右对齐 count() #统计某字符出现次数 空格也算字符 count('a',0,5) #统计字符a在索引号为0-4范围内出现的次数 endswith() #判断字符串以什么字符结尾 endswith('a') #判断字符串是否以字符a结尾 startswith() #判断字符串以什么字符开头 startswith('a') ##判断字符串是否以字符a开头 find() #查找,即判断某字符是否在字符串中 find('a') #判断字符a是否在字符串中,并返回索引号,返回值为负数,表示该字符不在字符串中 format() #格式化字符串,类似%s,传递值能多不能少 format('egon','18','male') #将'egon','18','male'值依次传递给字符串 # msg='Name:{x},age:{y},sex:{z}' # print(msg.format(y=18,x='egon',z='male')) isdigit() #判断字符串是否为数字 res.isdigit() #判断字符串res是否为数字,返回值为True或者Fals replace() #将某字符替换为另一字符 replace('a','A',2) #将字符串中a替换成A,替换2次 msg='hello alex' # print(msg.replace('x','X')) # print(msg.replace('alex','SB')) # print(msg.replace('l','A')) # print(msg.replace('l','A',1)) # print(msg.replace('l','A',2)) split() #默认以空格进行分隔 split(':') #将字符串以冒号进行分割 字符串操作其他函数 upper() #将字符串所有字母转换为大写 isupper #判断是否全为大写,返回值True或者Fals lower #将字符串所有字母转换为小写 islower #判断是否全为小写写,返回值True或者Fals isspace #判断字符串是否全为空格,返回值True或者Fals istitle #判断首字是否大写 title() #字符串首字母大写 swapcase() #大小写转换
python中str函数isdigit、isdecimal、isnumeric的区别
isdigit() True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字 False: 汉字数字 Error: 无 isdecimal() True: Unicode数字,,全角数字(双字节) False: 罗马数字,汉字数字 Error: byte数字(单字节) isnumeric() True: Unicode数字,全角数字(双字节),罗马数字,汉字数字 False: 无 Error: byte数字(单字节)