六、字符串格式化

字符串格式化

  • 问年龄
  • 问性别
  • 问工作
  • 问完之后统一打印出一个格式化的形式
 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: Can‘t 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()

时间: 2024-10-05 03:55:10

六、字符串格式化的相关文章

Python高手之路【六】python基础之字符串格式化

Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator. 1.百分号

day_5装饰器、字符串格式化、序列化、内置模块、生成器、迭代器之篇】

一.装饰器 为什么要用装饰器??? 在实际的开发环境中应遵循开发封闭原则,虽然在这个原则是用的面向对象开发,但也适用于函数式编程,简单地说,它规定已经实现的功能代码不是允许修改的,但是可以被扩展: 封闭:已实现的功能代码块 开发:对扩展开发 装饰器功能: 1)自动执行装饰器下面的函数,并将被装饰器函数的函数名当做参数传递给装饰器函数 2)装饰器函数的返回值,重新赋值给被装饰函数 #装饰器格式:@+函数名 #装饰器格式:@+函数名 def outer(func): def inner(arg):

string.Format字符串格式化说明(转)

string.Format字符串格式化说明 www.111cn.net 编辑:Crese 来源:转载 先举几个简单的应用案例: 1.格式化货币(跟系统的环境有关,中文系统默认格式化人民币,英文系统格式化美元) string.Format("{0:C}",0.2) 结果为:¥0.20 (英文操作系统结果:$0.20) 默认格式化小数点后面保留两位小数,如果需要保留一位或者更多,可以指定位数string.Format("{0:C1}",23.15) 结果为:¥23.2 

python 中的字符串转义序列、字符串格式化、操作符、关键字总结

1.字符串转义序列 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) \e 转义 \000 空 \n 换行 \v 纵向制表符 \t 横向制表符 \r 回车 \f 换页 \oyy 八进制数yy代表的字符,例如:\o12代表换行 \xyy 十进制数yy代表的字符,例如:\x0a代表换行 \other 其它的字符以普通格式输出 2.字符串格式化 3.操作符 一.算术运算符 注意: 双斜杠 // 除法总是向下取整. 从符点

C#string.Formart的字符串格式化

String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项.String.Format (String, Object[]) 将指定 String 中的格式项替换为指定数组中相应 Object 实例的值的文本等效项.String.Format (IFormatProvider, String, Object[]) 将指定 String 中的格式项替换为指定数组中相应

Python中字符串格式化如何实现?

Python开发中字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存. This PEP proposes a new system for built-in string formatting operations, intended as a replacement for the existing '%' string formatting operator. 1.百分号方式 %[(na

python-学习笔记之-Day5 双层装饰器 字符串格式化 python模块 递归 生成器 迭代器 序列化

1.双层装饰器 #!/usr/bin/env python # -*- coding: utf-8 -*- # author:zml LOGIN_INFO = False IS_ADMIN = False   def check_log(func): def inner(): res = func() if LOGIN_INFO: print('验证成功!') return res else: print('验证失败!') return inner   def check_admin(func)

python字符串格式化之学习笔记

在python中格式化输出字符串使用的是%运算符,通用的形式为 •格式标记字符串 % 要输出的值组其中,左边部分的”格式标记字符串“可以完全和c中的一致.右边的'值组'如果有两个及以上的值则需要用小括号括起来,中间用短号隔开.重点来看左边的部分.左边部分的最简单形式为: •%cdoe其中的code有多种,不过由于在python中,所有东西都可以转换成string类型,因此,如果没有什么特殊需求完全可以全部使用’%s‘来标记.比如: •'%s %s %s' % (1, 2.3, ['one', '

Python_字符串格式化

1 #冒泡排序 2 array = [1,2,3,6,5,4] 3 for i in range(len(array)): 4 for j in range(i): 5 if array[j] > array[j + 1]: 6 array[j], array[j + 1] = array[j + 1], array[j] 7 print(array) 8 #字符串格式化用法 9 x=123 10 so="%o"%x #8进制 11 print(so) 12 sh = "