python学习:基础数据类型

1、数字 int

python中数字默认用十进制表示,但是也可以用二进制、八进制和十六进制表示。

 >>> 10
 10            --------->默认十进制
>>> bin(10)
'0b1010' --------->二进制表示整数时,数值前面要加上一个前缀“0b”
>>> oct(10)
'012' --------->八进制表示整数时,数值前面要加上一个前缀“0”
>>> hex(10)
'0xa' --------->十六进制表示整数时,数字前面要加上前缀0X或0x

2、布尔值 bool

     两种值: 

                 真    1     True

                 假    0      False

3、字符串 str

3.1、字符串是一个有序的集合,使用引号(‘python’,“python”,'''python''',"""python""")括起来,其实注释也是一个字符串。

3.2、字符串的索引(下标)是从左边到右,第一个是0。

3.3、如果字符串中还有特殊字符,比如回车、换行、tab。要想显示原始的字符串,必须在字符串的引号前加上 r,否则这些特殊字符会被转义。

1 s = 'l\thf'
2 print(s)     # 输出结果:l    hf
3 
4 s = r'l\thf'
5 print(s)     # 输出结果:l\thf

另外值得注意的是在某些文件路径赋值给某个字符串变量,也需要加 r 转义,否则会抛出异常。

 1 s = 'C:\Users\WHK00101\Desktop\log.txt'    #抛出异常
 2 print(s)
 3 
 4 s = r'C:\Users\WHK00101\Desktop\log.txt'    #正常
 5 print(s)
 6 
 7 s = 'C:/Users/WHK00101/Desktop/log.txt'    #正常
 8 print(s)
 9 
10 s = 'C:\\Users\\WHK00101\\Desktop\\log.txt' #正常
11 print(s)

3.4、unicode字符串与r连用必需在r前面,如name=ur'l\thf'

3.5、字符串函数汇总:

索引:从左到右,下表从0开始

1 a = 'ABCDEFGHIJK'
2 print(a[0])  # 输出 A 
3 print(a[3])  # 输出 D
4 print(a[5])  # 输出 F
5 print(a[7])  # 输出 H

切片:切片就是通过索引(索引:索引:步长)截取字符串的一段,形成新的字符串(原则就是顾头不顾尾)。

 1 a = 'ABCDEFGHIJK'
 2 print(a[0:3])        # 取出ABC,注意从开头开始取0可以默认不写:print(a[:3])  效果一样
 3 print(a[2:5])        # 取出CDE
 4 print(a[:])          # 取出全部字符串,可以取到最后一个元素K,也可以写成:print(a[0:])
 5 print(a[:-1])        # 取出ABCDEFGHIJ,注意:最后一位的下标是-1,倒数第二位是-2,以此类推。但是要满足顾头不顾尾的原则,所以取不到K元素
 6 print(a[:5:2])       # 取出ACE,2是步长,即从位置0开始,每隔2个字符取一个
 7 print(a[-1])         # 取出K
 8 print(a[-2])         # 取出J
 9 print(a[-1:2:-1])    # 取出KJIHGFED
10 print(a[::-1])       # 取出KJIHGFEDCBA
11 print(a[-1:-5:-2])   # 取出KI

移除空白strip、lstrip、rstrip:

1 str = ' \t  \n  feihongtao  \t   \n   '
2 print(str.lstrip())  #去掉左边的空白
3 print(str.rstrip())  #去掉右边的空白
4 print(str.strip())   #去掉两边的空白

大小写转换upper、lower、casefold、swapcase、capitalize:

1 str = 'FeiHongtao'
2 print(str.upper())  #所有字母大写
3 print(str.lower())  #所有字母小写
4 print(str.casefold())   #所有大写转成小写
5 print(str.swapcase())   #大小写互换
6 print(str.capitalize()) #首字母大写

字符填充center、rjust、ljust、zfill

1 str = 'FeiHongtao'
2 print(str.center(20,'*'))   #将字符串用指定的字符补充为指定的长度
3 print(str.rjust(20,'*'))    #在字符串的左边补充字符
4 print(str.ljust(20,'*'))    #在字符串的右边补充字符
5 print(str.zfill(20))        #在字符串前面补0

替换replace

1 str = 'FeiHongtaoHongtaoHongtao'
2 print(str.replace('Hong','hong'))  #将Hong全部替换成hong
3 print(str.replace('Hong','hong',2))  #将前面2个Hong全部替换成hong

分割 split

1 str = 'FeiHongtaoHongtaoHongtao'
2 print(str.split('Hong'))     #将字符串以指定的字符分割,得到一个列表
3 print(str.split('Hong',2))   #将字符串以指定的字符分割,得到一个列表, 2标识分割几次
4 l = ['Fei','hong','tao']
5 print(' '.join(l))   #将一个列表按指定的字符拼接成一个字符串       
6 print('_'.join(l))   #将一个列表按指定的字符拼接成一个字符串 

包含 startswith、endswith、index、find

 1 str = 'Feihongtao'
 2 print(str.startswith('Fei'))  #是否以指定的字符串开始
 3 print(str.endswith('Fei'))    #是否以指定的字符串结束
 4 
 5 print(str.index('hong'))      #查找指定字符串在原字符串中的位置,如果找到就返回具体位置,如果没找到则报错
 6 print(str.index('hong', 0, 5))
 7 print(str.rindex('hong'))
 8 
 9 print(str.find('hong'))       #查找指定字符串在原字符串中的位置,如果找到就返回具体位置,如果没找到则返回-1
10 print(str.find('hong',0,5))
11 print(str.rfind('hong'))
12 
13 # index和find的区别在于:
14 # index如果找到就返回具体位置,如果没找到则报错
15 # find如果找到就返回具体位置,如果没找到则返回-1

判断 isdigit、isalpha

 

1 str = 'Feihongtao123'
2 print(str.isdigit())  #False 是否是数字组成
3 print(str.isalpha())  #False 是否是字母组成
4 print(str.isalnum())  #True  是否是字母和数字组成

 

计算len、count

 

1 str = 'Feihongtao123'
2 print(len(str))  # 13 计算字符串的长度
3 print(str.count('o'))  # 2 计算字符或字符串在原字符串中出现的次数
4 print(str.count('o', 0, 5))  # 1 计算字符或字符串在原字符串中出现的次数(可在指定范围内查找)

 

4、int、str、bool三者之间的类型转换

# int ---> bool
i = 100
print(bool(i))   # True  # 非零即True
i1 = 0
print(bool(i1))  # False 零即False

# bool ---> int
t = True
print(int(t))  # 1  True --> 1
t = False
print(int(t))  # 0  False --> 0

# int ---> str
i1 = 100
print(str(i1))  # '100'

# str ---> int  # 全部由数字组成的字符串才可以转化成数字
s1 = '90'
print(int(s1))  # 90

# str ---> bool
s1 = '我是空的'
s2 = ''
print(bool(s1))  # True 非空即True
print(bool(s2))  # False

# bool ---> str
t1 = True
print(str(True))  # 'True'
posted @ 2019-11-04 16:00  飞鸽子  阅读(172)  评论(0编辑  收藏  举报