我的完整施工计划

已完成专题:

1.我的施工计划

2.数值专题

这篇是字符串专题总结

除了常见的数值型,字符串是另一种常遇到的类型。一般使用一对单引号或一对双引号表示一个字符串。

字符串中如果遇到 \ 字符,可能是在做字符转义,所谓的转义便是字符的含义发生改变,比如常用的\n 组合,转义后不再表示字符n本身,而是完成换行的功能。

类似的,还有很多转义字符,如 \t, 正则表达式中 \s\d等等。

接下来一一总结字符串常见用法,此专题展开的思维导图如下:

字符串专题思维导图

1 字符串创建

一般使用一对单引号或一对双引号表示一个字符串。如下所示s 为字符串:

s = 'python' # 或 s = "python"

很多情况下单引号和双引号作用相同,但是一些情况还是存在微妙不同

例如,使用一对双引号("")时,打印下面字符串无需转义字符(也就是\字符):

In [10]: print("That isn't a horse")That isn't a horse

但是使用一对单引号打印时,却需要添加转义字符 \,如下所示:

In [11]: print('That isn\'t a horse')That isn't a horse

除此之外,如果遇到字符串偏长,一行容不下来,需要展示为多行。一对三重单引号'''或三重"""就会派上用场,它们能轻松实现跨行输入:

In [12]: print("""You're just pounding two    ...: coconut halves together.""")You're just pounding twococonut halves together.

2 \ 转义

转义的语法:一个\+单个字符,组合后单个字符失去原来字面意义,会被赋予一个新的功能。

常见的转义字符:\n 完成换行,\t tab 空格等。

转义的另外一个重要作用是用于Python的正则。正则不仅指使用模块 re 完成字符串处理,还泛指很多常用包中函数的参数使用小巧的正则表达,比如数据分析必备包 pandasstr访问器中 split, cat 等方法参数中使用转义字符。

关于正则处理字符串的常见用法,后面会有一个单独的专题总结。

3 字符串与数字

字符串与数字结合也会十分有用,可以玩出很多有趣的花样。

数字n乘以字符串会克隆出n倍个原字符串:

In [42]: 3*'py'Out[42]: 'pypypy'

20乘以字符-会绘制出一条虚线:

In [43]: 20*'-'Out[43]: '--------------------'

2个字符串常量能直接结合,中间不用添加任何东西,如下:

In [14]: 'Py''thon'Out[14]: 'Python'

单个字符还能与数值完成互转,内置函数ord转换单个字符为整型,chr函数转换整数为单个字符:

In [35]: ord('振')Out[35]: 25391
In [36]: chr(25391)Out[36]: '振'

还能使用bytes函数将字符串转为字节类型(bytes),使用str函数转化字节类型为字符串:

s = 'python'sa = bytes(s,encoding='utf-8')s = str(sa,encoding='utf-8')

4 字符串打印及格式化

常规打印一个字符串比较简单,如果打印字符串中含有变量,该怎么正确打印。一般有两种方法:

  1. 使用 format 函数

字符串变量使用一对花括号{}, format 参数中指定变量的取值:

>>> print("i am {0},age {1}".format("tom",18))i am tom,age 18
  1. f打印

f 后面紧跟一个字符串,其中花括号{}中直接写出变量名称,显然这种含有变量的打印方法更加符合大多数人的习惯:

In [45]: tom = 'tom'In [46]: age = 18In [47]: print(f'i am {tom}, age {age}')i am tom, age 18

除了知道如何打印字符串,还有一项重要的事:如何控制字符串的打印。

虽然这是一个非常小的功能,但是知道一些常见的控制方法,却能使得书写更加简洁。常见的控制打印用法:


输出中如何控制保留两位小数,整数补零填充,对齐,百分比格式打印,整数太长使用科学计数法打印等等。可以记住如下7种常见用法:

(1). 保留小数点后两位

# 1 保留小数点后两位>>> print("{:.2f}".format(3.1415926)) 3.14

(2). 带符号保留小数点后两位

>>> print("{:+.2f}".format(-1)) -1.00

(3). 不带小数位

>>> print("{:.0f}".format(2.718)) # 不带小数位3

(4). 整数补零,填充左边, 宽度为3

>>> print("{:0>3d}".format(5)) # 整数补零,填充左边, 宽度为3005

(5). 以逗号分隔的数字格式

>>> print("{:,}".format(10241024)) # 以逗号分隔的数字格式10,241,024

(6). 百分比格式

>>> print("{:.2%}".format(0.718)) # 百分比格式71.80%

(7). 指数记法

>>> print("{:.2e}".format(10241024)) # 指数记法1.02e+07

5 字符串常见处理操作

字符串对应Python中的 str 类型,其内置封装的方法有几十个,下面列举一些常用的必知的用法。

join 串联多个字符串,注意Python中没有单个字符这种类型,单个字符在Python中也会被当作str类型。如下连接多个字符串,最终打印出 Python串:

chars = ['P', 'y', 't', 'h', 'o', 'n']name = ''.join(chars)

既然有串联字符串,就应该有相反的操作:分割字符串,一般使用split函数,第一个参数指明分割字符串使用的分割符:

In [49]: 'col1,col2,col3'.split(',')Out[49]: ['col1', 'col2', 'col3']

split还有第二个参数指明需要做的分割次数,比如只做一次分割,得到如下两个元素:

In [51]: 'col1,col2,col3'.split(',',1)Out[51]: ['col1', 'col2,col3']

split默认是从左侧开始分割字符串,与之对应的另一个函数rsplit就是从右侧开始分割字符串,某些场景rsplit函数更好用一些。从右侧开始只做一次分割可以写为:

In [52]: 'col1,col2,col3'.rsplit(',',1)Out[52]: ['col1,col2', 'col3']

除了以上两个常用的方法,还有replace,startswith,strip,lstrip等等经常也会用到,在此不再一一举例。

以上就是字符串处理的基本用法专题,主要总结了:

  • 1 字符串创建

  • 2 \ 转义

  • 3 字符串与数字

  • 4 字符串打印及格式化

  • 5 字符串常见处理操作

最后,以一个更有意思的小功能作为本专题的收尾。

已知下面一个长句,将其转化为多行,每行只有11个字符。

words = '是想与朋友们分享一个再普通不过的道理:脚踏实地做些实事,哪怕是不起眼的小事,每天前进一点,日积月累会做出一点成绩的。'

借助内置的textwrap模块中fill方法,实现每行11个字符:

import textwrapr = textwrap.fill(words,11)print(r) 

结果:

是想与朋友们分享一个再普通不过的道理:脚踏实地做些实事,哪怕是不起眼的小事,每天前进一点,日积月累会做出一点成绩的。

送 2 本书:Python数据分析与挖掘实战,最走心留言送1本,点赞最多送1本。后面凡是专题类文章都会送几本书,欢迎朋友们星标振哥的公众号,多多留言与振哥互动,根据最新推送规则你会第一时间收到推文。点击了解此书详情:

Python数据分析与挖掘实战(第2版)

此书简介:畅销书全新升级,第1版销售超过10万册,被国内100余所高等院校采用为教材,同时被广大数据科学工作者奉为经典,是该领域公认的事实标准。作者在大数据挖掘与分析等领域有10余年的工程实践、教学和创办企业的经验,不仅掌握行业的技术和实践方法,而且洞悉学生和老师的需求与痛点。


原创不易,最后希望朋友们能点个在看或分享朋友圈支持振哥,叫我更有动力写好下一篇专题。

python 字符转义_2500字 字符串专题总结相关推荐

  1. 肝!2500字 字符串专题总结

    这篇是字符串专题总结 除了常见的数值型,字符串是另一种常遇到的类型.一般使用一对单引号或一对双引号表示一个字符串. 字符串中如果遇到 \ 字符,可能是在做字符转义,所谓的转义便是字符的含义发生改变,比 ...

  2. python字符位运算_python 字符串位运算-女性时尚流行美容健康娱乐mv-ida网

    女性时尚流行美容健康娱乐mv-ida网 mvida时尚娱乐网 首页 美容 护肤 化妆技巧 发型 服饰 健康 情感 美体 美食 娱乐 明星八卦 首页  > 高级搜索 [ python ] pyth ...

  3. python 字符转义_【课堂笔记】Python基础语法:字符串

    本文是<财务Python基础:字符串>视频的文字版笔记,供大家参考. Python中的字符串 字符串是以单引号'或双引号"括起来的任意文本.注意即使是数字,如果用引号引起来,那么 ...

  4. python字符循环左移_python字符串循环左移

    本文实例为大家分享了python字符串循环左移的具体代码,供大家参考,具体内容如下 字符串循环左移 给定一个字符串S[0-N-1],要求把S的前k个字符移动到S的尾部,如把字符串"abcde ...

  5. python字符数组输出_python字符串格式化输出

    字符串格式化输出 : 字符串的拼接第一种方式 如:name = input("name:") age = input("age:") job = input(& ...

  6. python字符子串_子字符串和子序列(Python),子串,python

    # -*- coding=utf-8 -*- ##### 1: 连续子串最大和 ##### def MaxSum(arr): res, s = arr[0], arr[0] for x in arr[ ...

  7. 【Python基础】字符串专题总结

    这篇是字符串专题总结 除了常见的数值型,字符串是另一种常遇到的类型.一般使用一对单引号或一对双引号表示一个字符串. 字符串中如果遇到 \ 字符,可能是在做字符转义,所谓的转义便是字符的含义发生改变,比 ...

  8. python的数值可以转换为字符串_python 数值转换为字符串Python对HTML转义字符进行反转义...

    什么是转义字符 在 HTML 中 .& 等字符有特殊含义( 用于标签中,& 用于转义),他们不能在 HTML 代码中直接使用,如果要在网页中显示这些符号,就需要使用 HTML 的转义字 ...

  9. python字符复制函数是啥_Python最全的字符和字符串函数,直接复制到IDLE或另存为py可以运行...

    ## -*- coding: utf-8 -*- import string str1 = "0123456789" print str1[0:3] ##截取第一位到第三位的字符 ...

最新文章

  1. 转换图像分辨率c++代码_哈工大等提出轻量级盲超分辨模型LESRCNN,代码已开源...
  2. [RN] React Native 键盘管理 在Android TextInput遮盖,上移等问题解决办法
  3. 获取Sql服务器列表 (C#)
  4. python桌面快捷图标_Python创建、删除桌面、启动组快捷方式的例子分享
  5. 读书,是成本最低的投资,却是一生的高贵
  6. 营救(洛谷-P1396)
  7. 【华为云技术分享】HDC.Cloud | 为防止交通事故,95后学生运用“黑科技”这样做!
  8. 匀速运动小车卡尔曼_平衡小车卡尔曼滤波算法使用心得
  9. 利用在线词典批量查询英语单词
  10. 北京东方时尚学车日志
  11. 串口每隔一定时间向电脑发送数据
  12. python中求差的函数_Python编程基础11:函数和模块
  13. 那些关于程序员的段子
  14. 3GPP TS 29244-g30 中英文对照 | 5.4.15 Packet Rate enforcement
  15. 两周!从入门到第15到第3!小白和你一起入门NLP
  16. 为什么索引会加快查询速度?索引原理和使用原则
  17. IDL批量处理---MOD04_L2
  18. iOS中蓝牙技术的实现
  19. zip文件解压或压缩
  20. 总结扫描二维码扫描器

热门文章

  1. Sublime Text 3 搭建 React.js 开发环境
  2. ThinkPhp知识大全(非常详细)
  3. javascript中浅拷贝和深拷贝的理解
  4. Custom PuTTY Color Themes
  5. python-函数定义
  6. 【剑指offer】面试题34:二叉树中和为某一值的路径(Java)
  7. Java的加载与执行
  8. python中使用什么导入模块-python—模块导入和类
  9. MATLAB报错Invalid ADAPTORNAME specified. Type 'imaqhwinfo' for a list of available ADAPTORNAMEs. Image
  10. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 2丨连续出现的数字【难度中等】