目录
Python中的print函数是向我们展示输出内容,那我们如何向程序输入内容呢?这种需求,可以通过通过另一个函数input来实现。
username = input()
print(username)
如果你动手敲了代码并执行的话,你就可以看到,程序好像卡着了,其实是程序并没有结束,而是input函数在执行,程序被阻塞,等待我们输入一个值。当我们输入并回车确认之后,input函数将输入的内容赋值给username变量,然后print函数打印出来,我们来改动一下程序,使之更友好一些:
>>> username = input('please enter your name:') # 输入oldboy
please your name:oldboy
>>> password = input('please enter your password:') # 输入123
please your password:123
>>> print(username, password)
('oldboy', '123')
注意:input函数返回的是字符串,也就是说变量的类型是字符串类型,比如:
>>> num=input("enter num: ")
enter num: 12
>>> num, type(num)
('12', <class 'str'>)
提示:type为Python的内置函数,功能是打印某个变量的数据类型。其中,str在Python中代表字符串,注意,字符串不能用来进行数字计算。
>>> num + 100
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: Can't convert 'int' object to str implicitly
想要计算,必须将字符串类型的数字转换为数字类型才能计算,用到int函数:
>>> int_num = int(num)
>>> print(int_num + 100, type(int_num))
(112, <class 'int'>)
print函数能接受多个字符串,字符串之间以逗号为分隔符,在打印时会依次打印每个字符串,遇到一个逗号,则打印一个空格:
>>> print('i', 'am', 'oldboy')
i am oldboy
让我们再次对程序进行优化:
>>> username = input('enter name:') # 输入 oldboy
enter name:oldboy
>>> password = input('enter password:') # 输入 123
enter password:123
>>> print("用户名:%s | 密码:%s" %(username, password))
用户名:oldboy | 密码:123
上面的程序是不是更加友好了,是的,我们在不知不觉间又学到了一个新的知识点,格式化输出与占位符,顾名思义,格式化输出就是按照某种固定的格式进行字符串输出,而占位符呢,就是先固定一个字符串格式,涉及到这个变化的内容,用%s占住位置,字符串后面跟一个%(),括号内,按照顺序,依次存放对应的变量值,如果之后一个占位符,则不用括号,直接跟变量名即可:
>>> username = input('enter name:')
enter name:oldboy
>>> print('用户名:%s' % username)
用户名:oldboy
欢迎斧正,that's all