python输入
python3以后输入也和python2.7不同,输入函数为input()
username = input("username"); password = input("password"); print("用户名为",username); print("密码为",password);
说一下密码如何在输入的时候加密,python自己有自己的函数:
import getpass password = getpass.getpass(input("password:"));
需要引入getpass,为python的基础模块
说明:getpass这个模块在Pycharm开发工具中无法运行,用cmd去运行就可以了
最后说一下格式化输出,这里面就要用到'''.......'''了。
代码示例1:
name = input("name"); age = input("age"); job = input("job"); salary = input("salary");
info = '''
----------- info of '''+ name + ''' -----------
name : ''' + name + '''
age : ''' + age + '''
job : ''' + job + '''
salary : ''' + salary + '''
'''
print(info)
以上代码'''.......'''作用是字符串的连接,这个时候就要保证你所有的输入项必须为字符串类型,input默认输入就是字符串类型。
下面的问题就是,如果age相输入int类型要怎么办,而且这样的字符串连接格式化输出太麻烦?
代码示例2:
name = input("name"); age = int(input("age")); job = input("job"); salary = input("salary");
infos = '''
----------- info of %s -----------
name : %s
age : %d
job : %s
salary : %s
''' %(name,name,age,job,salary)
print(info)
说明:python提供了类型强制转换的方法直接在要输入的前面加上int就可以吧输入的内容转化为int,其中%s为字符串类型,%d为int类型。
但是这样的写法还是有一个问题就是%(name,name,age,job,salary)里面的内容必须和上面的是对应上的,数量也要相等,这个时候我们可以进一步进行优化。
代码示例3:
name = input("name"); age = int(input("age")); job = input("job"); salary = input("salary");
info = '''
----------- info of {_name} -----------
name : {_name}
age : {_age}
job : {_job}
salary : {_salary}
''' .format(_name = name , _age = age , _job = job , _salary = salary)
print(info)
通过调用.format方法就可以更加灵活的实现以上的格式化输出,也是我个人推荐使用的方法,有点和java的构造方法像。
还有一中写法,python也是支持下面的写法的
代码示例4:
name = input("name"); age = int(input("age")); job = input("job"); salary = input("salary");
info = '''
----------- info of {0} -----------
name : {0}
age : {1}
job : {2}
salary : {3}
''' .format(name, age ,job , salary)
print(info)
最后把以上代码的输出内容给大家展示一下:
----------- info of admin -----------
name : admin
age : 20
job : IT
salary : 1000000
这就是格式化输出。