python学习笔记(5-1)-基本数据类型-字符串类型及操作
五、字符串处理函数
len(x):字符串x的长度。如len("12345")结果为5
str(x):任意类型x所对应的字符串形式。
>>> str(123)
'123'
>>> str([1,2])
'[1, 2]'
hex(x)或oct(x):整数x的十六进制或八进制小写形式字符串。
chr(x):x为Unicode编码,返回其对应的字符
ord(x):x为字符,返回其对应的Unicode编码。Unicode编码,即统一字符编码,即覆盖几乎所有字符的编码方式(包括各个国家不同语言的不同字符,将不同语言同一起来,有一套对应的统一编码),从0到0x10FFFF空间大小,即从0到1114111个字符编码,每个编码对应一个字符,python字符串中的每个字符都是Unicode编码字符。我们看一些有趣的例子:
>>> "1+1 = 2" + chr(10004)
'1+1 = 2✔'
这里对号对应的unicode编码为10004
>> "金牛星座符号的unicode值是:" + str(ord("♉"))
'金牛星座符号的unicode值是:9801'
>>> for i in range(12):
print(chr(9800 + i), end="")
♈♉♊♋♌♍♎♏♐♑♒♓
这里要注意这个end="",加上它,表示字符不换行,否则会换行。
>>> for i in range(3):
print(chr(9800 + i))
♈
♉
♊
六、字符串处理方法
str.lower()或者str.upper():返回字符串的副本,全部字符小写或大写
>>> "ABCdsf".lower()
'abcdsf'
>>> "abcECF".upper()
'ABCECF'
str.split(sep=None):返回一个列表,由str根据sep被分隔的部分组成,返回为一个列表类型
>>> "A,B,C,D,E,F,".split(",")
['A', 'B', 'C', 'D', 'E', 'F', '']
str.count(sub):返回子串sub在str中出现的次数
>>> "what day is it today".count("a")
3
str.replace(old,new):返回字符串str副本,所有old子串被替换为new
>>> "abc".replace("a","what")
'whatbc'
str.center(width[,fillchar]):字符串str根据宽度width居中,fillchar可选,为填充的字符。默认填充空格
>>> "python".center(20)
' python '
>>> "python".center(20,"-")
'-------python-------'
str.strip(chars):从str中去掉在其左侧和右侧chars中列出的字符
>>> "*:audit-2-7-5.x86.rpm".strip("*:.x86rpm")
'audit-2-7-5'
str.join(iter):在iter变量除最后元素外每个元素后增加一个str
>>> ",".join("12345")
'1,2,3,4,5'
七、字符串类型的格式化
<模板字符串>.format(<逗号分隔的参数>)
我们把将要格式话的字符串用{}槽来表示,按照默认顺序来进行格式化,从0开始,也可以自己定义格式化的顺序,如下:
>>> "{}:CPU{}的CPU占用率为{}%".format("log", 1, 20)
'log:CPU1的CPU占用率为20%'
>>> "{1}:CPU{0}的CPU占用率为{2}%".format(1,"log",20)
'log:CPU1的CPU占用率为20%'
format方法的格式控制
:<填充><对齐><宽度><,><.精度><类型>
:为引导符号,对应format中的第几个参数,如果为空,表示按顺序对应,从0开始;
<填充>用于填充的单个字符;<对齐>对齐方式,<左对齐 >右对齐 ^居中对齐;<宽度>槽设定的输出宽度;前面三个为字符串的操作,主要是用来排版对齐,这种对齐填充方式,对于排版来说非常方便有用。format中的参数为数字也是可以的。
>>> "{:=^20}".format("python")
'=======python======='
>>> "{:*<20}python".format("BIT")
'BIT*****************python'
>>> "{:10}".format("BIT") ‘'''默认填充空格'''
'BIT '
>>> "{:<<10}".format("BIT") '''第一个参数为填充,第二个为对齐方式'''
'BIT<<<<<<<'
<,>数字的千位分隔符;<.精度>浮点数或小数精度或字符串最大输出长度;<类型>整数类型:b,c,d,o,x,X 浮点数类型:e,E,f,% ; 后面三个为数字的操作,我们看一些列子:
>>> "{:,.2f}".format(12345.456)
'12,345.46'
>>> "{0:b}, {0:c}, {0:d}, {0:o}, {0:x}, {1:X}".format(, )
'110101001, Ʃ, 425, 651, 1a9, 1AA' '''分别对应,二进制,字符,十进制,八进制,十六机制小写,十六进制大写'''
>>> "{0:e}, {0:E}, {0:f}, {0:%}".format(3.14)
'3.140000e+00, 3.140000E+00, 3.140000, 314.000000%' '''最后一个为 输出百分号形式'''
当宽度为变量时,可以以槽来表示,看如下这个例子,输出为以*组成的等边三角形。
#test4.py
n=int(input())
for i in range(n+)[::]:
print("{: ^{}}".format("*"*i,n))
结果为
*
***
*****
python学习笔记(5-1)-基本数据类型-字符串类型及操作的更多相关文章
- Python学习笔记(二):字符串类型
在上一篇随笔(https://www.cnblogs.com/g-qiang/p/10448813.html)中,说到 Python 有六种标准数据类型,而数字类型和字符串类型又是其中基本的数据类型. ...
- python学习笔记(2)数据类型-字符串
字符串是 Python 中最常用的数据类型.我们可以使用引号( ' 或 " )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello World!' ...
- Python学习笔记(二)——数据类型
1.数据类型 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) 2.Python数字类型 Pyth ...
- Python学习笔记(三)数据类型
在内存中存储的数据可以有多种类型,在Python中,能够直接处理的数据类型有以下几种: 数字(Numbers) 字符串(String) 列表(List) 元组(Tuple) 字典(Dictionary ...
- Python学习笔记:第3天 字符串的操作
目录 1. python的数据类型 2. int类型的操作 3. bool类型 4. 字符串的操作 5. for循环 1. python的数据类型 int 整数 str 字符串.一般不会用字符串保存大 ...
- python学习笔记(二)— 数据类型
一.变量.数据类型 1.计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...
- Python学习笔记2:基本数据类型
Python中的变量不需要声明.每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象 ...
- Python学习笔记整理总结【Django】:Model操作(一)
Model操作(一) 一.Django ORM基本配置 ORM:关系对象映射(Object Relational Mapping,简称ORM)db Frist:到目前为止,当我们的程序涉及到数据库相关 ...
- python学习笔记(5)-基本数据类型-字符串类型及操作
一.字符串 字符串由一对单引号或者双引号表示,如”abc“,‘中国’,字符串是字符的有序序列,可以对其中的字符进行索引.字符串也可以用三单引号或三双引号表示,可以表示多行字符串,一对单引号或双引号仅表 ...
随机推荐
- [matlab] 3.矩阵
matlab矩阵运算很强大 ,几乎所有涉及矩阵运算的命令都有. 事实上,matlab里面所有变量都是以矩阵的形式保存下来的. %% >> x=[1:2.1:10] x = 1.0000 ...
- iptables 端口转发规则
玩 vps 的经常要用到端口转发用以实现更快的速度.比如 ovh 机房的网络我这里访问非常慢,用远程桌面会吐血的类型.所以就会用其他的线路作为跳板,比如洛杉矶,香港之类的.再比如如果需要一个日本 ip ...
- jsonp跨域实现单点登录,跨域传递用户信息以及保存cookie注意事项
网站A:代码:网站a的login.html页面刷新,使用jsonp方式将信息传递给b.com的login.php中去,只需要在b.com中设置一下跨域以及接收参数,然后存到cookei即可, 注意:网 ...
- 吴恩达课后作业学习1-week2-homework-logistic
参考:https://blog.csdn.net/u013733326/article/details/79639509 希望大家直接到上面的网址去查看代码,下面是本人的笔记 搭建一个能够 “识别猫” ...
- extjs 中的一些鲜为人知的属性(深渊巨坑)
1. new Ext.form.FormPanel 组件中,去除边框属性为:baseCls:'my-panel-no-border', 2.当 new Ext.form.FormPanel 嵌套b ...
- 转载:遇到BITMAP CONVERSION TO ROWIDS 后解决与思考
今天遇到一个案例,有点价值写下来,以后多看看 SQL: select t.order_id, t.spec_name, t.staff_code, t.staff_code as xxbStaffCo ...
- Red Hat 7.2 RPM安装Mysql 5.7.12
安装Red Hat 7.2 开发包Java包全部安装 下载Mysql 5.7.12 wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5 ...
- jar包读取外部文件
public static void main(String[] args) { String path1 = System.getProperty("user.home");// ...
- [HNOI2019]多边形[二叉树建模、组合计数]
题意 题目链接 分析 不难发现终态一定是 \([2,n-2]\) 中的每个点都与 \(n\) 连边. 关于凸多边形的划分问题,可以将它看作一棵二叉树:每个树点可以看做点可以看做边. 本题中看做点来处理 ...
- 【原创】一个线程oom,进程里其他线程还能运行吗?
引言 这题是一个网友@大脸猫爱吃鱼给我的提问,出自今年校招美团三面的一个真题.大致如下 一个进程有3个线程,如果一个线程抛出oom,其他两个线程还能运行么? 先说一下答案,答案是还能运行 不瞒大家说, ...