Python学习笔记之基础篇(三)python 数据类型 int str bool 详谈
python 的数据类型:
1、int:存放 1,2,3 等数据 ,用于数字的运算
2、bool :True, False 用于判断
3、str:字符串,用来存储少量的数据
4、list : 数组的形式 存储 数据 ,例如 [1,2,3,"123",[1,2]]
5、元组:只能读,不能修改,(1,2,“12”)
6、集合:{1,2,‘asd’}
7、dict:字典 {‘天气’:‘晴’,‘风速’:12}
一、int bool str的数据类型的相互转化
#int ---> str i = 1 s =str(i) #str ---> int s = '123' i = int(s) #int --> bool 只要是0 ---》False 非0就是 True i=3 b=bool(i) print(b) #True # >bool ---> int # True == 1 #False -- 0 ''' ps: while True : ... while 1 ; 效率高 ... '''
# str --> bool
s = ""
print(bool(s)) #False
s = "0"
print(bool(s)) #True
# bool-->str
print(str(True) #True
二、int类型的主要方法:
bit_length()方法:
i = 100 print(i.bit_length()) #7 '''' 数字 二进制 bit_length值 1 0000 0001 1 2 0000 0010 2 3 0000 0011 2 '''
三、str 的操作,切片
s = 'ABCDLSESRF' # 索引 s1 = s[0] print(s1) #A s2 = s[-1] print(s2) #F #得到ABCD 切片:顾头不顾尾 s3 = s[0:4] print(s3) #ABCD
s6 = s[0:-1]
print(s6) #ABCDLSESR
s7 = s[:]
print(s7) #ABCDLSESRF
s8 = s[0:]
print(s8) #ABCDLSESRF
s9 =s[0:0]
print(s9) #空的字符串
#[头:尾:步长(默认为1)]
s10=s[0:5:2]
print(s10) #ACL
s11 = s[4:0:-1]
print(s11) #LDCB
s12 = s[4:0]
print(s11) #空的字符串
s13=s[3::-1]
print(s13) #DCBA
四、str 的方法
#1、capitalize 的方法 ,将str首字母大写,其他小写 xx='hello world!!' xx = xx.capitalize() print(xx) # Hello world!! #2、 的方法,将str所有字母 变成大写 ,lower,将str所有字母变成小写 s1 = xx.upper() print(s1) #HELLO WORLD!! #3、swapcase 将str 的字母 大小写反转 #4 title 将 特殊符号分割的第一个字母 大写 符号有 ' ','#','!','*','_' xx='hello world!lol*byebye_pop' s2 = xx.title() print(s2) #Hello World!Lol*Byebye_Pop #5 居中 自定义字符补充 s= "alex" s5 = s.center(10,'#') print(s5) # ###alex### #6 将制表符 变成4个空格 s= "al\tex" s6 = s.expandtabs() print(s6) # al ex
五、一些公共 的方法
#得到图片的长度
s= "abCdefGh" s7 = len(s) print(s7) # 8
#判断字符串以什么 开头
s= "abCdefGh" print(s.startswith('ab')) # True s= "abCdefGh" print(s.startswith('a' ,0)) # True s= "abCdefGh" print(s.startswith('b' ,1 ,2)) # True
#判断字符以什么结尾 endwith
s= "abCdefGh" print(s.endswith('h')) # True print(s.endswith('h' ,-1 )) # True print(s.endswith('G' ,-3 ,-1)) # True
# 通过元素找索引 find 找不到返回 -1 index 找不到报错
s= "abCdefGh" print(s.find('C')) #2 print(s.find('z')) #-1 # print(s.index('C')) #2 print(s.index('z')) # print(s.index('z')) #-1 ValueError: substring not found
# strip 删除字符串前后空格
s = ' abcdefg ' print(s.strip()) #abcdefg s = '%abcdefg%' print(s.strip('%')) #abcdefg s = '*abcdefg%' print(s.strip('*%')) #abcdefg
# count 统计字符串中出现的 指定字符的个数
s = 'abcdefga' print(s.count('a')) #2
# split 将字符串根据指定字符 切成数组 和java类似
s = 'abcdaefga' l =s.split('a') for i in range(l.__len__()): print(l[i]) ##--------------------- s = 'abcdaefga' l =s.split('a') for i in range(len(l)): print(l[i])
# format 的 三种玩法
s = '我叫 {} ,今年 {} ,爱好{} ,再说一遍 ,我叫{}'.format('小白',36,'basketball','小白') print(s) #我叫 小白 ,今年 18 ,爱好basketball ,再说一遍 ,我叫小白 s = '我叫 {0} ,今年 {1} ,爱好{2} ,再说一遍 ,我叫{0}'.format('小白',36,'basketball') print(s) #我叫 小白 ,今年 18 ,爱好basketball ,再说一遍 ,我叫小白 s = '我叫 {name} ,今年 {age} ,爱好{hobby} ,再说一遍 ,我叫{name}'.format(age=18,name='小白',hobby='basketball') print(s) #我叫 小白 ,今年 18 ,爱好basketball ,再说一遍 ,我叫小白
# replace
s = '我是谁'
print(s) #我是谁 print(s.replace('我','你')) #你是谁
is系列
name1 ="22aaa2"; name2 ='8888' name3='aaaaaa' print(name1.isalnum()) #字符串由字母和数组组成 print(name2.isalpha()) #字符串只由字母组成 print(name3.isdigit()) #字符串只由数组组成
in的用法1 字符串遍历
s1 ="22aaa2"; for i in s1 : print(i)
in的用法2 判断是否包含
s1 ="22苍老师aaa2"; if '苍老师' in s1 : print("有敏感词")