Python基础__字符串拼接、格式化输出与复制
上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接、格式化输出以及复制的等做做详细介绍。
一. 字符串的拼接
a = ‘I’, b = ‘love’, c = ‘Python’. 我们的目的是:将a,b,c 拼接成’I love Python’。实现字符串的拼接是一个语言中重要的操作方式,下面介绍几种不同的方法。
方法1:直接相加 a+’ ’+b+’ ’+c
我们知道加法对字符串而言有拼接合并的作用,这是一种非常容易理解的方式
方法2:格式化输出 %s
>>> '%s %s %s'%(a,b,c)
'I love Python'
这里的s起到了占位符的作用。
注意1: 字符串之间有空格键,是因为abc之间有空格间隔
注意2: %s的个数要与后面被格式化对象的个数先对应
方法3:’ ’.join( )函数法, 单引号之间参数添加间隔的方式,括号内参数是可迭代部分
>>> ' '.join((a,b,c))
'I love Python' #这里是以空格键
小记:这里介绍一个与’ ’.join()函数作用相反的函数’ ’.split()
S.split(sep=None, maxsplit=-1) -> list of strings:
第一个参数:是分割的位置,默认为所有的空字符,包括(空格,换行(\n),制表符(\t)).
第二个参数:分割次数
返回一个列表
将字符串实现每一个字符都分开,用split()函数不可以,可以通过list()函数作用。
>>> te = 'I love Python'
>>> te.split()
['I', 'love', 'Python']
>>> te.split('o')
['I l', 've Pyth', 'n']
>>> list(te)
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'P', 'y', 't', 'h', 'o', 'n', ' ', '2', '0', '1', '8']
方法四.s.format()函数
>>> '{} {} {}'.format(a,b,c)
'I love Pyhton'
>>> '{2} {1} {0}'.format(a,b,c)
'Pyhton love I'
>>> '{n2} {n3} {n1}'.format(n1=a,n2=b,n3=c)
'love Pyhton I'
(1)默认里面有索引在不做指定的时候默认索引从0开始
(2)可以通过索引对元素位置换序
(3)可以对索引进行改变
二.格式化输出
格式化输出是以固定的格式输出。
>>> '%10s'%'lucky'
' lucky' #10表示表示字符串宽度,首先遵循自身宽度,默认右对齐
>>> '%-10s'%'lucky' #- 表示左对齐
'lucky '
‘%s’%'lucky' # 以字符串的形式输出
‘%d’%5 #格式化整数
‘%f’%5 #格式化小数(默认保留6位小数)
'%.1f'%1.9123456 #.1代表保留1位小数
'%5.1f'%1.91234567 #5是宽度,1是精度,精度优先
>>> '%.1f'%1.91234567
'1.9'
>>> '%5.1f'%1.91234567
' 1.9'
>>> '%c'%65
'A'
‘%c’格式化ACII码
‘%o’格式化八进制
‘%x’格式化十六进制
‘%e’格式化科学计数法
- 左对齐
+ 提示后面正负
\n 提示换行 print('aaaa\n\n')
\t 制表符 Tab键 print('aaaa\t bbbbbbbbbb')
\a 提示音
\b 退格键
r 取消转义 \\ 自然字符串
>>> print(r'aaaa\t bbbbbbbbbb')
aaaa\t bbbbbbbbb
三.深浅复制 发生在嵌套列表
>>> li = ['a','b']
>>> li1=[1,li]
>>> lq=li1.copy()
>>> lq
[1, ['a', 'b']]
>>> li.append('c')
>>> lq
[1, ['a', 'b', 'c']]
>>> id(li)
55820776
>>> id(lq[1])
55820776
浅复制: 在嵌套复制中,若嵌套元素发生变化,复制之后的元素也发生变化,复制元素的id不发生变化
>>> import copy
>>> copy.deepcopy(li1)
[1, ['a', 'b', 'c']]
>>> ls=copy.deepcopy(li1)
>>> ls
[1, ['a', 'b', 'c']]
>>> li.append('d')
>>> ls
[1, ['a', 'b', 'c']]
>>> li
['a', 'b', 'c', 'd']
>>> id(li)
55820776
>>> id(li[1])
40212480
深复制: 在嵌套复制中,若嵌套元素发生变化,复制之后的元素不发生变化,复制元素的id发生变化
Python基础__字符串拼接、格式化输出与复制的更多相关文章
- python基础之 while 逻辑运算符 格式化输出等
1.while循环 while 条件: 循环体 while 条件: 循环体 else: 循环体 重点: 当条件为真的时候,就进入循环体,从上到下依次执行,执行完最后一条语句时,while并不是直接退出 ...
- python基础--程序交互、格式化输出、流程控制、break、continue
在此申明一下,博客参照了https://www.cnblogs.com/jin-xin/,自己做了部分的改动 (1) 程序交互 #!/usr/bin/env python # -*- coding: ...
- 【Python④】python恼人的字符串,格式化输出
恼人的字符串 计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机里,也就是大小写英文字母.数字和一些符号,这个编码 ...
- python基础之循环语句,格式化输出以及编码
1.while循环语句 1.1 常见的几种结构 1. while+判断条件 循环体 2. while+判断条件 循环体 else 语句 tips:while循环如果满足条件的话,会一直循环循环体 ...
- python基础知识梳理----2格式化输出,替换符
一:格式化输出 1: 格式: 例子: name=input('请输入name') print('名字是%s'%name) %s就是代表字符串串占位符,除此之外,还有%d, 是数字占位符, 如果把上⾯面 ...
- Python基础之字符串拼接简单介绍
字符串拼接: %s表示可以传任意类型的值,%d表示只能传数字 test = "my name is %s,age %d" %("xyp",19) print(t ...
- python基础===* 解包,格式化输出和print的一点知识
python3中的特性: >>> name = "botoo" >>> print(f"my name is {name}" ...
- Python基础学习_01字符串的拼接(字符串的格式化输出)
# 字符串的拼接 ---字符串的格式化输出 # 字符串的拼接 ---字符串的格式化输出 name = input("name:") age = input("age:&q ...
- python入门6 字符串拼接、格式化输出
字符串拼接方式 1 使用 + 拼接字符串 2 格式化输出:%s字符串 %d整数 %f浮点数 %%输出% %X-16进制 %r-原始字符串 3 str.format() 代码如下: #codin ...
随机推荐
- Angular4---部署---Angular 与 Nginx的邂逅
Nginx + Angular结合操作 1.下载Nginx , 根据自己的版本下载Nginx,关于Nginx配置,请看https://www.cnblogs.com/MBirds/p/6605366. ...
- 【解决问题】SSH连不上Ubuntu虚拟机解决办法
1. 安装openssh-client Ubuntu默认缺省安装了openssh-client,apt-get安装即可 sudo apt-get install openssh-client 2. 安 ...
- MacbookPro管理员问题
更改用户名重启之后,发现用户名还是用户名,管理员权限降成了普通用户. 参考这个帖子改的用户名: https://zhidao.baidu.com/question/259845860.html 找回管 ...
- 关于Git的版本问题
问题的起源 我在IDEA上不小心修改了文件(加了一行空行)并且被保存了,在GitHub Desktop桌面工具上可以看到changes中有修改记录,并且使用命令行git status也可以看到文件的修 ...
- Mysql查询某字段值重复的数据
查询user表中,user_name字段值重复的数据及重复次数 select user_name,count(*) as count from user group by user_name havi ...
- CEF小白人系列1-认识CEF
手头上有个项目需要做浏览器的相关功能,评估了几个嵌入式方案最后选定CEF作为开发基础. 在入坑新技术的时候第一选择是去官网学习,这是一个非常好的习惯. CEF官网(请科学上网) https://bit ...
- cassandra 鉴权
1. 修改cassandra.yaml配置文件.启用用户密码登录形式. authenticator: PasswordAuthenticator authorizer: CassandraAuthor ...
- tensorflow_mnist数据集一直加载错误的解决办法
tensorflow数据集一直加载错误的解决办法: from tensorflow.examples.tutorials.mnist import input_data mnist = input_d ...
- 验证SQLServer死锁进程
SELECT '现在没有阻塞和死锁信息' AS message -- 循环开始WHILE @intCounter <= @intCountProperties BEGIN-- 取第一条记录 SE ...
- MySQL 之 视图、触发器、存储过程、函数、事物与数据库锁
浏览目录: 1.视图 2.触发器 3.存储过程 4.函数 5.事物 6.数据库锁 7.数据库备份 1.视图 视图:是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据 视 ...