input输入函数
input()是内置函数,用来获取用户输入,返回值为字符串。
1.返回值为字符串
- 输入name为Bob,返回的是string类型的'Bob'
>>> name = input("请输入你的名字:")请输入你的名字:Bob>>> name'Bob'>>> type(name)<class 'str'>
- 输入age为11,返回的是string类型的'11'
>>> age = input("请输入你的年龄:")请输入你的年龄:11>>> age'11'>>> type(age)<class 'str'>
- 输入回车,返回的是''空字符串
>>> ipt = input("请输入:")请输入:>>> ipt''>>> type(ipt)<class 'str'>
- 输入a and b,返回的是保留了空格格式的字符串
>>> ipt = input("请输入:")请输入:'a and b'>>> ipt"'a and b'">>> type(ipt)<class 'str'>
以上代码可以看出,输入的值不管是什么,类型都是字符串。
type()是python内置的函数之一,作用是查看数据的类型。
2.阻塞或暂停程序
print("程序前面部分执行完毕......")input("请按回车继续......") # 在这里程序会暂停,等待你的回车动作print("继续执行程序的后面部分......")
此时的input函数不会将输入的值保存下来,只是用作暂停程序动作
练习:
输入年龄,判断年龄>18则输出"你好呀,小靓仔";否则输出"你好呀!小朋友"
age = input("请输入:")if age > 18: print("你好呀,小靓仔")else: print("你好呀!小朋友") 请输入:18Traceback (most recent call last): File "D:/Amy/Basic/demo.py", line 56, in <module> if age > 18:TypeError: '>' not supported between instances of 'str' and 'int'
报错原因:input返回值为str。而>不支持在str与int之间比较
解决:将age强转为int
age = input("请输入:")if int(age) > 18: print("你好呀,小靓仔")else: print("你好呀!小朋友")
前面我们在将字符串转为整数用的是int()函数,这种方式有危险的。
age = input("请输入:")if int(age) > 18: print("你好呀,小靓仔")else: print("你好呀!小朋友") 请输入:12.5Traceback (most recent call last): File "D:/Amy/Basic/demo.py", line 56, in <module> if int(age) > 18:ValueError: invalid literal for int() with base 10: '12.5'
对于形如“123”, “283242”的字符串,转化没问题,但是对于包含字符、特殊字符的字符串就没办法转化了,会弹出异常错误。所以在使用int函数之前,要先对输入进行判断
age = input("请输入你的年龄: ")if age.isdigit(): # 使用isdigit函数判断输入是否全是数字格式 age = int(age) # 将字符串转化为整数 print("你的年龄是: ", age)else: print("输入不合法!")
print输入函数
print() 方法用于打印输出,最常见的一个函数。
语法:print(self, *args, sep=' ', end=' ', file=None)
常用参数
- sep:分隔符符号,在值之间插入的字符串,默认为空格
print('你好','世界',sep=',')你好,世界
end:字符串追加在最后一个值之后,默认为换行符 。如果,设置end='',则可以不换行,让print在一行内连续打印。活用print的参数,可以实现灵活的打印控制。
print("你好")print("世界")print("你好",end=',')print("世界")你好世界你好,世界
print格式化输出
在Python2.6以后,有两种格式化输出的方式。
一种就是类似C语言的printf的%百分号格式化输出,也是Python最基础最常用的格式化输出方式。另一种就是str.format()的方式。
%格式化输出
这里先介绍一下传统的%格式化输出方式,例如:
print("我叫%s 今年%d岁"%('Bob',18))
首先构造了一个字符串"我叫%s 今年%d岁",讲其中需要用别的变量替换的部分,用%号加一个数据类型代号,前面有多少个%号,后面就要提供多少个参数,每个参数值之间用逗号隔开。每个参数与前面的%,相对应的。并且数据类型也要能够合法对应。
格式化符号
需要特别说明的是,如果你想在print中打印一个%百分符号本身,那么你需要使用%%,两个百分符转义出一个百分符
age=18 print('%d%%'%age)18%