目录

    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

    相关文章: