Python随记(二)字符串

Python随记(二)字符串

1、  字符串的基本操作

字符串string,也是序列(sequence)的一种,所以所有标准的序列操作:索引、分片、乘法、判断成员资格、求长度、取最小值和最大值等,对字符串来说同样适用。

但是请记住,字符串是不可变的!

2、  字符串格式化的模型

字符串格式化使用格式化操作符% 来实现。

格式化字符串时,我们可以将整个语句看成三部分

字符串模板  %  被格式化的内容

①            ②            ③

①字符串模版:

Python使用一个字符串作为模板。模板中有格式符%,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式。

比如A = “I like to eat  %s  and hotdog.’”

然后就放置一个格式符%

③被格式化内容

可以是单个的值,如一字符串或者数字,也可以是多个值,比如元组或者 字典。

例子 B = “ Humburg”.

所以当输入指令:

print A % B

得到结果

I like to eat Humburg and hotdog.

可见,原来被%s占据的位置,被B的内容填充了,这就是一个最简单的例子。

%s被成为转换说明符,它标记了需要插入转换值的位置,字母s表示 B当中的值会先被转换成字符串,然后再插入,如果不是字符串,就先用str完成转换。

果其实回想一下C++中的 printf 也是这种类似的操作

3、  转换说明符详解

你可能已经发现主要对输出格式进行控制的似乎应该是转换说明符,事实上也如此。上面例子的%s 只是很简单的一个例子。

较为常用的基本格式应为:

%  [name] [flags]  [width]  [.precision] [type]

[name] 用于选择指定的key(是字典类型中键的意思,看完字典就懂)

[flags] 转换标志,可选。

●  – 表示左对齐(默认设置似乎是右对齐);

●  + 表示在转换值之前要加上正负号;

●  “ ”空格表示正数之前保留空格;

●  0 表示转换值若位数不够用0填充

[width] 最小字段宽度,可选。表示转换后的字符串至少需要具有该值指定的宽度。

如果是*,则宽度会从值元组中读取。

[.precision] 点(.)后跟精度值。

          ●如果是实数,精度值就表示出现在小数点后的位数

          ●如果是字符串,精度值就表示最大字段宽度。

          ●如果是*,那么精度会从元组中读出。

[type] 转换类型,必选。

      ●  %c  格式化字符及其ASCII码

      ●  %s  格式化字符串

      ●  %d  格式化整数

      ●  %u  格式化无符号整型

      ●  %o  格式化无符号八进制数

      ●  %x  格式化无符号十六进制数

      ●  %X  格式化无符号十六进制数(大写)

      ●  %f  格式化浮点数字,可指定小数点后的精度

      ●  %e          用科学计数法格式化浮点数

      ●  %E          作用同%e,用科学计数法格式化浮点数

      ●  %g          根据值的大小决定使用%f活%e

      ●  %G  作用同 %g,根据值的大小决定使用%f活%e

          ●  %p  用十六进制数格式化变量的地址

4、  字符串方法

图源网络,侵删。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏和蔼的张星的图像处理专栏

50. 数组剔除元素后的乘积两个遍历

给定一个整数数组A。 定义B[i] = A[0] * ... * A[i-1] * A[i+1] * ... * A[n-1], 计算B的时候请不要使用除法。...

824
来自专栏Android机动车

数据结构学习笔记——线性表(上)

线性表元素的个数n(n≥0)定义为线性表的长度,当n=0时,称为空表。在非空表中的每个元素都有一个确定的位置,如a1是第一个元素,an是最后一个元素,ai是第i...

492
来自专栏前端小作坊

0.1+0.2=0.30000000000000004问题的探究

首先声明这不是bug,原因在与十进制到二进制的转换导致的精度问题!其次这几乎出现在很多的编程语言中:C/C++,Java,Javascript中,准确的说:“使...

611
来自专栏技术博客

JavaScript(RegExp正则匹配)

正则表达式是一个描述字符模式的对象。JavaScript的RegExp对象和String对象定义了使用正则表达式来执行强大的模式匹配和文本检索与替换函数的方法。

1305
来自专栏TungHsu

这或许是对小白最友好的python入门了吧——14,遍历字典

同列表元组一样,字典也能够遍历,但是和列表元组不一样的是,字典遍历分三个部分:遍历键值对、遍历键、遍历值 首先我们新建一个字典: score = {"engl...

2053
来自专栏大闲人柴毛毛

剑指offer——面试题10输入一个十进制整数,统计其中二进制1的个数

/** * 题目:输入一个十进制整数,统计其中二进制1的个数 * @author 大闲人柴毛毛 */ public class CountBitOne {...

3194
来自专栏Laoqi's Linux运维专列

While 循环语句

3998
来自专栏7号代码

十进制数字用A~Z表示成二十六进制(剑指Offer附加题及扩展)

思路: 这道题实际上考察的是把二十六进制表示成十进制数字,将输入的字符串先转换成字符数组,遍历数组中的每一个字符,用这个字符减去A再加1就是该位对应的十进制数...

321
来自专栏老司机的技术博客

golang学习笔记5:字符串及相关函数

字符串是 UTF-8 字符的一个序列(当字符为 ASCII 码时则占用 1 个字节,其它字符根据需要占用 2-4 个字节)。UTF-8 是被广泛使用的编码格式,...

963
来自专栏猿人谷

C++ STL疑惑知识点

 1.remove的问题 ? ? 参考:http://zhidao.baidu.com/question/458494170.html 2.用find搜索数组中...

2009

扫码关注云+社区