input()输入函数

语法格式:
input(prompt =None,/)
prompt是提示字符串,可以省略,如input(),屏幕不会有任何提示。通常需要给用户一个提示信息,告诉用户需要输入什么数据,因此通常为:
variable_name = input(prompt)

age = input("请输入学生年龄:")

注意:无论输入数字还是字符串,input()函数都返回字符串,即age的数据类型为string类型。如需使用数字,则需要强制类型转换。

print()输出函数

语法格式:
print(value,…,sep= ’ ‘,end=’\n’,file=sys.stdout,flush = False)
value,…:表示输出的对象,可以输出多个对象,需要用逗号分隔。
sep: 格格服,默认以空格分隔。
end:结束换行符,用来设定以什么几位,默认值是“\n”。
file:输出的目的对象,默认为输出(可以改为其它类似文件的对象)
flush:是否立即输出到file指定的流对象。

1、标准输出

可以输出多项内容,输出项用逗号分隔。

print("静夜思")
print("李白")
print("窗前明月光,")
print("疑是地上霜。")
print("举头望明月,")
print("低头思故乡。")

print("\t静夜思")
print("\t李白")
print("窗前明月光,",end=" ")
print("疑是地上霜。")
print("举头望明月,",end=" ")
print("低头思故乡。")
    
title="静夜思"
author="李白"    
print("\n\t"+title+"\n\t"+author)
print("窗前明月光,",end=" ")
print("疑是地上霜。")
print("举头望明月,",end=" ")
print("低头思故乡。")
    

运行结果:

静夜思
李白
窗前明月光,
疑是地上霜。
举头望明月,
低头思故乡。
	静夜思
	李白
窗前明月光, 疑是地上霜。
举头望明月, 低头思故乡。

	静夜思
	李白
窗前明月光, 疑是地上霜。
举头望明月, 低头思故乡。

2、格式化占位符(%-formating)输出

占位符也成称为字符串格式化字符,是早期Python提供的格式化方法:

占位符 说明
%c 格式化字符及其ASCLL码
%s 格式化字符串
%d 格式化十进制整数
%u 格式化无符号整数
%o 格式化八进制整数
%x / %X 格式化十六进制整数
%f 格式化浮点数,可以指定小数点精度,默认保留6位小数
%e / %E 格式化浮点数,用科学计数法(指数表示法)表示
%g / %G 在保证6位有效数字的前提下,使用小数方法表示,否则使用指数法表示
a,b=100,200
print("十进制数为%d"%a)
print("八进制数为%o"%a)
print("十六进制数为%x"%a)
print("右对齐: %8d"%a)
print("左对齐: %-8d"%a)

f=123.456789123
print("\n小数形式%f"%f)
print("指数形式%e"%f)
print("指数形式%E"%f)
print("保证六位有效数字%g"%f)
print("保留两位小数%.2f"%f)
print("设定宽度%15f"%f)

输出结果:

十进制数为100
八进制数为144
十六进制数为64
右对齐:      100
左对齐: 100     

小数形式123.456789
指数形式1.234568e+02
指数形式1.234568E+02
保证六位有效数字123.457
保留两位小数123.46
设定宽度     123.456789

3、格式化(format)输出

Python2.6版本开始,字符串类型(str)提供了format()方法对字符串进行格式化,是通过{}和:来代替print种格式挂占位符%。.
语法格式:str.format(args).其中,str用于指定字符串的显示样式;args用于制定要进行格式转换的项,如有多项,各项之间用逗号进行分隔。

print("整数532")
print("十进制整数形式:{:d}".format(532))
print("十六进制整数形式:{:x}".format(532))

结果输出:

十进制整数形式:532
十六进制整数形式:214

4、格式化字符串常量f-string输出

f-string,也成各式化字符串常量,本质上并不是一个字符串常量,二十在一个运行时运算求值的表达式。语法格式:
f’

{<optional!s,!r,or!a><optional:format specifier>}

…’

f(F)目标字符串前缀;

表达占位符的上下文;类似于str.format(),目标字符串中占位符也使用大括号{},在其中必须加入表达式,可选参数标志!s标识调用表达式上str()(默认),!r表示调用表达式的repr(),!a表示调用表达式ascii()。最后使用format协议格式化目标字符串。


name = "Anny"
age = 5 
school = "kindergarten"
print(f"{name} is {age} years old,she is in {school}.")

s = "I love China!"
print(f"源字符串:{s}")
print(f"转换为小写字符串:{s.lower()}")

输出结果:

Anny is 5 years old,she is in kindergarten.
源字符串:I love China!
转换为小写字符串:i love china!

说明

1、f-string大括号内的引号不能和大括号外的引号定界符冲突,否则会引起"SyntaxError:invalid syntax"错误。
正确:print(f"I’m a {‘student’}")
错误:print(f’I’m a {“student”}')

2、f-string大括号外可以使用转移字符,但大括号内不能使用,否则会引起"SyntaxErr:f-string expression part cannot include a backslash"错误。
正确:print(f"Englis:\t{‘Bussiness before pleasure!’}“)
错误:print(f"Englis:\t{‘Bussiness \t before pleasure!’}”)

3、f-string还可勇于输出多行字符串。
4、同样,f-string可以自定义格式,如对齐、设定宽度、符号、补零、精度、进制等,语法格式为:{content:format}
其中 ,content是替换并填入字符串的内容;format是格式描述符,与前面格式化print类似采用默认格式时不必制定{:format}。下表是常用f-string格式描述符。

格式描述符 含义和作用
< 左对齐(字符串默认对齐方式)
> 右对齐(数值默认对齐方式)
^ 居中对齐
# 切换数字显示方式
0width.precision width表示最小宽度,precision表示精度,0表示高位或者低位用0补齐(默认为空格)
使用“,”作为千分位分隔符
a = 123
print(f'十进制整数:{a:d}')
print(f'八进制整数:{a:o}')
print(f'八进制整数:{a:#o}')
print(f'设置宽度,高位补0:{a:08d}')

输出结果:

十进制整数:123
八进制整数:173
八进制整数:0o173
设置宽度,高位补000000123