1 字符串初识

  1. 字符串编码

  1. 字符串定义:多个字符(双引号或单引号中的数据)组成

  2. 字符串下标 类似列表list

  3. 格式化 就是占位符 最常用%s %d %f等等

  4. 转义字符

转义字符 描述
\ (在行尾时) 续行符
\ 反斜杠符号
' 单引号
" 双引号
\n 换行
\t 横向制表符
\r 回车(一般不单独使用)
  1. 运算符
  1. a = 'python'
  2. b = 'hello'
  3. a + b # pythonhello
  4. a*2 # pythonpython

2 字符串的常见方法操作

2.1 查找

  1. string.find(str[, beg=0[, end=len(string)]]) 常用
  • 检测 str 是否在 string 中
  • 如果 begend 指定范围,则检查是否在指定范围内
  • 如果是返回开始的索引值,否则返回-1
  1. string.rfind(str[, beg=0[, end=len(string)]])

类似于 find()函数,不过是从右边开始查找

  1. string.index(str[, beg=0[, end=len(string)]])

类似于 find()函数,但是找不到报异常

  1. string.rindex(str[, beg=0[, end=len(string)]])

类似于 rfind()函数,但是找不到报异常

2.2 统计

string.count(str[, beg=0[, end=len(string)]])

  • 检测 str 在 string 中出现的次数
  • 如果 begend 指定范围,则检查是否在指定范围内

2.3 分隔

  1. string.split(‘str’, num=string.count(str))
  • 以 str 为分隔符切片 string
  • 如果 num有指定值,则仅分隔 num 个子字符串
  1. s = 'a,b,c'
  2. ls = s.split(',')
  3. print(ls) # ['a', 'b', 'c']
  4. s = 'a,b,c'
  5. ls = s.split(',', 1)
  6. print(ls) # ['a', 'b,c']
  1. string.splitlines([keepends])
  • 按照行('\r', '\r\n', '\n')分隔,返回一个包含各行作为元素的列表
  • 如果参数 keependsFalse,不包含换行符,如果为 True,则保留换行符。
  1. s = 'aaa\nbbb'
  2. ls = s.splitlines()
  3. print(ls) # ['aaa', 'bbb']
  4. s = 'aaa\nbbb'
  5. ls = s.splitlines(True)
  6. print(ls) # ['aaa\n', 'bbb']
  1. string.partition(str)
  • 有点像 find()split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str)
  • 如果 string 中不包含str 则 string_pre_str == string
  1. string.rpartition(str)

类似于 partition()函数,不过是从右边开始

2.4 判断

  1. string.startswith(obj[, beg=0[,end=len(string)]])
  • 检查字符串是否是以 obj 开头,是则返回 True,否则返回 False
  • 如果begend 指定值,则在指定范围内检查
  1. string.endswith(obj[, beg=0[,end=len(string)]])
  • 检查字符串是否是以 obj 结尾,是则返回 True,否则返回 False
  • 如果begend 指定值,则在指定范围内检查
  1. string.isalnum()
  • 所有字符都是字母或数字则返回 True,否则返回 False
  1. string.isalpha()
  • 所有字符都是字母则返回 True,否则返回 False
  1. string.isdigit()
  • 所有字符都是数字则返回 True,否则返回 False
  1. string.isupper()
  • 所有字符都是大写则返回 True,否则返回 False
  1. string.islower()
  • 所有字符都是小写则返回 True,否则返回 False
  1. string.isspace()
  • 只包含空格则返回 True,否则返回 False

2.5 大小写

  1. string.capitalize()
  • 把字符串的第一个字符大写
  1. string.upper()
  • 转换 string 中的小写字母为大写
  1. string.lower()
  • 转换 string 中的大写字母为小写

2.6 对齐

  1. string.ljust(width)
  • 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
  1. string.rjust(width)
  • 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
  1. string.center(width)
  • 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串

2.7 裁剪

  1. string.strip([obj])
  • 删除 string 字符串前后的的obj,如果不传参数,删除前后空格
  1. string.lstrip([obj])
  • 删除 string 字符串左面的obj,如果不传参数,删除左面空格
  1. string.rstrip([obj])
  • 删除 string 字符串右面的obj,如果不传参数,删除右面空格

2.8 合并

string.join(seq)

  • 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
  1. ls = ['a', 'b', 'c']
  2. s1 = '-'
  3. s2 = s1.join(ls) # 'a-b-c'
  4. s = 'a-b-c'
  5. s.split('-') # ['a', 'b', 'c']

2.8 大小写

  1. string.encode(encoding='UTF-8', errors='strict')
  • 以 encoding 指定的编码格式编码 string,
  • 如果出错默认报一个ValueError 的异常,除非errors指定的是'ignore'或者'replace'
  1. bytes.decode(encoding='UTF-8', errors='strict')
  • 以 encoding 指定的编码格式解码 string,
  • 如果出错默认报一个 ValueError 的异常,除非errors指定的是'ignore' 或者'replace'

01.Python基础-4.字符串的更多相关文章

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

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

  2. Python基础(二) —— 字符串、列表、字典等常用操作

    一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...

  3. python基础、字符串和if条件语句,while循环,跳出循环、结束循环

    一:Python基础 1.文件后缀名: .py 2.Python2中读中文要在文件头写: -*-coding:utf8-*- 3.input用法      n为变量,代指某一变化的值 n = inpu ...

  4. Python基础__字符串拼接、格式化输出与复制

    上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接.格式化输出以及复制的等做做详细介绍.一. 字符串的拼接 a = 'I', b = 'love', c = 'Python'. 我们的目的是: ...

  5. python基础类型—字符串

    字符串str 用引号引起开的就是字符串(单引号,双引号,多引号) 1.字符串的索引与切片. 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推. a = 'ABCDEFGHIJK' p ...

  6. Python基础二字符串和变量

    了解一下Python中的字符串和变量,和Java,c还是有点区别的,别的不多说,上今天学习的代码 Python中没有自增自减这一项,在转义字符那一块,\n,\r\n都是表示回车,但是对于不同的操作系统 ...

  7. Python基础之字符串和编码

    字符串和编码 字符串也是一种数据类型,但是字符串比较特殊的是还有个编码问题. 因为计算机自能处理数字,如果徐娅处理文本,就必须先把文本转换为数字才能处理,最早的计算机子设计时候采用8个比特(bit)作 ...

  8. python基础知识——字符串详解

    大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...

  9. day 01 python基础

    1.计算机历史 2.python历史 宏观: python2和python3的区别: python2  源码不标准,混乱,重复代码过多 python3  统一标准,去除重复代码 3.python环境 ...

随机推荐

  1. java封装AES加密算法

    在实际coding中会常常遇到往数据库存入密码时加密.URL传參时的加密.由此简单封装了下java中的AES加密算法. 0.import类 import java.security.SecureRan ...

  2. ios weak和strong的差别

    The difference is that an object will be deallocated as soon as there are no strong pointers to it. ...

  3. JQuery常用的api[最好是系统地学习一下《锋利的JQuery》]

    text http://api.jquery.com/text/ Get the combined text contents of each element in the set of matche ...

  4. python时间戳

    time.strftime("%Y-%m-%dT%H:%M:%S.000", time.localtime())

  5. B1968 [Ahoi2005]COMMON 约数研究 数论

    大水题,一分钟就做完了...直接枚举1~n就行了,然后在n中判断出现多少次. 题干: Description Input 只有一行一个整数 N(0 < N < 1000000). Outp ...

  6. 爬虫之 Requests库的基本使用

    引入 Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用. 警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症.冗余代码症.重新发明轮子症.啃文档 ...

  7. NOIP 2012 D1T1 Vigenère密码

    嗯嗯 一道找规律的题.... 真佩服那些把表打出来的人 //By SiriusRen #include <cstdio> #include <cstring> using na ...

  8. ROW_NUMBER() OVER()函数用法;(分组,排序),partition by (转)

    1.row_number() over()排序功能: (1) row_number() over()分组排序功能: 在使用 row_number() over()函数时候,over()里头的分组以及排 ...

  9. rem简单实现移动端适配

    rem:移动web开发 默认字体大小是16px 在<html>中设置字体大小 与em的区别: em是在父级设置字体大小受影响 移动端适配 首先获取屏幕的宽度 计算当前屏幕宽度和640的比例 ...

  10. 更改 AVD 默认存放位置

    AVD Manager 创建的 Android 模拟器(AVD)默认存放位置为C:\Users\<user>\.android\avd,我创建了2个AVD,一共用了近9G!是要挪挪地方了. ...