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 条评论
登录 后参与评论

相关文章

来自专栏C#

C#泛型方法解析

    C#2.0引入了泛型这个特性,由于泛型的引入,在一定程度上极大的增强了C#的生命力,可以完成C#1.0时需要编写复杂代码才可以完成的一些功能。但是作为开...

1849
来自专栏运维技术迷

连仕彤博客[Python笔记] isinstance() 函数

isinstance() 函数来判断一个对象是否是一个已知的类型,类似 type()。但是isinstance和type是有区别的:

451
来自专栏Bug生活2048

Python自学之路-内置函数说明及实例(四)

如果提供了promat参数,首先将参数值输出到标准的输出,并且不换行。函数读取用户输入的值,将其转换成字符串。

532
来自专栏我有一个梦想

C++服务器开发之基于对象的编程风格

Thread.h #ifndef _THREAD_H_ #define _THREAD_H_ #include <pthread.h> #include <b...

19210
来自专栏云霄雨霁

Java 对象初始化顺序

1138
来自专栏峰会SaaS大佬云集

C#学习---基础入门(一)

值类型:整数/实数/字符/布尔    结构/枚举   -------值类型直接存储值(对一个对象进行修改,不会改动其他对象值)

644
来自专栏GreenLeaves

auguements实参对象的数组化

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Ti...

19310
来自专栏星回的实验室

js重修课[五]:类与模块

这个Range类中定义了一个接受两个参数的构造函数,和includes、foreach、toString三个实例方法,以及ZERO一个静态类方法。

802
来自专栏牛肉圆粉不加葱

(3) - Scala case class那些你不知道的知识

除了在模式匹配中使用之外,unapply 方法可以让你结构 case class 来提取它的字段,如:

761
来自专栏流媒体

指针与数组和函数的几个关系

723

扫码关注云+社区