初识数据类型

整型  int

int 1 2 3   主要是用于计算

下面是求一个数字,占多少位  (.bit_length前面不能放存数字)

i = 4
print(i.bit_length())

结果:

 

二  

字符串 str

1,存储少量的数据,便于操作.字符串有顺序能进行索引和切片,并且索引是从0开始的.

s= 'alex'

s = 'alex'
s1 = s[0]
print(s1,type(s1))

结果

2.字符串切片有个顾首不顾尾原则

s = 'alex'
s1 = s[0:2]
print(s1)

结果

3.索引还可以跳着索引,这个间隔我们叫步长,可以有正向步长和反向步长.  基本格式  : [起始索引:终止索引:步长]

如果要反向取步长,索引方向也一定是反的

s = 'alex taibai wusir '
#[起始索引:终止索引:步长]
s1 = s[0:3:2]
print(s1)
#倒叙取
s2 = s[-1:-6:-2]
print(s2)

结果;

4.字符串常用方法

首字母大写  :   .capitalize()首字母大写,其他字母小写

s =  'alex wuSir'
# capitalize()首字母大写,其他字母小写
print(s.capitalize())

结果:

 

 大小写反转: 即大写变小写,小写变大写  .swapcase()大小写反转

s =  'alex wuSir'
# *swapcase()大小写反转
print(s.swapcase())

结果:

   .title()   非字母隔开的部分,首字母大写,其他小写  (空格,数字,特殊符号后分割的首字母大写,其他变为小写) 

s =  'alex wuSir1taiBBai*riTian'
print(s.title())

结果:

.upper全部大写和  .lower全部小写 一般应用于验证码的输入

s =  'alexaw125uSir'
s1=s.upper()  #全部大写
s2=s1.lower()  #全部小写
print(s1,s2)

结果:

 .center()  以什么居中,填充物默认为空,如果填充距离小于自身长度 则不变,大于长度时居中,可以在长度后面加个填充物
s="alex taibai"
print(s.center(8))
print(s.center(20,'*'))#填充物为*

结果:

  .expandtabs()  有 \t 时自动补位功能,补8的倍数位 

s =  'al\tex wuSir'
print(s.expandtabs())

结果:

通过元素找索引 两种方法 ,找到的是元素下标. 推荐用.find方法 

如果有相同元素会输出第一个元素的索引,如果元素是个整体找索引也是输出找到的第一个元素的索引

index()通过元素找索引,可以整体找,可以切片,找不到会报错

find()通过元素找索引,可以整体找,可以切片,找不到返回-1

 

s =  'al\tex wuSir'
# # ***find()通过元素找索引,可以整体找,可以切片,找不到返回-1
# # index()通过元素找索引,可以整体找,可以切片,找不到会报错
print(s.find('L'))
print(s.index('L'))

结果:

  .strip 去除字符串前后两端的空格,换行符,tab键等(还可以去除数据)

s =  '\talex wusir\n'
#.strip 去除字符串前后两端的空格,换行符,tab键等
print(s.strip())
print(s.lstrip())
print(s.rstrip())

结果:

用.strip去除数据

s1 = 'alalelllllllxwusirbl'
s= s1.strip("al")#前后有"a"或者"l"都取出,但是遇到不能去除的元素的会停止
print(s)

结果:

判断首字母是不是哪个元素.startswith()  还可以切片判断.startswith("*",5,9)

s =  'alex wusir'
print(s.startswith('a'))
print(s.startswith('al'))#将"al"看作一个整体判断
print(s.startswith('w',2,8))#从位置2到8判断
print(s.startswith('W',5))#从位置5判断

结果

将字符串转换成列表 .split()方法,括号中不加任何东西,表示以空格作为分割点,作为分割点的元素会消失,如果在开头或结尾则会出现空字符,还可以自已选择分割几处,默认是都分割.

# splitstr --->list方法
s = 'alex;wusir;ritian'
s2 = 'alex wusir ritian'
s1 = 'alexalaria'
print(s.split(';'))
print(s2.split())#默认用空格做分割点
print(s1.split('a',1))#只分割一处

结果:

 

替换元素用.replace()方法, 括号中前面加老元素 后面加要替换的元素,然后还可以添加要替换的个数,默认是都替换

s1 = '姐弟俩一起来老男孩老男孩老男孩'
s2 = s1.replace('','',1)#老元素'老"新元素"小" 替换个数1
print(s2)

结果:

 

判断字符串组成;输出布尔值

name='jinxin123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成

结果:

字符串的格式化.format的三种方法

#第一种
s = '我叫{},今年{},身高{}'.format('金鑫',21,175)#顺序不可变
print(s)
# 第二种
s = '我叫{0},今年{1},身高{2},我依然叫{0}'.format('金鑫',21,175)#顺序不可变
print(s)
# 第三种
s = '我叫{name},今年{age},身高{high}'.format(name = '金鑫',high=175,age=21)#顺序可变
print(s)

 结果:

s = ' ' #只能是以至少一个空格组成的字符串(全空格) 只要出现非空格就是False
s.isspace()
s = ' ' #只能是以至少一个空格组成的字符串(全空格)
s1 ="       "
s2 = "ac v    "
print(s.isspace())
print(s1.isspace())
print(s2.isspace())

结果:

 

 3  .fromkeys() 将一个可迭代对象做key,后面加的value,value的内存地址相同

 如果 values是个可更改类型,那么改变一个其他都会更改

不可变的数据类型:可哈希

 


dic = dict.fromkeys('abc','alex')
print(dic)
dic1 = dict.fromkeys([1,2,3],[])
print(dic1)
dic1[1].append('alex')
print(dic1)
dic["a"].replace("a","E")
print(dic)
dic3=dic["a"].upper()
print(dic)

结果:

 

字符串长度  len()

查元素个数  .count

s =  'alexaaaaa wusir'
print(s.count('a'))#查元素"a"的个数
s = 'alex'
print(len(s))#字符串a的长度

结果:

 

三 

布尔型 bool 

等于False的情况有 : 0 ,"" 空字符串,None,[]空列表,{}空字典,()空元祖 

用于判断,一般判断时输出  就有两种状态 True False

 判断

print(2>1)
print(1>2)

 结果:

 

元祖 tupe  用()包起来的,也被称作只读列表.a =(1,"wz",[1,2],{1},bool)  里面的数据可以是任何类型.

 

五 

列表 list  用[]包起来,能承载大量数据.和元祖一样 里面的数据也可以是任何类型,并且里面的元素可以被更改.

 

六 

字典  dict

{'name':'alex',
'age':54,
'python10':[化工哥,小白,小黑,萌哥,,花哥,娶哥,阎王]
}
1,可存储大量数据,
2,关联型数据.
3,查找数据非常快.}

set集合 能包含大量数据.但是不太常用

 

八 类型转换补充

 

int ----> str  str(int)  数字变字符串只需要在外面用str()就行
str ----> int int(str) 只能是数字组成的字符串才能进行转换

int ----> bool 零 Fasle 非零 True 数字转换成布尔值,零是True,其他的是False
bool ----> True T ---> 1 F --->0 布尔值转换成数字True是1,False是0

str ---> bool 非空 True 空就是False 字符串转换布尔值,只要不为空就都是True,只有空字符串是False
bool ----> str str(True) str(False) 布尔值转换成字符串就只是在Ture,和False上加个"",

 九

for循环  基本格式 for i in a: 输出在a中的所有元素 i 是一个变量

 

s = 'fdsag'
for i in s:
    print(i)

 结果:

 

posted @ 2018-01-23 17:16  wzqwer  阅读(246)  评论(0编辑  收藏  举报