python基础数据类型随笔

一、数据类型

  • int 数字,(1、2、3)主要用于计算。
  • bool 布尔值  True/False 主要用于判断
  • str 字符串  存储少量数据
  • list 存储大量数据  [1,2,3,'文字','abcdj']
  • 元祖 只读 也可以存放数据 (1,2,3,'文字')
  • dict 字典 {'name':'lilei','age':'18'} 字典关系性比较强
  • 集合 {1,2,3,45}

1)int

1 a = 100
2 b = a.bit_length() #bit_length为数字转换为二进制时的字符长度
3 print(b)
4 
5 
6 
7 7
View Code

2)bool

  1. int转换为bool 非零数字均为True,0为False。
    1 print(bool(3))
    2 print(bool(0))
    3 print(bool(-2))
    4 
    5 
    6 True
    7 False
    8 True
    View Code
  2. bool转换为int True为1,False为0。
    1 print(int(True))
    2 print(int(False))
    3 
    4 1
    5 0
    View Code
  3. str转换为bool 非空字符均为True
     1 print(bool('aaa'))
     2 print(bool(''))
     3 print(bool(""))
     4 print(bool("avfr"))
     5 print(bool("nh12er"))
     6 print(bool("q-adfe"))
     7 
     8 True
     9 False
    10 False
    11 True
    12 True
    13 True
    View Code

3)str

  1. 索引、切片
     1 s = 'abcdefg'
     2 print(s[0]) #索引 输出字母a
     3 print(s[3]) #输出字母d
     4 print(s[0:3]) #索引:索引 切片输出abc
     5 print(s[2:5]) #切片输出cde
     6 print(s[0:5:2]) #索引:索引:步长  切片输出ace(每2位输出一个字母)
     7 print(s[0:7:3]) #索引:索引:步长  切片输出adg(每3位输出一个字母)
     8 print(s[7:3:-2]) #索引:索引:步长  切片输出ge(每2位输出一个字母)反向输出
     9 print(s[7:0:-2]) #索引:索引:步长  切片输出gec(每2位输出一个字母)反向输出
    10 print(s[7::-2]) #索引:索引:步长  切片输出geca(每2位输出一个字母)反向输出
    11 print(s[:]) #完整输出abcdefg
    12 print(s[::]) #完整输出abcdefg
    13 print(s[::-1]) #反向完整输出abcdefg即gfedcba
    14 print(s[:0:-1])#反向输出abcdefg,顾头不顾尾输出即为gfedcb
    View Code
  2. 字符串常用方法
    1 msg = 'hello Word!this8is*a TEST.'
    2 print(msg.capitalize()) #首字母大写 Hello word!this8is*a test.
    3 print(msg.swapcase()) #大小写反转 HELLO wORD!THIS8IS*A test.
    4 print(msg.title()) #每个字段的首字母大写 Hello Word!This8Is*A Test.
    5 print(msg.count("l")) #统计字符l出现的次数  2次 
    6 print(msg.count("l",0,3)) #统计切片"hel"中字符l出现的次数   1次
    View Code
 1 s = '666'
 2 print(s.center(10,'X')) #666居中,左右两端X补位补齐至10位 XXX666XXXX
 3 a = 'qwed'
 4 print(a.center(9,'#')) #qwed居中,左右两端#补位补齐至9位 ###qwed##
 5 m = 'qwe'
 6 print(m.center(10,'X')) #qwe居中,左右两端X补位补齐至10位 XXXqweXXXX
 7 
 8 b = 'XXX\t#'
 9 print(b.expandtabs()) #XXX     #
10 c = 'XXXXXXXXXX\tQ'
11 print(c.expandtabs()) #XXXXXXXXXX      Q
12 
13 
14 
15 #默认将一个tab键变成8个空格 如果tab前面的字符长度不足8个,则补全8个,如果tab键前面的字符长度超过8个不足16个则补全16个,以此类推每次补全8个。
View Code
1 s = 'qwertdhyciiyst'
2 print(s.startswith('ert',2,5)) #判断切片是否以ert开头,返回值True。顾头不顾腚,所以尾是5后延一位至d。
3 print(s.find('dh',3,7))  #返回的找到的元素的索引,如果找不到返回-1。此题返回5,d在第5位。
4 print(s.index('dh',3,7)) #返回的找到的元素的索引,找不到报错。ValueError: substring not found
5 print(s.split('i')) #以什么分割,最终形成一个列表此列表不含有这个分割的元素。['qwertdhyc', '', 'yst']
6 print(s.split('i',1)) #只切割第一个i,['qwertdhyc', 'iyst']
View Code
 1 #format的三种玩法 格式化输出
 2 res='{} {} {}'.format('egon',18,'male')
 3 res='{1} {0} {1}'.format('egon',18,'male')
 4 res='{name} {age} {sex}'.format(sex='male',name='egon',age=18)
 5 
 6 #strip
 7 name='*egon**'
 8 print(name.strip('*')) 
 9 print(name.lstrip('*'))
10 print(name.rstrip('*'))
11 
12 #replace
13 name='alex say :i have one tesla,my name is alex'
14 print(name.replace('alex','SB',1))
15 
16 #####is系列
17 name='jinxin123'
18 print(name.isalnum()) #字符串由字母或数字组成
19 print(name.isalpha()) #字符串只由字母组成
20 print(name.isdigit()) #字符串只由数字组成
View Code

 # join

1 s = 'alex'
2 s1 = '_'.join(s)
3 print(s1)
4 ### a_l_e_x
View Code

 

posted @ 2017-12-18 17:58  摇曳时光  阅读(164)  评论(0编辑  收藏  举报