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:用法一样。
posted @ 2019-06-05 17:33  God_with_us  阅读(454)  评论(0编辑  收藏  举报