python学习笔记-字符串的操作

变量

        在代码中用来临时保存数据

        基本规范:1、只能由数字、字母、下划线组成

                          2、不能以数字开头

                          3、不能使用python中的关键字

python中的关键字

import keyword

print(keyword.kwlist)


打印结果:['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 
'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally',
 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 
'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

 数值类型:

整数:int 
age = 18 

小数(浮点数):float 
num01 = 33.333

布尔类型:

        True:表示真,条件成立

        Flase:表示假,条件不成立

        所有的数据都可以转换为布尔值:

        非零为True:数据值不为0,数据长度不为0,数据值不为空(None),那么这个数据的布尔值是True

算术运算符:

+
-
*
/
//除法取整
%除法取余
**幂运算

比较运算符:

>

大于

<

小于
>=

大于等于

<=小于等于
!=不等于
==等等于

备注:等于号(=)表示给变量进行赋值

字符串

        可以通过引号来表示

        字符串的转义: \ 可以对特殊符号进行转义

        \n :表示换行

        \t :表示制表符

s1 = "你好"
s2 = '你好'

        字符串的拼接,可以通过"+"号拼接

a = '小铭'
b = '小琳'
print(a+'的好朋友是'+b)

打印结果:小铭的好朋友是小琳

字符串的输出

1、传统的%号格式化

%s :表示一个字符串占位符(后面填任意类型的数据都可以)

%d :表示一个整数占位符(后面只能填数值类型的数据,会转换为整数)  

%f :表示一个浮点数占位(后面只能填数值类型的数据,为转换为小数)bool  int  float

name = '小铭'
money = 20000
desc = "今收到%s,交来学费%s元,开此收据为凭" % (name, money)
print(desc)
print('交来学费%d元' % (8.88))
print('交来学费%f元' % (700))

打印结果:
今收到小铭,交来学费20000元,开此收据为凭
交来学费8元
交来学费700.000000元

2、字符串的f 表达式(f小写大写都可以)

name = '张三'
age = 800
desc4 = F'收到{name},交来学费{age}元,开此收据为凭'
print(desc4)    #输出结果为 : 收到张三,交来学费800元,开此收据为凭

3、format:格式化

# 可以在{}中指定填充数据的位置
desc2 = "今收到{1},交来学费{0}元,开此收据为凭".format('李四', 800)
print(desc2)      #打印结果:今收到800,交来学费李四元,开此收据为凭

# 格式化小数
desc2 = "今收到{},交来学费{:.3f}元,开此收据为凭".format('李四', 888.99499923232)
print(desc2)  #打印结果:今收到李四,交来学费888.995元,开此收据为凭

# 格式化百分比显示
desc3 = '接口自动的用例执行通过率为 {:.1%}'.format(0.8899)
print(desc3)   #打印结果:接口自动的用例执行通过率为 89.0%


"""格式化字符串的长度:
        {:^20}:  ^居中对齐
        {:<20}:  左对齐
        {:>20}:  右对齐
        {:*>20}:可以在对齐符号的前面指定填充字符"""
print("今收到{:^20},交来学费80元,开此收据为凭".format('dasda'))
print("今收到{:>20},交来学费80元,开此收据为凭".format('dsiuauidas'))
print("今收到{:<20},交来学费80元,开此收据为凭".format('ds'))
print("今收到{:*>20},交来学费80元,开此收据为凭".format('dsasdasdsasda'))

"""
打印结果
今收到       dasda        ,交来学费80元,开此收据为凭
今收到          dsiuauidas,交来学费80元,开此收据为凭
今收到ds                  ,交来学费80元,开此收据为凭
今收到*******dsasdasdsasda,交来学费80元,开此收据为凭
"""

字符串的索引和切片

python中所有的序列类型(字符串、列表、元组)数据都有索引

索引:

        正向索引:按从前往后的顺序,从0开始数,越往后值越大

        反向索引:按后前往前的顺序,从-1开始数,越往前值越小

索引取值:  结果 = 数据[索引值]

s1 = 'abcdefg'
res1 = s1[4]
res2 = s1[-1]
print(res1)    #打印结果:e
print(res2)    #打印结果:g

切片:

    1、切片:[start:end]

        结果 = 数据[起始位置索引:终止位置的索引]

        切片注意点:取头不取尾  (左闭右开)

    2、加步长的切片:[start:end:length]

        结果 = 数据[起始位置索引:终止位置的索引:步长]

    # 注意点:起始位置和终止位置不写,默认代表最前面和最后面

"""有个字符串为"abcdefg.exe" 通过切片完成下面的任务
1.输出前3个字符
2.输出后2个字符
3.倒叙输出
4.间隔1个字符串输出"""

a = "abcdefg.exe"
print(a[:3])    # abc
print(a[-2:])    # xe
print(a[::-1])    # exe.gfedcba
print(a[::2])    # acegee

字符串常用的方法

1. replace:替换字符串中的内容

        参数1:需要替换的内容

        参数2:替换之后的内容

        参数3:可以指定替换的次数(默认是替换所有的值)

        注意点:(参数2)替换之后的内容只能传递字符串

s = 'python123java123php123C++'
res = s.replace("123", '999')
print(res)    #打印结果为 : python999java999php999C++
 
s = 'python123java123php123C++'
res = s.replace("123", '999',2)  #指定替换的次数
print(res)    #打印结果为 : python999java999php123C++

2、find: 查找指定字符的索引位置,若找不到则返回-1(返回查找到的第一个的索引)

s2 = 'pythonAjavaAphpA'
res = s2.find('A')
print(res)    #打印结果为:6
print(s2.find('x'))  # -1

3、join:字符拼接的方法  ‘’.jion(需要拼接的字符串)

res1 = ''.join(('python', 'java', 'php'))
print(res1)   #打印结果为:pythonjavaphp

res2 = '_'.join(('python', 'java', 'php'))  #以下划线进行拼接
print(res2)  #打印结果为:python_java_php

x = "abc"
y = "def"
z = ["d", "e", "f"]
print(x.join(y))  # dabceabcf
print(x.join(z))  # dabceabcf

4. split:把一个字符串,以分隔符为分割点,分割成多个字符  

s4 = 'python99java99php99c++'
res = s4.split('99')
print(res)    #打印结果为:['python', 'java', 'php', 'c++']

s5 = '@id@mobile@pwd'
print(s5.split('@'))   #打印结果为:['', 'id', 'mobile', 'pwd']

5. strip:去除前后指定的字符(默认是去除空白字符)

扩展:lstrip()   去除前面的(默认是去除空白字符)

      rstrip()   去除后面的(默认是去除空白字符)

# 字符串去除前后空白字符
s = '        python35 hello python     '
print(s)
res = s.strip()
print(res)

 打印结果:

# 去除前后指定的字符
s2 = '+++++++python35 hello python------------'
res2 = s2.strip('+')
print(res2)    # python35 hello python------------
res3 = s2.strip('-')
print(res3)    # +++++++python35 hello python

6.  upper:将字符串中的小写字符转换为大写

  lower:将字符串中的大写字符转换为小写

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值