Python提供了十分方便的格式化输出方法。
1、使用%s进行格式化输出
name = input("请输入你的姓名:")
gender = input("请输入你的性别:")
age = int(input("请输入你的年龄:")) #将 str 类型强转为 int 类型
#打印age的数据类型
print("age 的数据类型为:",type(age))#使用 input函数 返回的始终是 str 类型的变量
job = input("请输入你的工作:")
#格式化输出
info = '''
--------info of %s--------
name:%s
gender:%s
age:%d
job:%s
'''%(name,name,gender,age,job)
# %d的作用:1、强制类型匹配——在python中任何类型的变量都可以自动转换为 str 类型,使用 %d 那么此处只能匹配 number 类型的变量
print(info)
2、使用字符串(str类型)的format()函数进行格式化输出
1、第一种fortmat()使用方式
#第二种格式化输出
info2 = '''
--------info of {_name}--------
name:{_name}
gender:{_gender}
age:{_age}
job:{_job}
'''.format(_name=name,_gender=gender,_age=age,_job=job)
print(info2)
#第三种格式化输出
info3= '''
--------info of {0}--------
name:{0}
gender:{1}
age:{2}
job:{3}
'''.format(name,gender,age,job)
print(info3)
运行结果与第一种一致。
3、注意:
1、上面代码中出现的''' '''(三对'')有两个作用:
1)作为python中的多行注释(相当于C、Java中的/***/),比如代码:
'''
print("我是注释,不会执行")
'''
该段代码在.py文件中出现是不会被python解释器解释执行的,所以运行改段代码在console中是不会输出:我是注释,不会执行 。
作为注释的''' '''相当于Java中的/***/:
/**
System.out.println("我是注释,不会执行");
*/
该段代码在.java文件中出现是不会被jvm执行的,所以运行改段代码在console中是不会输出:我是注释,不会执行 。
2) 表示分多行显示的字符串,比如代码:
date = '''
today is rainny,
10:08
2018/1/26
'''
print(date);
运行结果为:
等同于Java中的代码:
String date = "today is rainy" +
"10:08" +
"2018/1/26";
System.out.println(date);
2、Python是属于动态类型语言,也就是说在声明Python变量的时候是不用指定python变量的类型的,Python变量的类型会在第一次给变量赋值时由Python解释器自动指定。也就有下面的代码:
date = "today is rainy"
date会在python解释器读到该行代码时,自动给date的类型定为 str。
该句代码在java中等同于:
String date = "it is rainy";
因为Java是静态类型语言,所以在声明变量date的时候,必须指明date的类型为String类型。
3、Python使用input()函数来实现python程序与用户的简单的数据交互,但是input()返回数据始终是 str 类型的。