Python基础之数据类型

基本数据类型分类

1、int 整数

bit_length() 二进制长度

a = 5 # 二进制为101
print(a.bit_length())#3

2、str字符串

字符串是不可变的对象,所以任何操作对原字符串不会产生影响。

(1)索引,就是下标,从0开始,最大值是字符串长度-1

s = "abcdddd"
print(s[5]) #格式:字符串[索引下标]

(2)切片,使用下标来截取部分字符串

    语法:str[start:end:step]

    步长,如果是整数,则从左到右取,如果是负数,从右向左取 

    原则:顾头不顾尾 step:

s = "ABCDEFGHIJKL"
#切片
print("从头到尾:%s"%(s[0:]))  #从头到尾
print("取中间的一部分:%s"%(s[0:3])) #顾头不顾尾
print("跳着取:%s"%(s[0:6:2])) #间隔一个取
print("反向从头到尾:%s"%s[::-1])  #-1代表从后向前取
print("反向截取一部分:%s"%(s[-1:-5:-1]))
print("反向跳着截取:%s"%(s[-1:-5:-2]))
View Code

(3)字符串转换大小写

s = "LiangYing"
print(s.capitalize()) #整句首字母大写
print(s.lower())   #全部小写
print(s.upper())  #全部大写
print(s.swapcase()) #大小写翻转
print(s.title())#除了以字母之外的字符隔开 ,每个单词首字母大写

应用:验证码

#验证码不区分大小写
text = input("请输入验证码:")
if text.upper() == "aqPt".upper():
   print("验证码输入正确")

(4)切片

#居中 拉长到16字符,并以*填充
s = "liangying"
print(s.center(16,"*")) # ***liangying****

#更改tab的长度,默认更改为8
s_1 = "al\tex wusir"
print(s_1.expandtabs()) #al      ex wusir

#去空格
s_2 = "  liang ying  "
print(s_2.strip()) #去掉头尾的空格
print(s_2.lstrip()) #去掉左边的空格
print(s_2.rstrip()) #去掉右
居中 拉长到16字符,并以*填充
s = "liangying"
print(s.center(16,"*")) # ***liangying****

#更改tab的长度,默认更改为8
s_1 = "al\tex wusir"
print(s_1.expandtabs()) #al      ex wusir

#去空格
s_2 = "  liang ying  "
print(s_2.strip()) #去掉头尾的空格
print(s_2.lstrip()) #去掉左边的空格
print(s_2.rstrip()) #去掉右边的空格

#strip()也可以去掉指定的字符串
s_3 = "liang123ying123"
print(s_3.strip("123")) #liangying

#字符串替换
print(s_3.replace("123","huang"))
print(s_3.replace("123","**",1)) #把123换成**,换1次
#字符串切割
print(s_3.split('i'))  #切割的结果是个list
print(s_3.split('i',1)) #1指的是切割一次

#如果切割依据在头或者尾,可能会出现空字符串
应用:模拟用户登录,忽略用户输入的空格
username = input("username:").strip()
password = input("password:").strip()
if username == "liang" and password == "123":
    print("succeed")

3、bool 布尔值

判断真假,True False

转换问题:

0是False 非0是True int(bool) True是1, False是0

str => bool bool(str) 空字符串是False, 不空是True
bool => str str(bool) 把bool值转换成相应的"值"

4、list 列表

存储大量数据,用[]表示

5、tuple 元组

用()表示,不可以发生改变

6、dict 字典

用{}表示,保存key:value

7、set 集合

保存大量数据,不可以重复

猜你喜欢

转载自www.cnblogs.com/liangying666/p/9122568.html