一起学python 三 --字符串详解,for循环

1.整型
n = 56
    print(n.bit_length())     #查看值用几位(bit)
    # python2 中有长整型  long
# python3 中全都是整型

2.bool
True False

print(boll(num))
#非0数字输出Ture 数字0输出False

  所有空的都是False
  0,None,[],{},(),""
 print(int(True))     1
 print(int( False))   0
    ## 字符串转布尔值的时候,只要不为空就是Ture
3.字符串详解
name='alex,wusir'
#只要用特殊字符隔开就能分解认为是多个单词(中文也是特殊字符)
1) 每个单词的首字母大写
s1 = name.title()
print(s) #Alex,Wusir
2) 只有第一个首字母大写
s2 = name.capitalize() #Alex,wusir
3) 全部大写
s3 = name.upper() #ALEX,WUSIR
4) 全部小写
s4 = name.lower() #wlex,wusir

#应用场景
    yzm = 'o98K'
    y_zm = input("输入验证码('o98K'):")
    
    if yzm.upper() == y_zm.upper():
        print('验证码正确')
    else:
        print('验证码错误') 
    5) 统计内容个数(类似Word查找文字个数)
s5 = name.count('w') #1
6)切片
 s6 = 'pythonNB'

        print(s[0:3])
        print(s[2])
        print(s[-3:-1:1])
        print(s[2:8])
        print(s[1:])
        print(s[:5:2])
        print(s[1:6:2])
        print(s[:])
        print(s[3::2])
        print(s[-5::-3])

总结: 下标(索引)
从左往右 0开始 从右往左 -1 开始
从左往右 [起始位置:终止位置] 如果[-1:-4] 这样可以取到内容吗? 是不可以的
[a:b:c] [a:b]的方向要与c 的方向一致[-1:-4:-1]可取到内容
步长(扯蛋) [起始位置:终止位置:步长] (方向) 默认使用是1 也就是从左往右
想要从右往左 步长写为 -1
可以一次性跨多个(例如我们写的步长为2,3,4,5)
7) s7 = name.find("m") # 查找索引 查找不到返回-1
print(s7)

s8 = name.index('m') # 查找索引 查找不到就报错
print(s8)
8)居中
s9 = name.center(,"") # 居中 第一个放数字,第二个放要填充的内容
9)分割
name = 'al ex'
s10 = name.split() # 分割 ############## 非常非常重要

()为空,默认使用空格分割;括号中有"",以引号内的分割

可以将字符串转换成列表

10) 去除(脱)
s11 = name.strip() ###脱,默认去除头尾两边的空格和换行符
#可以在(括号)中填上我们要去除的内容,这个内容只能指定处于头尾两边的

应用场景:
            user = input("请输入用户名:").strip()
            pwd = input("请输入密码:").strip()

            if user == 'alex' and pwd == 'alex3714':
                print('可以取钱了')
            else:
                print('不能取钱')
      
11)插入
s12 = "".join() ##""中的指定字符拼接
     #拼接列表   
        lst = ['1','2','3']
        s = '_'.join(lst)       #将列表转化为字符串>>>>也可用for循环进入空字符串实现
        print(s)        
        #拼接字符串或数字
        s = "123456"
        c = "-".join(s)
        print(c)
        #将字符串变成竖直方向
        s = '
'.join(name)
        print(s)
        

12) 替换
s13 = name.replace("","") #用第二个值替换掉第一个值
name = "a l e x l h "
print(name.replace(" ","") >>>alexlh

13) 以什么开头
s14 = name.isstartswith()

14) 以什么结尾
s15 = name.isendswith()

15) 判断是不是数字和字母
s16 = name.isalnum()

16) 判断是不是纯字母
s17 = name.isalpha()

17) 判断是不是纯数字 ####
s18 = name.isdigit()

18) 求取字符串长度
s19 = len(name)
# format的格式化输出 ######3种代入方法
1.按照占位的顺序来填充
   name = '张韶涵{}小{}{}'

    s = name.format('是我的','','')  

2.按照索引来对应填充
   name = '张韶涵{0}小{2}{1}'

    s = name.format('是我的','','') 
    3.按照关键字对应填充
  name = '张韶涵{a}小{b}{c}'
    s1 = name.format(a='是我的',c='',b='')  

    print(s1)        总结        split   分割                       ********
        strip   脱  默认脱头尾的空格        ********
replace 替换 ********
join 插入 拼接 ********
format % f ******
upper 全部大写 ******
lower 全部小写 ******
find 查找 不存在返回 -1 ******
index 查找 不存在报错 ******
isdigit 判断是不是纯数字 ******
isalpha 判断是不是纯字母 ******
count 统计 *****
title 每个单词首字母大写 *****



for 循环
for 关键字
i 变量(此处可以更改 更改规则参考变量命名规则)
in 关键字
可迭代对象 (想要循环谁就放谁,注意:数字除外 因为数字不可迭代)

1.将每个字符串列出
name = "alex"
1)while循环方法
    count = 0 # 计数器
       while count < len(name):
            print(name[count])    
            count = count + 1     
        2)for循环方法
  for i in name:
            print(i) 
    2.在每个字符串后面加字符串
     name = "alex"
        for i in name:
            l = name[i] + '嘿嘿嘿'
            l = i + '嘿嘿嘿'
            print(l)
            
3. for 循环内可以进行任意操作,可以写代码块:

例如:
     name = 'alex'
        for i in name:
            l = input(">>>")
            print(l)

注意: for循环是有限循环 限制范围取决与我们的迭代对象的长度
原文地址:https://www.cnblogs.com/chenzhiming/p/9885830.html