day 3 - 1 数据类型

什么是数据类型:
  int 1,2,3用于计算。
  bool:True,False,用户判断。
  str:存储少量数据,进行操作
    'fjdsal' '二哥','`13243','fdshklj'
    '战三,李四,王二麻子。。。。'
  list:储存大量的数据。
    [1,2,3,'泰哥','12353234',[1,2,3]]
  元组:只读。
    (1,2,3,'第三方',)
  dict:字典{'name':'云姐','age':16}
  字典{'云姐':[],'二哥':[200,200,200,。。。。。。]}
  集合:{1,2,34,'asdf'}(非常少用)

1. int

bit_length() 表示二进制有效占位数

i = 100
print(i.bit_length())
'''
                  bit_length
1     0000 0001       1
2     0000 0010       2
3     0000 0011       2
'''

2.bool:True False

 

#int --> str
i=1
s=str(i)
print(s,type(s))

#str --> int
#s = '12323e'
#i = int(s)
#print (i,type(i))

a = "12345"
b=int(a)
print(b,type(b))


# int --> bool  只要是0 ----》False  非0就是True
i = 3
b=bool(i)
print(b,type(b))

i = 0
b=bool(i)
print(b,type(b))

#bool----> int
#True 1
#False 0

'''
ps:
while True:
 pass
while 1: 效率高
pass
'''

  #str --->bool

    #s = "" -----> False
    #非空字符串都是True
    #s = "0" -----> True

      # s
      # if s:
      # print('你输入的为空,请重新输入')
      # else:
      # pass

 

3. str 字符串的使用

 

1. 字符串的索引与切片

s = 'ABCDEFGHIJK'

#索引
s1 = s[3]
print(s1)

#切片  顾头不顾尾
s2 = s[0:3]
s3 = s[0:4]
print (s2,s3)

s4 = s[-1]
s5 = s[-3]
s6 = s[4:0:-1]
print(s4,s5,s6)

s7 = s[0:-1]
s8 = s[0:]
s9 = s[:]
print(s7,s8,s9)


#跳着截取 s[首:尾:步长]
s = 'ABCDEFGHIJK'

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

s10 = s[3:0:-1]
s11 = s[3::-1]
s12 = s[5:0:-2]
print(s10,s11,s12)

s13 = s[-1::-1]
s14 = s[::-1]
print(s13,s14)

s15 = s[-1:5:-1]
s16 = s[-3:2:-1]
s17 = s[3:6]
print(s15,s16,s17)

2.字符串操作

y = 'abcDEfg'

y1 = y.capitalize() #首字母大写
print(y1) y2 = y.upper() #全大写 y3 = y.lower() #全小写 print(y2,y3) #请输入验证码,不区分大小写 str = 'QweR5' str1=input("请输入验证码:") if str.lower() == str1.lower(): print('输入正确') else: print('输入错误') #大小写反转 y = 'abcDEfg' y3 = y.swapcase() print(y3) #每个隔开(特殊字符或数字)的单词首字母大写 x = 'the only constant is change.' x1 = x.title() print(x1) z = 'the*only constant-is9change.' z1 = z.title() print(z1) #居中,填充 y4 = y.center(25) print(y4) y5 = y.center(25,'-') print(y5)

3.公共方法

y = 'abcDEfg'

#统计元素总长度
y6 = len(y)
print(y6)

x ="唯一不变的就是变化"
x2 = len(x)
print(x2)

#判断以什么为开头
y7 = y.startswith('abcD')
y8 = y.startswith('bcd')
print(y7,y8)

#小实例
y = 'abcDEfg'
y12 = y.startswith('abc')
if y12:
    print("111")
elif s.startswith('DE'):
    print("222")
print(y12)

#find 用过元素找索引,找不到返回 -1 
y9 = y.find('E')
print(y9,type(y9))

y10 = y.find('Ef')
y11 = y.find('F')
print(y10,y11)


#默认删除开头结尾的空格
#strip      删除两端
#rstrip     从右向左
#lstrip     从左向右
x ="  唯 一 不 变 的 就 是 变 化  "
x3 = x.strip()
print(x3)

#小实例
#name= input("请输入名字:").strip()
#if name == '亦双弓':
#    print("%s,欢迎回来"%(name))

#删除指定字符
z='%the*onlyconstant-is9change.'

z2 = z.strip('.')
print(z2)

z3 = z.strip('.%')
print(z3)

z4 = z.rstrip('.%')
print(z4)

z5 = z.lstrip('.%')
print(z5)


#统计某个字符的个数
z = 'the only constant is change.'
z6 = z.count('on')
print(z6)


#split 分割,默认为空格(非常重要) str ---> list
z7 = z.split()
print(z7)

zz = 'the:only:constant:is:change.'
z8 = zz.split(":")
print(z8)

4.format 的三种玩法 格式化输出

s = '我叫{},今年{},爱好{},再说一遍我叫{}'.format('亦双弓','16','play','亦双弓')
print(s)

s = '我叫{0},今年{1},爱好{2},再说一遍我叫{0}'.format('亦双弓',16,'play')
print(s)

s = '我叫{name},今年{age},爱好{hobby},再说一遍我叫{name}'.format(age=16,name='亦双弓',hobby='play')
print(s)

5.replace 替换,is系列,for循环

#replace 默认是全局替换
str = '唯一不变的就是变化'
str1 = str.replace('','change')
str2 = str.replace('','change',1)
print(str1,str2)


### is系列
name = '亦双弓123'
print(name.isalnum())   #字符串由字母或数字组成
print(name.isalpha())   #字符串由字母组成
print(name.isdigit())   #字符串只有数字组成


# for循环

s="sdfsfsgkomioo"
for i in s:
    print(i)

'''
s='sjfk敏感词fdls'
if '敏感词' in s:
    print ('输入中存在敏感词')

 

posted @ 2018-09-23 12:02  亦双弓  阅读(164)  评论(0编辑  收藏  举报