Python基础(2)_数字和字符串类型

一、数据类型

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\thf'
  2.unicode字符串与r连用必需在r前面,如name=ur'l\thf'

字符串常用操作

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('\n')	#默认换行输出
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数字(单字节)

  


 

 

 

posted @ 2017-06-07 17:30  hedeyong11  阅读(836)  评论(1编辑  收藏  举报