字符串

字符串是不可变的对象,任何操作对原字符串是不会有任何影响的.

索引和切片

  1. 索引 . 索引就是下标, 下标从 0 开始, 使用[] 来获取数据
  • s1 = "0123456"
  • print(s1[X]) 获取第X个,若X为负,则从倒数开始.
  1. 切片 我们可以使用下标来截取部分字符串的内容

    语法: str[start: end:step]

    规则: 顾头不顾尾,从start开始截取,截取到end位置,但不包括end.

    跳着截取

    print(str[start:end:step] # step表示步长,如果步长是正数,从左往右,负数则从右往左.表示每多少个取一个

字符串的相关操作方法

  1. 大小写转来转去

    s = s1.capitalize()   #首字母大写
    s = s1.lower () #全部转换成小写
    s = s1.upper () #全部转换成大写
    while True:
    content = input("请输入内容")
    if content.upper == "Q"
    break
    print(content)
    s = s1.swapcase()   # 大小写互换
    s= s1.casefold() #不常用,转成小写,和lower的区别: lower()对某些字符支持不够好,casefold() 对所有字母都有效
    s = s1.title() #每个首字母大写
  2. 切来切去

    s = s1.center(10, "*")    #居中,把原来的字符拉长成10,其余位置补 *
    s = s1.strip() #去掉左右两端的空格 也可以去掉指定元素
    s= s1.lstrip() #去掉左边空格
    s= s1.rstrip() #去掉右边空格
    s = s1.replace('a', 'b', X) #字符串替换,把a替换成b, X 是替换次数
    s = s1.split() #字符串切割, 默认是空格分割 如果切割福在两端,会出现空字符串( " ") 分割后返回的内容是列表
    print(" 1 2 3 4 \n 5 6 7")   \n  是换行
    
       用于模拟登陆,忽略用户输入的空格
    
       ```python
    count = 1
    while count <= 3:
    username = input("用户名:").strip()
    password = input("密码").strip()
    if username == "Agoni" and password == "123":
    print("登陆成功")
    break
    else:
    print("用户名或者密码错误")
    print("已经登录%s次,剩余%s次" % (count, 3-count))
    count = count + 1
  3. 格式化输出

    s1 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦')  # 之前的写法
    
    #  % 占位符: 声明占位的类型 %s -- 字符串  %d/%i -- 整型  %% 转义 成为普通的%   %() 不能多,不能少,一一对应
    
    name = input("name")
    print(f"alex{name},{'aaa'}")
    # 打印结果是 alexname,aaa
    # f"{}" 大括号里的内容一般都放变量 字符串单引号 3.6版本及以上才能使用 s1 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化 顺序填充 s1 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置 索引填充 s1 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润
    发", age=28) # 指定关键字
  4. 查找

    s = s1.startswith("XXX") # 判断是否以XXX开头
    
    s = s1.endswith("XXX") # 是否以'XXX'结尾
    
    s = s1.count("a") # 查找"a"出现的次数
    
    s = s1.find("xxx") # 查找'xxx'的位置, 如果没有返回-1
    
    s = s1.find("a", 8, 22) # 切⽚找
    
    s = s1.index("xxx") # 求索引位置. 注意. 如果找不到索引. 程序会报错
    
    
  5. 条件判断

    # 条件判断
    s1 = "123.16"
    s1 = "abc"
    s1 = "_abc!@"
    # 是否由字⺟和数字组成
    print(s1.isalnum()) # 是否由字⺟组成
    print(s1.isalpha()) # 是否由数字组成, 不包括小数点
    print(s1.isdecimal()) # 记这个 判断十进制 返回布尔值
    print(s1.isdigit())
    print(s1.isnumeric()) # 这个⽐较牛B. 中⽂都识别.
  6. 字符串长度

    s1 = " XXXX,XXXXXX "
    s = len(s1) # 计算字符串的⻓度
    注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就⾏

Python基础篇 -- 字符串的更多相关文章

  1. python基础篇----字符串unicode

    python中处理中文常要用到unicode,因为较容易遇到字符串编码的问题,我一般都是将字符串统一转成unicode去处理 python中定义一个unicode字符串,可以在字符串前面加u: str ...

  2. python基础篇-day1

    python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...

  3. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  4. python基础篇之进阶

    python基础篇之进阶 参考博客:http://www.cnblogs.com/wupeiqi/articles/5115190.html python种类 1. cpython  使用c解释器生产 ...

  5. python基础篇(六)

    PYTHON基础篇(六) 正则模块re A:正则表达式和re模块案例 B:re模块的内置方法 时间模块time A:时间模块的三种表示方式 B:时间模块的相互转换 随机数模块random A:随机数模 ...

  6. python基础篇(一)

    PYTHON基础篇(一) 变量 赋值 输入,输出和导入 A:输入 B:输出 C:导入 运算符 A:算数运算符 B:比较运算符 C:赋值运算符 D:位运算符 E:逻辑运算符 F:成员运算符 G:身份运算 ...

  7. python基础篇(三)

    PYTHON基础篇(三) 装饰器 A:初识装饰器 B:装饰器的原则 C:装饰器语法糖 D:装饰带参数函数的装饰器 E:装饰器的固定模式 装饰器的进阶 A:装饰器的wraps方法 B:带参数的装饰器 C ...

  8. python基础篇(四)

    PYTHON基础篇(四) 内置函数 A:基础数据相关(38) B:作用域相关(2) C:迭代器,生成器相关(3) D:反射相关(4) E:面向对象相关(9) F:其他(12) 匿名函数 A:匿名函数基 ...

  9. Python基础篇--输入与输出

    站长资讯平台:Python基础篇--输入与输出在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和输出输出输入END在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和 ...

随机推荐

  1. 洛谷 - P2158 - 仪仗队 - 欧拉函数

    https://www.luogu.org/problemnew/show/P2158 好像以前有个妹子收割铲也是欧拉函数. 因为格点直线上的点,dx与dy的gcd相同,画个图就觉得是欧拉函数.但是要 ...

  2. CodeForces754D【贪心】

    题意: 有n个区间,每个区间覆盖区间里一段数,求最大连续区间长度被覆盖k次,并输出选取的区间. 思路: 贪心: 感觉一开始肯定是要把区间按left从小到大排序的. 然后肯定是连续k个区间能够达到的重叠 ...

  3. Lightoj1080 【线段树】

    题意: 给你一个0/1的数组,然后给你n段区间,说这个区间里要反转一次,然后给你Q个询问,问你这个位置是什么: 思路: 我们线段树维护一下就好了额: 其实反转的话,还是算次数是不是,奇偶嘛: #inc ...

  4. uoj#283. 直径拆除鸡(构造)

    传送门 好神的构造题 vfk巨巨的题解 //minamoto #include<bits/stdc++.h> #define R register #define fp(i,a,b) fo ...

  5. mysql引擎问题研究

    mysql引擎问题研究 数据库引擎 缺省情况下,MYSQL支持三个引擎:ISAM,MYISAM和HEAP.还存在MYSQL+API的引擎例如InnoDB. 数据库引擎特点 ISAM:执行读取操作速度很 ...

  6. ubuntu 安装 RPostgreSQL 库

    其实大家在Linux 的R 中安装其他库,完全可以使用R 自带的安装方式,只是这个 RPostgreSQL 库需要用到 postgresql 的lib 库与include 头文件,所以才有若干个步骤去 ...

  7. bzoj1130:[POI2008]POD Subdivision of Kingdom

    传送门 看到数据范围这么小,不由得算了一下暴力复杂度,算出来情况一共只有1e7,不多,再乘上暴力判断的复杂度,好像T了,判断的话位运算可以方便解决 但是我写的优化似乎比较渣,还留了个log,但是还是n ...

  8. python 的sorted函数

    sorted函数:sorted(iterable,key,reverse) 其中iterable表示可以迭代的对象,  key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还 ...

  9. linux 打开FTP 功能

    http://blog.csdn.net/jay285979220/article/details/62216622 今天在linux上安装完了vsftpd后,使用root账号一直无法登陆到服务器上. ...

  10. SDIO学习

    https://baijiahao.baidu.com/s?id=1561100856106707&wfr=spider&for=pc http://www.eepw.com.cn/a ...