输入

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.官方推荐