day4字符串的基本操作 for循环

01,查看当前python中表示unicode字符串时占用的空间
import sys
print(sys.maxunicode)
# 如果值是 65535 则表示ucs2标准,即2个字节表示
# 如果值是 1114111 则表示ucs4标准,即4个字节表示

 02,基础数据类型总览

    int:用于计算,计数,运算等,
    str:'我的名字叫Alex'用于少量数据的存储,便于操作
    bool:True False两种状态,机器反馈判断的节结果
    list:[1,'a',True,[],{},...],大量的数据,各种数据类型的操作
    tuple:(1,'a',True,[],{},...),只读只读只读列表
    dit:字典,大量的关联型数据
    {
    'name':alex,
    'name_list':[司徒,李莲英,慈禧太后,。....],
    '太白':{'名字':太白,'age':28,'sex':'男'}
    }

  



03,整形int
i = 4
print(i.bit_length())#查询十进制转化成二进制占用的最小位数
十进制 二进制 bit_length()
1 0000 0001 1
2 0000 0010 2
3 0000 0011 2
4 0000 0100 3
5 0000 0101 3
...

04,数据类型之间的转化
int -->str str() int()
int -->bool bool(int) 非零--> True 零-->False
str-->bool 非空--> True
s1 = ''
print(bool(s1))

  --> False


05,判断用户输入的是否为空
user_input = input('请输入用户名')
if bool(user_input):
    print('您输入的不为空')
else:
    print('您没有输入任何东西')

  



06,字符串的第一类操作
1索引 切片 步长

06.1#按照索引来取值 注意 取出来都是单个的字符
s1 = 'python1期深圳骑士计划'
s1[0]-->p
s1[1]-->y
s1[-1]-->划
s1[-2]-->计

06.2切片取值 ###规则 顾头不顾尾### s1[:] 开始位置 结束位置
s1 = 'python1期深圳骑士计划'
s1[0:2]--> py
s1[:2]--> py #开始位置可以省略不写

s1[1:-1] # 最后一位的下标为 -1
-->ython1期深圳骑士计
s1[1:] #直接到最后 可以省略不写
-->ython1期深圳骑士计划

06.3按照步长切片取值 s1[开始位置:结束位置:步长]
s1 = 'python1期深圳骑士计划'
s1[1::2]

06.5倒叙取值 使用反向步长
    s1 = 'python1期深圳骑士计划'
    print(s1[-1:-5:-1])

  


-->划计士骑
print(s1[-1:-6:-2])
-->划士圳
2字符串的第二类操作
06.6操作语法 规则
s1 = 'python1期深圳骑士计划'
s1.函数名(参数)

06.7首字母大写
    name = 'python1期深圳骑士计划'
    print(name.capitalize())

  


-->Python1期深圳骑士计划

06.8center字符串居中 并且 前后填充自定义的字符
    name = 'python1期深圳骑士计划'
    print(name.center(20,'#'))

  


-->###python1期深圳骑士计划###

06.9全部大写 全部小写upper lower
    name = 'pyTHon1期深圳骑士计划'
    print(name.upper())
    print(name.lower())

  


-->
PYTHON1期深圳骑士计划
python1期深圳骑士计划
####应用场景 用户输入验证码 不区分大小写####
    username = input('请输入用户名:')
    code = 'ADFer'.upper()
    user_input = input('请输入验证码:').upper()
    if username == 'Alex' and user_input == code:
        print('登陆成功...')
    else:
        print('登录失败')

  



06.10startwith endwith
    name  ='OldBoy'
    print(name.startswith('Ol'))
    print(name.startswith('ol'))
    print(name.endswith('y'))
    ---->

  


True
False
True

06.11swapcase 大小写翻转 中文不变

name ='OldBoy老男孩'
print(name.swapcase())
-->
oLDbOY老男孩

06.11title 非字母隔开的 首个字母大写
name ='OldBoy chenwen#alex9nvshen'
print(name.title())
-->
Oldboy Chenwen#Alex9Nvshen

06.12#find 通过元素来找索引 找到第一个就返回 没有此元素则返回 -1
#index 通过元素来找索引 找到第一个就返回 没有此元素则 报错
name ='OldBoy chenwen#alex9nvshen'
print(name.find('ld'))
print(name.find('chenwen'))
print(name.index('nv'))
print(name.index('q'))
-->
1
7
20
错误

06.13strip 剥光; 表演脱衣舞; 剥除;
#默认 去除字符串前后的 空格 换行 制表符Tab
    name  ='\t    OldBoy\n'
    print(name)

  


-->
OldBoy
    name  ='\t    OldBoy\n'
    print(name.strip())

  


-->
OldBoy

#strip('@')
#去除自定义的 字符
    name  ='@@@Ol@@@dBoy@@@'
    print(name.strip('@'))

  


-->
Ol@@@dBoy

    name2 = 'weralexwqwe'
    print(name2.strip('erw'))

  


#从左边开始 只要碰到 不是条件中的字符 则终止剪除
#从右边开始 只要碰到 不是条件中的字符 则终止剪除
-->
# wer(剪除) alexwq we(剪除)
alexwq
####应用场景 剪除用户 输入的空格####
    username  = input('请输入用户名:').strip()
    if username =="chenwen":
        print('登录成功')
    else:
        print('登录失败')

  




06.14split将字符串分割城列表
###注意 这是很有效的一种 把字符串-->列表 的方法
###注意哦 输出的是列表哦
    str1 = 'wusir alex taibai meinv'
    print(str1.split())

  


-->
['wusir', 'alex', 'taibai', 'meinv']

#默认是按照空格来 划分
    str1 = ' wusir alex taibai meinv' ##注意'之后有个空格
    print(str1.split())#默认是按照空格来 划分

  


-->
['wusir', 'alex', 'taibai', 'meinv']#只输出4个元素

    str1 = ' wusir alex taibai meinv'##注意'之后有个空格
    print(str1.split(' '))#注意分割的标志是' ' (之间有个空格)

  


-->
['', 'wusir', 'alex', 'taibai', 'meinv']#输出的是5个元素

    str1 = '@wusir@alex@taibai meinv'
    print(str1.split('@'))

  


-->
['', 'wusir', 'alex', 'taibai meinv']

#自定义分割标志 自定义分割次数
    str1 = '@wusir@alex@taibai@meinv'
    print(str1.split('@',2))

  


-->
['', 'wusir', 'alex@taibai@meinv']

06.15join 拼接
    str1 = 'alex'
    print('&'.join(str1))#注意哦 需要插入的特殊字符 放前面
    print(str1.join('*'))
    print('_'.join(str1))

  


-->
a&l&e&x
*
print('_'.join(str1))

#注意哦 这也是列表-->字符串 的一种方法
    str1 = ['alex','2',]
    print('*'.join(str1))

  


-->
alex*2

06.16replace 替换
str1 ='alex 很 很牛逼'
print(str1.replace('牛逼','SB'))
-->
alex 很 很SB

06.17格式化输出 format
    s1 = '我叫{},我今年{}岁,性别{}'.format('taibai','28','男')
    print(s1)

  


-->
我叫taibai,我今年28岁,性别男

#加上下标的format
    s1 = '我叫{0},我今年{1}岁,性别{2},我依然叫{0}'.format('taibai','28','男')
    print(s1)

  


-->
我叫taibai,我今年28岁,性别男,我依然叫taibai

#给关键字赋值
    s1 = '我叫{name},我今年{age}岁,性别{sex},我依然叫{name}'.format(age='28',sex='男',name='taibai')
    print(s1)

  


-->
我叫taibai,我今年28岁,性别男,我依然叫taibai

#is系列
    s1 = 'taibai123'
    print(s1.isalpha())
    print(s1.isdigit())
    print(s1.isalnum())

  


-->
False
False
True


#第三部分
#for 循环
#将字符串中的内容一个一个打印出来
#方法1
    s1 = 'taibai123'
    for i in s1:
        print(i)

  


#方法二
    s1 = 'taibai123'
    i = 0
    while i < len(s1):
        print(s1[i])
        i +=1

  


-->
    t
    a
    i
    b
    a
    i
    1
    2
    3

  









猜你喜欢

转载自www.cnblogs.com/cavalier-chen/p/9431766.html