基础数据类型初识

基础数据类型初识

int

打印占的最少有效位数:

int i = 4
print(i.bit_length())

0:      0000 0000       0位
1:      0000 0001       1位
2:      0000 0010       2位
3:      0000 0011       2位
4:      0000 0100       3位

bool

str ---> bool 非空 True 空就是False
bool ----> str str(True) str(False)

#True
i = bool(3)
print(i)
#False
i = bool(0)
print(i)

0 :False  

1: True

1的效率比True的效率高

str

有顺序,有索引,索引是从0开始的

s = "abcd"
print = s[0]
#输出的是a
#如果是s[1],结果是b
#s[-1]是最后一位,结果是d

切片:顾首不顾尾

s = "abcdefghi"
s1 = s[0:3]
print(s1)
#输出abc
#如果s[2:]“:”后不输入数字,表示输出到最后
#如果s[:5]“:”前不输入数字,表示从最前面输出

起始索引:终止索引:步长

s = "abcdefghi"
s1 = s[0:7:2]
print(s1)
#表示输出1到7位中间每隔两位输出一个,输出结果为aceg

倒叙取:

s = "abcdefghijk"
s1 = s[8:1:-2]
print(s1)
#[先写后面:再写前面:倒叙取为负数]

字符串的常用方法:

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

s =  'abcd EFg'
print(s.capitalize())
#输出Abcd efg
swapcase()大小写反转:
s = "abcd EFGH"
print(s.swapcase())
#输出ABCD efgh

非字母隔开的部分,首字母大写,其他小写:

s = 'ab cd3ef#gh'
print(s.title())
#输出Ab Cd3Ef#Gh

全部大写和全部小写:

s = 'abcDEF'
print(s.upper())
#输出ABCDEF
print(s.lower())
#输出abcdef

以什么居中,填充物默认空:

s = "abc"
print(s.center(20))
print(s.center(20,'*'))
#20:长度      *:填充物


  自动补位:

s =  'ab	cdefghi'
print(s.expandtabs())
#输出ab      cdefghi
#如果	 前面已经有八位,那就补全16位

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

s = "abcdefg"
print(s.find('e',1,5))
#输出4,表示在切片1到5之间查找e
#index()通过元素找索引,可以整体找,可以切片,找不到会报错
startswith:以什么开头
endswith:以什么结尾
s = 'abcdefghigk'
print(s.startswith('a'))                             T
print(s.startswith('al'))                            F
print(s.startswith('w',5))        5表示第五位开始      F
print(s.startswith('W',5))                           F
print(s.endswith("k"))                               T

表示换行
strip 去除字符串前后两端的空格,换行符,tab键等:
s =  '	alex wusir
'
print(s)
print(s.strip())       去除两侧空格换行符
print(s.lstrip())      去除左侧
print(s.rstrip())      去除右侧
s1 = 'alalelllllllxwusirbl'
print(s1.strip("lab"))
#如果字符串中间有一个除(“lab”)以外的字母,则停止去除
#输出 elllllllxwusir
split str --->list方法:
切割
s = 'abc;def;ghi'
s1 = 'abcabcabc'
print(s.split(';'))
print(s1.split('a',2))
#结果['abc', 'def', 'ghi']
#结果['', 'bc', 'bcabc'] a在左侧有一个空,2 表示分割次数

replace替换:

s1 = '我是你大爷你大爷你大爷'
s2 = s1.replace('','',2)
print(s2)
#('大','爷',2)表示将大用爷替换,2表示次数
#结果:我是你爷爷你爷爷你大爷

字符串组成的判断:

name='abc123'
print(name.isalnum()) #字符串由字母或数字组成  输出True
print(name.isalpha()) #字符串只由字母组成      输出False
print(name.isdigit()) #字符串只由数字组成      输出False

格式化输出format:

#第一种
s = '我叫{},今年{},身高{}'.format('刘林',25,175)
print(s)
#输出:我叫刘林,今年25,身高175
#第二种,可以重复使用
s = '我叫{0},今年{1},身高{2},两年后我依然叫{0}'.format('刘林',18,175)
print(s)
#输出:我叫刘林,今年18,身高175,两年后我依然叫刘林
#第三种,可以不按照顺序写,也可以重复使用
s = '我叫{name},今年{age},身高{high}'.format(name = '金鑫',high=175,age=21)
print(s)

count 元素出现的次数:

s = 'aaaaabcdef'
print(s.count('a'))
#输出:5 

len 字符串长度:

s = 'abcd'
print(len(s))
#输出:4

for循环:有限循环

s = "abcde"
for i in s:
    print(i)
#输出
#a
#b
#c
#d
#e


原文地址:https://www.cnblogs.com/pygg/p/8336900.html