这一篇教程,我们来了解如何获取手动输入的内容,并且进行字符串的格式化。
首先,如果我们想获取手动输入的内容,我们需要使用input()方法。
input(prompt):这个函数能够获取手动输入的内容,并且把内容转换为字符串类型;参数prompt为获取输入时需要显示的提示内容。
大家可以尝试运行下方这段代码:
id = input('请输入您的身份证号:') print (id)
运行代码之后,显示的结果为:
通过这个尝试,大家能够看到,当我们运行程序时,程序会显示提示,输入的内容会变成绿色斜体的文字显示在后方。
这个时候,程序的执行暂停。
当我们输入内容“110115199001122511”,并按下回车键之后,程序才会继续运行print语句,将变量id中保存的内容显示输出。
那么,如果我们想在按下回车之后,程序显示输出“您的出生日期为:19900112”这样的内容呢?
大家可以继续尝试运行下方这段代码:
id = input('请输入您的身份证号:') print ('您的出生日期为:%s' % id[6:14])
运行代码之后,显示的结果为:
通过上面的代码,就得到了我们想要的结果。
大家观察一下,刚才运行的代码,能够发现在print函数中我们输入的字符串中嵌入了一个“%s”,并且,“在字符串之后写入了一个“%”,最后才是我们对变量id进行切片操作获取的出生日期内容。
我们可以这么理解,“%s”是一个格式符,其中“s”表示字符串,也就是说“%s”表示这个格式符所在的位置内容必须用字符串替代;而接下来的一个“%”表示进行格式化的操作,也就是要把这个符号后方的内容替换掉前面的“%s”,来形成我们想要的字符串内容。
接下来,我们再来看,如何在一个字符串中添加多个格式符进行格式化。
比如,刚才的显示输出内容我们换为另外一种呈现方式:“您的出生日期为:1990年01月12日”。
大家可以尝试运行下方这段代码:
id = input('请输入您的身份证号:') print('您的出生日期为:%s年%s月%s日' % (id[6:10], id[10:12], id[12:14]))
运行代码之后,显示的结果为:
通过上方的代码,大家能够看到,前面有三个格式符,分别与后方括号中的三个对变量id切片操作的结果相对应。
也就是说,当一段字符串进行格式化时,如果有包含多个格式符,就需要在“%”操作符之后添加一个括号,括号中写入多个字符串内容并以逗号分隔。
再次强调,以上代码中的符号必须为英文半角符号,切勿使用中文符号或英文全角符号。(字符串中包含的冒号除外)
另外,在Python中,对字符串的格式化我们还可以使用format()方法。
format(args,kwargs):对字符串进行格式化的函数;参数args表示可以输入多个参数(argument),参数间以逗号分隔;参数kwargs表示可以输入多个关键词参数,关键字函数的写法例如:age=’18’,age为关键字,’18’为这个关键字对应的值。
接下来,大家可以尝试运行下方的代码:
id = input('请输入您的身份证号:') print('您的出生日期为:{}年{}月{}日'.format(id[6:10], id[10:12], id[12:14])) print('您的出生日期为:{1}年{0}月{2}日'.format(id[10:12], id[6:10], id[12:14])) print('您的出生日期为:{year}年{month}月{day}日'.format(month=id[10:12], year=id[6:10], day=id[12:14]))
运行代码之后,显示的结果为:
大家能够看到,上面的三条print语句对应的显示输出结果是一样的。
我们分别来理解一下上述3条print语句:
第1条:在字符串中我们嵌入了3对“{}”,并且在format函数的参数中写入了3个参数,程序按照参数从左至右的顺序将字符串进行了格式化。
第2条:在字符串中我们仍然嵌入了3对“{}”,但是每一对“{}”中都有一个数字,这些数字是从0开始递增的序号,“{0}”表示在该位置要显示从左至右第1个参数的内容,“{1}”表示在该位置要显示从左至右第2个参数的内容,以此类推。所以,在输入参数的时候,参数的顺序要与前面的序号相对应。
第3条:在字符串中我们也是嵌入了3对“{}”,这一次每一对“{}”中都有一个关键字,这些关键字与参数中的关键字相对应。例如,“{month}”表示在该位置要显示关键字参数中“month”后方的值,以此类推。
以上就是这一篇教程的内容。
提示:Python3.6中出现了新的字符串格式化方法“f-string”,具体介绍请查看文章《Python3.6中的字符串格式化》。
本节知识点:
1、通过input函数获取手动输入内容;
2、通过“%”操作符进行字符串格式化;
3、通过format函数进行字符串格式化。
本节英文单词与中文释义:
1、input:输入
2、prompt:提示
3、ID:身份证
4、format:格式化
5、args(argument):参数
6、kwargs:关键字参数
7、year:年
8、month:月
9、day:日
练习:
使用上述格式化方法,将输入的手机号码转换为“您输入的手机号码为:*******8888”的格式显示输出。
答案:(见评论1楼)
转载请注明:魔力Python » Python3萌新入门笔记(6)