码迷,mamicode.com
首页 > 其他好文 > 详细

六、字符串格式化

时间:2016-01-08 00:28:16      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

字符串格式化

  • 问年龄
  • 问性别
  • 问工作
  • 问完之后统一打印出一个格式化的形式
 1 # -*- coding:utf-8 -*-
 2 name = input("name:")
 3 age = input("age:")
 4 job = input("job:")
 5 #此处看着特别迷糊,可以考虑其他办法
 6 #此种写法为拼接形式,每添加一个字符串都会在内存里单独开辟一个空间,相当于创建一个新的变量
 7 print("Infomation of :" +name+ "\nName:" +name+ "\nAge:" +age+ "\nJob:"+job)
 8 #此种写法在内存中一共只有一个空间,正常来说不建议通过拼接的形式来做
 9 print("Information of %s:\nName:%s\nAge:%s\nJob:%s" %(name,name,age,job))
10 #以上两种打印方式全部写在一行里如果数据量较大操作起来比较乱
11 #Python中单引号与双引号没有区别
12 #第三种方法
13 asg = ‘‘‘
14 Infomation of %s:
15 Name:%s
16 age:%s
17 job:%s
18 ‘‘‘ %(name,name,age,job)
19 print(asg)
20 
21 注意:python中的+号,数字只能加数字,字符串智能加字符串
22 print("Infomation of :" +name+ "\nName:" +name+ "\nAge:" +age+ "\nJob:"+job)

看以下错误:

 

  • python中的+号,数字只能加数字,字符串智能加字符串
  • age已经是数字了就不能通过加号的形式跟字符串相加了
  • 数字只能加数字
  • 字符串只能加字符串

 

 

 1 # -*- coding:utf-8 -*-
 2 name = input("name:")
 3 age = int(input("age:"))
 4 job = input("job:")
 5 print("Infomation of :" +name+ "\nName:" +name+ "\nAge:" +age+ "\nJob:"+job)
 6 --------------------------------------------------------------------------------
 7 name:aa
 8 age:33
 9 job:aa
10 Traceback (most recent call last):
11   File "F:/python/day1/字符串格式化.py", line 8, in <module>
12     print("Infomation of :" +name+ "\nName:" +name+ "\nAge:" +age+ "\nJob:"+job)
13 TypeError: Cant convert int object to str implicitly

 

 

 

 

# 字符串是 %s;整数 %d;浮点数%f

 

 1 asg = ‘‘‘
 2 Infomation of %s:
 3 Name:%s
 4 age:%d
 5 job:%s
 6 ‘‘‘ %(name,name,age,job)
 7 print(asg)
 8 ------------------------------------------------------------------------------------
 9 name:aa
10 2age:2
11 job:dd
12 Traceback (most recent call last):
13   File "F:/python/day1/字符串格式化.py", line 19, in <module>
14     ‘‘‘ %(name,name,age,job)
15 TypeError: %d format: a number is required, not str
16 
17 Process finished with exit code 1

 

错误中提到需要number 但是你却给了一个不是字符串

在这种情况下可以这样写

 1 # -*- coding:utf-8 -*-
 2 name = input("name:")
 3 age = int(input("age:"))
 4 job = input("job:")
 5 asg = ‘‘‘
 6 Infomation of %s:
 7 Name:%s
 8 age:%d
 9 job:%s
10 ‘‘‘ %(name,name,age,job)
11 print(asg)
12 ------------------------------------------------------------------------------------
13 name:aa
14 age:21
15 job:dd
16 
17 Infomation of aa:
18 Name:aa
19 age:21
20 job:dd
  •  移除空白
 1 # -*- coding:utf-8 -*-
 2 name = input("name:")
 3 age = int(input("age:"))
 4 job = input("job:")
 5 asg = ‘‘‘
 6 Infomation of %s:
 7 Name:%s
 8 age:%d
 9 job:%s
10 ‘‘‘ %(name,name,age,job)
11 print(asg)
12 -----------------------------------------------------
13 输入:
14 name:                 aa
15 age:21
16 job:              ff
17 #打印
18 Infomation of                  aa:
19 Name:                 aa
20 age:21
21 job:              ff

 

看到上面 添加空格后 输出就乱了
现在就需要把空格去掉了

  • 现在开始对字符串操作,可以用 .strip() 意思是去掉的意思
 1 # -*- coding:utf-8 -*-
 2 name = input("name:").strip()
 3 age = int(input("age:"))
 4 job = input("job:").strip()
 5 asg = ‘‘‘
 6 Infomation of %s:
 7 Name:%s
 8 age:%d
 9 job:%s
10 ‘‘‘ %(name,name,age,job)
11 print(asg)
12 --------------------------------------------------------------------------------
13 输入;
14 name:                        dddddd
15 age:21
16 job:         ff
17 打印:
18 Infomation of dddddd:
19 Name:dddddd
20 age:21
21 job:ff

 

  • strip() 可以指定去除内容,只能去除开头或者结尾的内容,中间的不会被去除,看下面的实验
 1 # -*- coding:utf-8 -*-
 2 name = input("name:").strip(‘aa‘)
 3 age = int(input("age:"))
 4 job = input("job:").strip(‘bb‘)
 5 asg = ‘‘‘
 6 Infomation of %s:
 7 Name:%s
 8 age:%d
 9 job:%s
10 ‘‘‘ %(name,name,age,job)
11 print(asg)
12 --------------------------------------------------------------------------------
13 输入:
14 name:aa
15 age:12
16 job:bbxx
17 打印:
18 Infomation of :
19 Name:
20 age:12
21 job:xx

 

name_list = [‘aa‘,‘bb‘,‘cc‘]

  • 列表的好处是可以存储多个信息以前的变量存储量是有限的
  • 列表个变量里可以存储多个信息
  • 列表内的内容成为元素
  • 列表的索引值以0为起始值

取一个值
name_list[0]

  • 可以通过 dir(name_list)来查看可以操作的私有方法

只有:

append:追加

1 name_list.append("999")

技术分享

count:统计

通过count可以统计出name_list中一共存在几个 aaa999,下面实验中统计出一共有3个 aaa999

 1 name_list.count("aaa999") 

技术分享

extends:扩展

index:索引

索引值只能找到第一个

分别从 0为起始值 第一个aaa999排在第6个

 1 name_lsit.index("aaa9999") 

技术分享

insert:插入

下面实验是讲在 第6个位置插入bbb9999

 1 name_lsit.insert(6,"bbb999") 

技术分享

pop:删除一个

默认删除列表的最后一个

 1 name_list.pop() 

技术分享

remove:删除指定一个

删除一个指定的值 aaa999

 1 name_list.remove("aaa9999") 

技术分享

通过循环的方式remove删除

1 for i in range(name_list.count(9999))
2     name_list.remove(9999)

技术分享

reverse:反转

 1 name_list.reverse() 

技术分享

sort:排序

按照阿斯克玛排序

 1 name_list.sort() 

技术分享

 

六、字符串格式化

标签:

原文地址:http://www.cnblogs.com/nb-blog/p/5111632.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!