三、数据类型初识

 

---恢复内容结束---

 

1.int   主要用作运算  

2.str  字符串  用作存储少量的信息 便于传输  

3.list  列表  存储大量数据   便于操作  ['alex','a',{'name':hehe'},'yyy']

4.tuple  元祖  只读列表 不能作修改   ('ALEX',{'name':'dd'},'yy')

5.bool  判断真假 True  or  False  作为条件

6.dic  字典 通过键值对来储存数据 查找起来通过二分法 查找速度很快   {'name':'dd','job':'it'}

二、各种数据类型详解

1.int 

 enth 转换二进制最小位数

i = 4
print(i.bit_lenth)
0000 0100

 2.bool值与各种之间的转换

 int 转换bool   非0即True

str  转换 bool  非空即为True   print(bool('')) = False

 

s = ''
if s :
   print(666)
else:
    print(333)
# 这段代码会输出333  此时的变量s为空 所以bool值False  如果变量s = ' '  引号中间是空格输出的会是666  即使是空格bool值也是True

3.str 的一些基本用法  

切片 索引   s [起始索引:截止索引:步长]

#索引
s = 'laonanhaishi'
print(s[2])
#o
print (s[-2])
#h  
#切片  顾头不顾腚  
print(s[0:2])
#  la
print(s[0:6:2])
#loa
print(s[-2:-4:-1])
#hsi
print(s[:])
#laonanhaishi  全部打印
#     第一个索引为0时可以省略不写

 

常用的一些操作方法

capitalize   swapace   

#capitalize   swapace
i = 'abcdEfg'
print(i.capitalize())
# Abcdefg   首字母大写 后面全部小写
print(i.swapace())
#ABCDeFG   大小写翻转

tittle  

tittle 
s = 'ab,cd,ef'
print(s.tittle())
#Aa,Cd,Ef     每个单词的首字母大写后面的全部小写  以除了字母意外的字符隔开 (断句)

 cent 

s = 'ab,cc,de,Fg'
print(s.center(30,'我'))
#我我我我我我我我我ab,cc,de,Fg我我我我我我我我我我  一边10个字符  占位30个字节

  

start with   end  wih 判断以什么开头  和结尾

s = 'absdefg'
s2 = s.startwith('sd',2)
print(s2)
#True

 

rstrip 去除右边的空格 换行符   tab(缩进)

lstrip  去除左边的空格 换行符   tab(缩进)

s = '         alexlaonanhai     '
print (s.strip())
print (s.rstrip())
print (s.lstrip())
#alexlaonanhai
         alexlaonanhai
alexlaonanhai 
#s = 'fdaffsfsdfsdfsf'
print (s.strip('fd'))
#affsfsdfsdfs

find  index  通过元素找索引

s = 'alexlaonanhai'
print(s.find('a',0,6))
print(s.rfind('a',0,6))
print(s.find('a',2,3))
print (s.rindex('a'))
#   0
#   5
#    -1
#   11
区别 
 两种方式都只有rfind和rindex  因为本身默认的就是从左边查找 所以不存在lfind 和         lindex  
在找不到不到目标时  find会输出-1   而index会报错    
相同点:两种方式都可以通过切片来找元素的索引

  count寻找元素的个数 可以切片

s = 'alexlaonanhai'
print(s.count('la',3,4))
print (s.count('al'))
#0
#1

replace  替换元素

s = "阿斯蒂芬打完大打完打完多"
s2 = s.replace('打完','hehe',0)
s3 = s.replace('打完','hehe')
s4 = s.replace('打完','hehe',2)
print(s2)
print(s3)
print (s4)
#阿斯蒂芬打完大打完打完多
 #阿斯蒂芬hehe大hehehehe多
# 阿斯蒂芬hehe大hehe打完多

  

split 把字符串分离成列表  (这个很重要)

 

s = "阿斯 蒂芬 打完 大打 完打 完多"
s2 = s.split(' ',3)  # 分离3次 会有4个元素
s3 = s.split(' ')      #分离特征为' '  
print (s2)
print (s3)
#['阿斯', '蒂芬', '打完', '大打 完打 完多']
 #['阿斯', '蒂芬', '打完', '大打', '完打', '完多']

 

format  格式化输出

s = '{}喜欢学习,在山上{},每天起床{}'.format('yy','唱歌','刷牙')
print (s)
s2= '{0}喜欢学习,在山上{1},每天起床{2}'.format('yy','唱歌','刷牙')
print(s2)
s3 = '{name}喜欢学习,在山上{sth},每天起床{what}'.format(name='yy',sth='唱歌',what='刷牙')
print(s3)
#yy喜欢学习,在山上唱歌,每天起床刷牙
   yy喜欢学习,在山上唱歌,每天起床刷牙
   yy喜欢学习,在山上唱歌,每天起床刷牙

格式化输出 %r 可以原文输出

isdigit   字符串由数字组成

isalpha 字符串由字母组成

isalnum 字符串由数字字母组成

s = '234'
print (s.isdigit())
s2 = 'a234'
print(s2.isalnum())
s3 = 'sdf'
print (s3.isalpha())
#True
#True
#True

 

上一篇:十、函数进阶


下一篇:Python 基础二