数据类型&字符串得索引及切片

一:数据类型

1):int     1,2,3用于计算

2)bool    ture  false  用于判断,也可做为if的条件

3)str     用引号引起来的都是str

        存储少量数据,进行操作

4)list   储存大量数据。[1,2,3,‘达人’,[1,2,3,90]]

5):元组   1,2,3,‘第三方’)元组又叫只读列表,不能修改。

6):字典:dict,大量关系型的数据写在字典里

          字典{‘name’:’li’,’age’=’12’}

          字典{‘li’:[身高,体重,‘张三’:’200,80,100’]

7):集合

 

二:数据类型之间的相互转化

 

1)int  i=5   则i.bit_lenght()为i转换成二进制最小的位数

 

 

1 int———>str
2 
3 i = 1       s = str(i)

 

 

1 str ———>int 条件:只能是数字
2 
3 s = ‘123’  i = int(s)

 

 

    

 

1 int----->bool  非零为true   零为false
2 
3 i = 3        b = bool(i)    print(b)   结果为true
4 
5 bool----->int   true为1    false为0

 

注:while   True:

 

        Pass

 

    While    1:

 

          Pass

 

第二种比第一种效率高,英文第二种的转化

 

str----->bool(空字符串为false,非空为true)

S-””----->false

S - “0”---->true

三:字符串的索引与切片

 

s = 'ADCVXEBG'

 

1)索引

 

s1 = s[0]
print(s1)
s2 = s[3]
print(s2)

 

2)取最后一位s[-1]    取倒数第二位s[-2]

s3 = s[-1]
print(s3)

3)ADCV  切片:顾头不顾尾

s4 = s[0:4]
print(s4)

4)取A到G全部取出来

#方法一:
s5 = s[0:]
print(s5)
#方法二:
s6 = s[:]
print(s6)

5)跳着取      s[首:尾:步长]

s7 = s[0:5:2]
print(s7)

6)倒着取DCBA,,,,,倒着取DB

s8 = s[3::-1]
print(s8)


s8 = s[3::-1]
print(s8)

7)倒着取完

#方法一:
s10 = s[::-1]
print(s10)
#方法二:
s11 = s[-1::-1]
print(s11)

四:str常用操作方法

s = 'abcDEfg'

1)首字母大写

s1 = s.capitalize()
print(s1)

2)全部大写/小写

s2 = s.upper()
print(s2)

s3 = s.lower()
print(s3)

用处(验证码)

s_str = "acEQ"
you_input = input('请输入验证码:(不区分大小写)')
if s_str.upper() == you_input.upper():
    print('输入成功')
else:
    print('请重新输入')

3)大小写反转

s4 = s.swapcase()
print(s4)

 

s = 'abcd guo lili'

4)每个隔开(特殊字符或者数字)的单词首字母大写

s5 = s.title()
print(s5)

 

5)居中,空白填充

s6 = s.center(20,'%')
print(s6)

6)字符串的长度      len()

7)判断字符串以什么为开头

s7 = s.startswith('ab')
print(s7)



s8 = s.startswith('c',2,5)
print(s8)


例如:
if s7:
    pass
elif s7 = s.startwith('al')
    pass
print(s7)

 

8)找字符串中是否有某个元素,find通过元素找索引,找不到返回-1

s9 = s.find('g')
print(s9,type(s9))#s9的类型是整型int

9)index通过元素找索引,找不到会报错

s10 = s.index('k')
print(s10)

10)去空格,默认删除前后空格

s =  '  abcd guo lili '
s11 = s.strip()
print(s11)

11)删除前后多余的符号 (rstrip从右边删除,左边不删  lstrip 从左边删,右边不删除)

s =  '@abcd guo lili*'
s12 = s.strip('*@')
print(s11)

12)count  记数

s13 = s.count('l')
print(s13)

13) split 拆分

 

l = s.split(' ')#以空格为拆分点,也可以:  各种字符
print(l)

 

14)替换

s = '物联网射频识别技术与应用应用'
s14 = s.replace('应用','实例',1)#默认全部替换,如果想替换个别,则在后面加上个数,
print(s14)

五:格式化输出,format的三种玩法

s = '我叫{},今年{},爱好{},在说一下我叫{}'.format('莉',18,'吃','莉')
print(s)
s = '我叫{0},今年{1},爱好{2},在说一下我叫{0}'.format('莉',18,'吃')
print(s)
s = '我叫{name},今年{age},爱好{hobby},在说一下我叫{name}'.format(hobby='吃',name='莉',age=18)
print(s)
name = input("请输入姓名:")
s = '我叫{},今年{},爱好{},在说一下我叫{}'.format(name,18,'吃',name)
print(s)

  

 

 

六:for循环

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

  

 

 

posted @ 2019-02-26 20:26  红领巾***  阅读(235)  评论(0编辑  收藏  举报