一:基本数据类型
int 整数
str 字符串,一般不存放大量数据
bool 布尔值,用来判断(True,False)
list 列表,用来存放大量数据,[]表示,里面可以装各种数据类型
tuple 元组,只读列表,只能看,()表示
dict 字典,{key,value}
set 集合,不重复数字
1. int 类型
bit_length() 返回一个数的二进制长度
a = 1 #0 1 10 11 100 101
print(a.bit_length())
2. bool 类型
#布尔只有两个值,True,False,一般是没有什么操作的
数字 => 字符串 str(数字)
a = 10
print(type(a))
s = str(a)
print(type(s))
s = "" #空字符串是False
print(bool(s))
a = None #表示空,真空
3. str 类型(字符串)
由'',"",""",''' 括起来的内容就是字符串
字符串是不可变的数据类型,不论你执行任何操作,源字符串是不会改变的,每次操作都会返回新的字符串
1)索引和切片
(1) 索引:
索引从0开始,使用[下标] 可以获取到每一个字符
例:
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4]) # 索引不能超过边界
print(s[-1]) # 倒数第一个
(2) 切片[起始位置:结束位置:步长]
例:
s = "伊丽莎白鼠的溜肥肠还有挖掘机"
print(s[1:3]) #从1切到3,但是取不到3
print(s[1:]) #从1开始切,切到结尾
print(s[:2]) #从头切到2
print(s[:]) #从头到尾
print(s[-3:-1]) #只能从左往右切
给出第三个参数可以控制方向,(步长)
print(s[-1:-3:-1]) # - 表示反方向,从右往左切
print(s[3:8:2])
4. 字符串相关操作
1.大小写转来转去
s = s.capitalize() #把首字母变成大写
s = s.lower() #全部变成小写
s = s.upper() #全部变成大写
s = s.swapcase() #大小写互相转换
s = s.title() #每个单词的首字母大写
2.切来切去
s = s.center(10,'*') #强行使用*在原字符串拼接,拼接成10个单位
s = s.strip() #去掉空格,空白 \t \n,去掉的是左边跟右边的,中间不去
s = s.strip("sb") #可以指定去掉的内容
s = s.lstrip() #去掉左边空白
s = s.rstrip() #去掉右边空白
s = s.replace("xxx","yyy") #吧xxx换成yyy
s = s.replace("xxx","yyy",2) #2的意思是换两次
s = s.split("_") #切完的结果是一个列表,列表中装的是切的字符串,用什么切就会损失什么
5. 查找
s = "alex is a gay"
S.startswith("alex") #判断是否以xxx开头
s.endswith("gay") #判断是否以yyy结尾
都可以进行索引范围:
s = "I have a dream. I want to kill you!"
s.count("a") #计数,几个x
s.find("a") #查找x在字符串中出现的位置,只找第一次出现的位置,没有就返回-1
s.index("a") #直接找出x的位置,区别在于如果不存在会报错
6. 条件判断
s = "123456"
s.isdigit() #判断是否为数字
s.isalpha() #判断是否字母组成
s.isalunm() #判断是否由数字或字母组成
7. 计算字符串长度
python中的内置函数:len(),int(),bool(),str(),type()
s = "哇哈哈"
print(len()) #字符串中的字符的个数
8. 迭代(一个一个往外拿)
公式:
for 变量 in 可迭代对象:
循环体,(也存在break和continue)
else:
当前循环结束时会执行
s = "王小利刘能赵四皮常山谢大脚王长贵"
n = 0
while n < len(s):
print(s[n])
n = n + 1