美文网首页
04 常用技巧介绍(数字、布尔、字符串)

04 常用技巧介绍(数字、布尔、字符串)

作者: 武漂的小丙 | 来源:发表于2019-10-28 14:57 被阅读0次

1 数据类型整体分析

  • int: 用于计算

  • bool:用于逻辑判断

  • str:存储少量数据,进行操作

  • list:存储大量数据

  • 元组:只读list,存储大量数据

  • dict:字典,存储大量关系型数据

  • 集合:

    • 示例:
    a = {1,2 34}
    b = {2,34,5}
    # 求交集{2,34}
    a and b
    # 求并集{1,2,34,5}
    a or b
    

1.1 int

i = 2 
print(i.bit_length())

1.2 类型转换

# 10进制转16进制
a = hex(17)
print(a)
# str -> int
# base 10
s = '15'
i = int(s)
# base 8 
s = '071'
i = int(s, 8)
# base 16
s = '0x15'
i = int(s, 16)
# int -》str
i = 1 
s = str(i)

1.3 str 索引和切片

s = 'ABCDEFGHI'
# A
s1 = s[0]
# C
s2 = s[2]
# ABCD
# 切片是顾头不顾腚,加步长
# 步长为正数,从左到右
# 步长为负数,从右到左
s3 = s[:4] 
# ABCDEFGHI
s4 = s[:]
s5 = s[0:]
# DCBA
S6 = S[3::-1]
# DCB
S7 = S[3:0:-1]
# DB
S7 = S[3::-2]

1.4 字符串操作

# 首字母大写
s = 'ABCdefGHI'
s1 = s.capitalize()
print(s1)

# 全大写
# 全小写
s2 = s.upper()
s21 = s.lower()
print(s2, s21)

# 大小写互换
s3 = s.swapcase()
print(s3)

# 特殊字符隔开后,首字母大写
s = 'alex,egon wusir'
s4 = s.title()
print(s4)


# 居中空白填充
s = "root"
s5 = s.center(20)
print(s5)
# “#”填充
s5 = s.center(20, '#')
print(s5)

# 字符串里有“\t”,从“\t”到右边未满足8位的补足到8位,超过8位未满16位的不足到16位
s = '1234\tABCD'
s6 = s.expandtabs()
s = '12\tABCD'
s7 = s.expandtabs()
s = '1234567\tABCD'
s8 = s.expandtabs()
print(s6)
print(s7)
print(s8)
s = '12345678\tABCD'
s9 = s.expandtabs()
s = '123456789\tABCD'
s10 = s.expandtabs()
s = '1234567890123456\tABCD'
s11 = s.expandtabs()
print(s9)
print(s10)
print(s11)
'''输出结果如下:
1234    ABCD
12      ABCD
1234567 ABCD
12345678        ABCD
123456789       ABCD
1234567890123456        ABCD
'''


# 判断字符串开头,同理endwith已什么为结尾
s = 'abcdefg'
# s作为整体
s1 = s.startswith('abc')
print(s1) # True
s11 = s.startswith('cde', 2, 5)
print(s11) # True
s12 = s.startswith('cde', 2, 4)
print(s12) # False

# 在字符串中查找索引
s = 'acedfabcabc'
s2 = s.find('abc')
print(s2) # 返回5


# 前后去空格
s = '   abc   def   '
s3 = s.strip()
print(s3) #输出“abc   def”
# 扩展
s = '#*  abc   def  #*'
s31 = s.strip('#*')
print(s31) # 输出“  abc   def  ”
s = '#*  abc   def  #*  '
s32 = s.strip('#*')
print(s32) # 输出“  abc   def  #* ”


# 统计次数
s = 'acedfabcabc'
s4 = s.count('abc')
print(s4) # 输出 2


# 分割
s = ';alex;wusir;taibai;'
s5 = s.split(';')
print(s5) # 输出 ['', 'alex', 'wusir', 'taibai', '']


# format的三种玩法
# 玩法1:占位,一对一顺序填入
s101 = '我叫{},今年{},爱好{},再说一下我叫{}'.format('小白', 18, '打球', '小白')
print(s101)
# 玩法2:从0开始,写上序号,按序号对应填入
s102 = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format('小白', 18, '打球')
print(s102)
# 玩法3:按参数名称对应填入
s103 = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(name='小白',\
                                                        age=18, hobby='打球')
print(s103)

#大括号是特殊转义字符,如果需要原始的大括号,用{{代替{, 用}}代替}, 如下:
'hello {{worlds in braces!}}, {name}'.format(name='zhangsan')

# 替换
s = '程序员攻城狮编程码农程序员码农IT民工'
s6 = s.replace('程序员', '工程师')
print(s6) # 默认全替换
s7 = s.replace('程序员', '工程师', 1)
print(s7) # 替换一次


# is 判断
print(s.isalnum()) # 判断字母或数字组成
print(s.isalpha()) # 判断只有字母组成
print(s.isdigit()) # 判断只有数字

1.5 技巧

  • while True 和 while 1,while 1 的效率高;

相关文章

网友评论

      本文标题:04 常用技巧介绍(数字、布尔、字符串)

      本文链接:https://www.haomeiwen.com/subject/xzrbvctx.html