输入
1.input() 函数
input() 函数:接受一个标准输入数据,返回为 string 类型。
在 Python3.x 中 raw_input() 和 input() 进行了整合,去除了 raw_input( ),仅保留了input( )函数。也就是说现在的输入函数为input( )函数,其接收任意任性输入,将所有输入默认为字符串处理,并返回字符串类型。
函数语法:input([prompt]) # prompt为提示信息,一般是字符串形式,可以呈现出来,不影响实际功能。
格式:input()
功能:接受一个标准输入数据,
返回:返回string类型。ctrl+z结束输入
这里要注意的是:
input()接收所有输入,并默认将所有的输入都看作字符串来处理
input返回的是string类型,如果想输入数字,还需要进行类型转换
num = int(input("Enter a number: "))
print(num*2)
2.eval()函数
语法:eval(expression[, globals[, locals]])
各参数为:
expression – 表达式。
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals – 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。
>>>x = 7
>>> eval( '3 * x' )
21
>>> eval('pow(2,2)')
4
>>> eval('2 + 2')
4
>>> n=81
>>> eval("n + 4")
85
特点:
1.eval 方法能使字符串本身的引号去掉,保留字符的原本属性。
>>> a = "123"
>>> type(a)
<class 'str'>
>>> b = eval(a)
>>> b
123
>>> type(b)
<class 'int'>
2.eval() 函数也可以直接用来提取用户输入的多个值。
a,b=eval(input())
输入:10,5,得到 a=10,b=5。
输出
Python一共有两种格式化输出语法。
一种是类似于C语言printf的方式,称为 Formatting Expression
一种是类似于C#的方式,称为String Formatting Method Calls
1.直接输出
用print加上字符串,就可以向屏幕上输出指定的文字
>>> print 'hello, world'
print会依次打印每个字符串,遇到逗号“,”会输出一个空格,可以进行拼接。
>>> print '1 + 2 =', 1 + 2
1 + 2 = 3
2.格式化输出,占位符
格式化符号格式 说明 备注
%o 八进制 oct
%d 十进制 dec
%x 十六进制 hex
print('%o' % 20) # 八进制
24
print('%d' % 20) # 十进制
20
print('%x' % 24) # 十六进制
18
3.格式化输出,format
相对基本格式化输出采用‘%’的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}’作为特殊字符代替‘%’
>>>"{} {}".format("hello", "world") == print('{} {}'.format('hello','world'))
> # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
print('{a} {b} '.format(b='hello',a='world' ) # 带参数
world hello
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:>10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)
<(默认)左对齐、> 右对齐、^中间对齐、=(只用于数字)在小数点后进行补齐
print('{}{}'.format('hello','world')) # 默认左对齐
helloworld
print('{:10s} and {:>10s}'.format('hello','world')) # 取10位左对齐,取10位右对齐
hello and world
print('{:^10s} and {:^10s}'.format('hello','world')) # 取10位中间对齐
hello and world
format与%方式的优点
1.不需要理会数据类型 (python3以上的版本都是可以用%s)
2.单个参数可以多次输出,参数顺序可以不同
3.填充方式十分灵活,对齐方式强大
4.官方推荐