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("有敏感词")

   
posted @ 2019-09-16 22:14  西半球  阅读(308)  评论(0编辑  收藏  举报