最新消息:欢迎光临 魔力 • Python!大家可以点开导航菜单中的【学习目录】,这个目录类似图书目录,更加方便学习!

Python3萌新入门笔记(6)

Python教程 小楼一夜听春语 8648浏览 0评论

这一篇教程,我们来了解如何获取手动输入的内容,并且进行字符串的格式化。

首先,如果我们想获取手动输入的内容,我们需要使用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)

头像
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网站 (可选)

网友最新评论 (7)

  1. 小楼一夜听春语
    练习题:
    n = input('请输入您的手机号码:')
    
    print('您输入的手机号码为:%s%s' % ('*' * 7, n[7:]))
    print('您输入的手机号码为:{}{}'.format('*' * 7, n[7:]))
    print('您输入的手机号码为:{0}{1}'.format('*' * 7, n[7:]))
    print('您输入的手机号码为:{hide}{show}'.format(hide='*' * 7, show=n[7:]))
    
    小楼一夜听春语7年前 (2017-07-07)回复
    • 头像
      我这边, (1) n = input('请输入您的手机号码:') -- 得到的类型是long类型,要转成str后才能切片! (2)str3 = '人人为我 我为人人' print(str3.rstrip('人')) 结果是 “人人为我 我�”
      Python菜鸟6年前 (2018-01-23)回复
      • 小楼一夜听春语
        Python是什么版本?升级到Python3.6试一下。
        小楼一夜听春语6年前 (2018-01-23)回复
  2. 头像
    已阅 😎
    走路爱走神6年前 (2018-05-24)回复
  3. 头像
    tel = input('请输入您的手机号:') print('您的手机号为*******{x}'.format(x=tel[7:])) print('您的手机号为*******%s'%tel[7:])
    亲猪日狗5年前 (2019-02-28)回复
  4. 头像
    努力学习冲冲冲
    入门萌新更要努力4年前 (2019-11-11)回复
  5. 头像
    s= input('请输入您的手机号:') print(s.replace(s[0:7],'********'))
    任天野4年前 (2020-02-27)回复