03字符串拼接、格式化输出、深浅复制
2018-01-11 11:51
302 查看
03字符串拼接、格式化输出、深浅复制
1.字符串的拼接:
例: a = 'hello' , b = 'python' , c = '!' 将a,b ,c 中的字符串连成一句话。 第一种方法:用 + 号 a + b +c 第二种方法:格式化字符串 %s '%s %s %s' % (a , b ,c) 第三种方法:''.join()方式,注意括号里是要连接的可以是列表,元祖 ' '.join([a,b,c]) (注:''里面是连接后面各个字符串的字符) 第四种方法:.format方式 '{}{}{}'.format(a,b,c) (注:{}里面可以填入与后面相对应的符号) format方法详解: '{}{}{}'.format(a,b,c) 当{}里面是空的时候,里面默认索引为0,1,2按format括号里的顺序依次填入 '{1}{2}{0}'.format(a,b,c) 当{}里面有索引值时,按前面的索引值将后面的每项依次填入 '{n1}{n2}{n3}'.format(n1=a,n2=b,n3=c) {}里面可以指定对象名称,后面通过赋值的方式给前面的相应的值,后面是无序的
2.格式化输出
%s 格式化字符串 %d 格式化整数 %f 格式化小数 %c 格式化ASCII字符 %o 格式化八进制 %x 格式化十六进制 %e 用科学计数法格式化 - 用作左对齐 + 用在正数前面显示加号 m.n m是显示的最小长度,当m大于格式化位数时才起作用显示m位,n是代表小数的位数。 转义字符 \n 换行 \a提示音 \b退格键 \t横向制表符 自然字符串 r' '
3.深复制和浅复制
1.元组和列表之间的相互嵌套(字符串里面都会变成字符串,失去列表和元组的方法) 2.嵌套之后可以通过索引值来取数 3.浅复制 copy(li) 4.深复制 import copy ls=copy.deepcopy(li_1) 5.哪些是浅复制 copy 切片
课后练习:
##字符串拼接 a='i' b ='love' c ='python' #第一种方法 print(a+b+c) #第二种方法 格式化输出 %s (占位符) print('%s %s %s'%(a,b,c)) # 'i love python' #第三种方法 join print(' '.join((a,b,c)))#'i love python' #第四种方法 format print('{} {} {}'.format(a,b,c)) print('{n1} {n3} {n2}'.format(n1=a,n2=b,n3=c)) print('{0} {2} {1}'.format(a,b,c)) ##格式化输出 print('%10s'%'lucky') #10表示字符串的宽度 首先遵循实际宽度 默认右对齐 print('%-10s'%'lucky')#- 表示左对齐 print('%d'%5) #格式化整数 print('%f'%1.5) #格式化小数 默认保留6位 print('%.1f'%1.5) #.1保留一位小数 print('%3.5f'%1.5) #遵循后面的精度 print('%c'%65) #格式化ascll A print('%c'%97) # a print('%o'%8) #格式化八进制 print('%x'%16)#格式化16进制 print('%x'%10) #a print('%x'%15)#f print('%e'%100)#格式化科学计数法 ##-#左对齐 ##+#提示后面的正负 print('aaa\n') #\n 换行 print('bbb') print('aaa\tbbb')#\t 制表符 tab键 #\a 提示音 #\b 退格键 #r 取消转义 ##深浅复制 出现在嵌套列表 li=['a','b'] li_1=[1,li] print(li) lq=li_1.copy() print(lq) li.append('c') print(li) print(id(li)) print(id(lq[1])) import copy ls=copy.deepcopy(li_1) print(ls) print(id(ls[1])) #print用法 print(1,2,3,sep=' ')#sep为默认参数,默认为' ',也可修改为任意字符 print(1,2,3,sep=',') print(1,2,3) print(1,2,3,end='**')#end为默认参数,默认为\n,也可修改为任意字符 print(4,5,6)
输出结果:
ilovepython i love python i love python i love python i python love i python love lucky lucky 5 1.500000 1.5 1.50000 A a 10 10 a f 1.000000e+02 aaa bbb aaa bbb ['a', 'b'] [1, ['a', 'b']] ['a', 'b', 'c'] 910111280712 910111280712 [1, ['a', 'b', 'c']] 910111280904 1 2 3 1,2,3 1 2 3 1 2 3**4 5 6
问题解答:
#1.a = '苦短' b = 'Python', 用4种方法,输出'人生苦短,我用Python' #解答: #1. a = '苦短' b = 'Python' c = '人生' d = '我用' print(c+a+','+d+b) #2. print('%s%s%s%s%s'%(c,a,',',d,b)) #3. print(''.join((c,a,',',d,b))) #4. print('{2}{0}{3}{4}{1}'.format(a,b,c,',',d)) #2.列表li = ['I','like','python'],用2种方法,将列表转成字符串,输出'I like python' #解答: li = ['I','like','python'] print('%s %s %s'%(li[0],li[1],li[2])) print(' '.join(li)) print('{} {} {}'.format(li[0],li[1],li[2])) print(li[0]+' '+li[1]+' '+ li[2]) #3. a=1.1,输出 a 的值,用3种格式: # 1 字符串格式 # 2 整型格式 # 3 浮点数 、20位、保留2位小数、带上加号、然后右对齐 。效果:‘ +1.10’ #解答: a=1.1 print('%3s'%a) print('%d'%a) print('%+20.2f'%a) #4. a =12, 要求用 format方法输出 : ****12**** #解答: a =12 print('{}{}{}'.format('****',a,'****')) print('{}{}'.format('****',a),end='****')
打印结果:
人生苦短,我用Python 人生苦短,我用Python 人生苦短,我用Python 人生苦短,我用Python I like python I like python I like python I like python 1.1 1 +1.10 ****12**** ****12**** >>>
相关文章推荐
- python基本数据类型(三)-字符串拼接-格式化输出-深浅复制-python3笔记
- 字符串拼接、格式化输出、深浅复制
- 字符串拼接格式化输出
- String.format() / 字符串拼接格式化输出数据
- Python第三天——字符串的格式化、转义以及深浅复制
- 在C++编程中使用sprintf_s实现字符串的格式化拼接与输出
- 13章字符串--格式化输出
- python 字符串拼接、格式化
- 写一函数,将两个字符串中的元音字母复制到另一个字符串,然后输出。
- Objective-C中的字符串格式化输出
- JavaScript字符串格式化输出
- 格式化字符串拼接与format函数应用
- Objective-C中的字符串格式化输出
- 使用cout格式化输出字符串
- C# 字符串 格式化 补齐输出
- java将字符串进行MD5加密和将时间戳格式化输出的方法
- 关于sprintf和snprintf格式化字符串输出到字符串缓冲区
- android 字符串工具类 格式化日期字符串 拼接数组 判断字符串是否为空 转换时间显示 转换文件大小 获取中英文字符个数
- Asp.net 中将日期时间值,转换成字符串,格式化输出
- 字符串格式化输出