3.bool布尔值int,str的转化,字符串的常用方法,字符串format,is判断(字符串的数字),for循环
1.bool 布尔值
bool 布尔值 -- 用于条件使用
True 真
False 假
True 真
False 假
print(bool(-10)) # 0 是 False 非0的都是True
print(bool(" ")) # 空的字符串是 False 非空的就时True
print(bool('')) #为空字符串打印False
print(type(str(True))) 布尔值可以转换成字符串
print(int(False)) # True 转化成数字 1 False 转换成数字 0
2.字符串
# 字符串 -- 用于存储数据的 -- 比较少
# python 中只要是用引号 引起来的就是字符串
""
'' # 需要配合使用
""" """
''' '''
# name = "meet,alex,wusir,wangsir,Eva_j"
# 01234567 (索引) #从左向右数数
# -4-3-2-1 (索引) # 从右向左数数
# a = name[1]
# b = name[2]
# print(a + b)
# print(name[5:9]) # 区间[起始位置:终止位置] # 顾头不顾尾
# a = name[0]
# b = name[3]
# c = name[6]
# d = name[9]
# print(a+b+c+d)
# print(name[0:10:3])
# 默认是1 [起始位置:终止位置:步长] # 你走路迈的步子
# 起始位置 + 步长
# print(name[0:100]) # 切片如果终止位置超出了不报错
# print(name[100]) # 索引取值的时候超出了索引的范围会报错
# print(name[::])
# print(name[::-1]) #从左向右 +1 从右向左
# a = name[8:11]
# b = name[16:19]
# c = name[-3:]
# # 李亚鹏 谢霆锋 陈冠希
#
# print(c,b,a)
# print(name[::3])
# name = "周扒皮,王菲,陈冠希,张柏芝,谢霆锋,周星驰,李亚鹏"
# 总结:
# 字符串,列表,元组 -- 都是有索引(下标)
# 索引是准确的定位某个元素
# 从左向右 0,1,2,3
# 从右向左 -1,-2,-3,-4
# 支持索引的都支持切片 [索引]
# 切片长度可以超出范围,索引长度不能超出范围 [起始位置:终止位置]
# 步长: 决定要走的方向,决定走的步子多大 [起始位置:终止位置:步长]
# # 起始位置 + 步长
# 字符串方法:
# 全部大写
# name = "meet"
# name1 = name.upper()
# print(name1)
# print(id(name))
# print(id(name1))
# name = "MEET"
# name1 = name.lower()
# print(name1)
yzm = "o98K"
input_yzm = input("请输入验证码(o98K):")
if yzm.upper() == input_yzm.upper():
print("正确")
else:
print("错误")
以什么开头
name = "alex"
print(name.startswith('a')) # 就是以a开的头
以什么结尾
name = "zhuxiaodidi"
print(name.endswith("i")) # 就是以i结尾
count # 统计
name = "zhudidi"
print(name.count("zhu")) # 查询某个内容出现的次数
replace 替换,默认全部替换,可设置替换的次数
name = "alexnbnsnsn"
name1 = name.replace('n','s') # 替换
name1 = name.replace('n','s',2) # 替换 2是替换的次数
name=name.replace('n','s')
print(name1)
***
{注:name1 = name.replace('n','s')这个的替换赋值给了一个新的变量
name=name.replace('n','s')这个是在原变量上修改替换}
strip除去头尾两边的空格 \t \n 均可去除,同时也可去除多个\n \t***
name = " alex "
name1 = name.strip() # 可以写想要去掉的内容
print(name1)
if name == "alex":
print(666)
name = " alex "
print(name.strip())
split 分割 默认按照空格分割,也可只设置制定分割符,返回一个列表 *******
split 分割 默认按照空格分割,返回一个列表 *****
name = 'alex,wusir'
print(name.split("w"))
name1=':barry:nsds:wu'
print(name1.split(':')) 全部分割#['', 'barry', 'nsds', 'wu']
print(name1.split(':',2))分割的次数#['', 'barry', 'nsds:wu']
join 非常好用
s1='alex'
s2='+'.join(s1)
print(s2,type(s2))#a+l+e+x <class 'str'>
l1=['太白','小刚','小明']
# 前提:列表中的元素必须都是str类型
s3=':'.join(l1) 将一个列表返回一个字符串如下:
print(s3) #太白:小刚:小明
print(''.join(l1))#太白小刚小明
注:前面的''里面填的是什么,返回的就是通过它连接的字符串,里面为空,就将一个列表变成一个没有空隙的字符串
3.字符串的格式化
format
# # 第一种用法:按照位置顺序去填充的
# msg = '我叫{}今年{}性别{}'.format('小明',25,'男')
# 第二种用法:按照索引位置去填充的
# msg = '我叫{0}今年{1}性别{2}我依然叫{0}'.format('小明', 25,'男')
# print(msg)
# 第三种用法:赋值填充,位置可不必与前面一一对应
# a = 100
# msg = '我叫{name}今年{age}性别{sex}'.format(age=a,sex='男',name='小明')
# print(msg)
4.is系列--判断(字符串的数字)
name='1'
print(name.isdigit())#判断是不是数字
name='4334'
print(name.isdecimal())#判断是不是十进制
name='adde你好'
print(name.isalpha())#判断的是中文和字母
name='alex232'
print(name.isalnum())#判断的是不是字母,中文和数字
5.整数
bit_lenth 十进制转化成二进制的有效长度
i=4
print(i.bit_length())
6.for循环
s = "alexcnb,wusirnb,ritian,egon,taibai,qiuqiu"
print(len(s)) # 公用的 工厂函数 -- 所有类型都能用 他俩除外int - bool
count = 0
while count < len(s):
print(s[count]) # s[0] s[1] s[2]
count += 1
for 循环
for i in s:
print(i)
for 关键字
i 变量
in 关键字
s 可迭代对象 int - bool
for a in "alex":
print(a)
# pass # 过 -- 占位符
# ... # 过
print(a)
s = range(1,10) # 面试大坑 python2 和 python3
print(s) # 范围
for i in range(1,10,2): # (起始位置,终止位置,步长)
# range(10) 指定了终止位置,起始位置默认是0
print(i)
for i in range(100,-11,-1):
print(i)
for i in range(1):
print(i)
s='一日之计在于晨'
(1):for i in s:
print(i)
if i=='之':
break
(2):for i in s:
if i=='之':
continue
print(i)
注:break continue
for else:while else:用法一样。