赋值
同步赋值:变量1,变量2,....变量n=表达式1,表达式2,.....表达式n
同步赋值首先计算右边n个表达式的值,然后同时将表达式的值赋给左边的n个变量。这并非等同于简单的将多个单一的赋值语句进行组合。
>>> a,b=2,3;
>>> a
2
>>> b
3
>>> x,x=6,8;
>>> x
8
通过x,x的同步赋值,可以知道先执行x=6,在执行x=8;
>>> a=22;
>>> a,b=33,a;
>>> b
22
>>> a
33
说明先执行a=33,在b=a,但是a的值不是33,而是原始值22;说明同步赋值有先后顺序,但是不是传统意义上的单一赋值语句的先后顺序。
传统的赋值语句,需要temp变量
>>> x,y=2,3;
>>> temp=x;
>>> x=y;
>>> y=temp;
>>> x
3
>>> y
2
python可以采用同步赋值一个语句搞定。
>>> x=2;y=3;
>>> x,y=y,x;
>>> x
3
>>> y
2
数据的输入和输出。
python中使用内置函数input()输入,返回一个字符串;
格式:input([提示字符串]);
>>> number=input("input a number?:");
input a number?:68
>>> number
'68'
>>> type(number);
<class 'str'>
使用input()函数可以给多个变量赋值。
>>> a,b=eval(input(" two number:"));
two number:6,8
>>> print(a);
6
>>> print(b);
8
inpt函数返回一个字符串"6,8",经过eval()函数的处理,变成由3和4组成的元祖。
eval()函数是一个很有趣的函数
>>> help(eval);
Help on built-in function eval in module builtins:
eval(...)
eval(source[, globals[, locals]]) -> value
Evaluate the source in the context of globals and locals.
The source may be a string representing a Python expression
or a code object as returned by compile().
The globals must be a dictionary and locals can be any mapping,
defaulting to the current globals and locals.
If only globals is given, locals defaults to it.
>>> eval('9,4');
(9, 4)
所以a,b=eval(input(" two number:"));等价为a,b=6,8;或者a,b=(6,8);
>>> a,b=6,8;
>>> print("a={0},b={1}".format(a,b));
a=6,b=8
>>> del a,b;
>>> a,b=(6,8);
>>> print(a,b);
6 8
屏幕输出
使用表达式语句输出,采用print()函数。
格式:print([输出项1,输出项2.....输出项目n][,sep=分隔符],[,end=结束符])
其中输出项之间以逗号分隔,没有输出项的时输出一个空行。sep表示输出时各项之间的分隔符(默认是空格),end表示结束符(默认是回车换行)。
>>> print(11,22);
11 22
>>> print('a','b',sep=',');
a,b
>>> print(1,2,3,sep=',',end='#');
1,2,3#