python的顺序程序设计

赋值 同步赋值:变量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#

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏阮一峰的网络日志

JavaScript 有多灵活?

JavaScript 是一种灵活的语言,表达力极强,我来举一个例子,保证让很多人大吃一惊。 本文受到了 Kyle Simpson 的文章《Iterating E...

3357
来自专栏青玉伏案

窥探Swift之数组安全索引与数组切片

  今天是元宵节,祝大家元宵节快乐!在Swift中的数组和字典中下标是非常常见的,数组可以通过索引下标进行元素的查询,字典可以通过键下标来获取相应的值。在使用数...

2775
来自专栏令仔很忙

新手学JAVA(一)——Equals和“==”的区别

    如果操作两边都是对象句柄,就比较两个句柄是否指向同一个对象。如果两边是基本类型,则比较的就是值。

1031
来自专栏个人分享

JAVA虚拟机类型转换学习

  Java虚拟机包括血多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有操作数,转换的值从栈顶端获得。Java虚拟机从栈顶端弹出一个值,对它进行...

1215
来自专栏python成长之路

类的单例模式

1565
来自专栏GreenLeaves

JavaScript引用类型之Array类型一

一、简介 除了Object之外,Array类型恐怕是ECMAScript中最常用的类型了。下面就来分析ECMAScript中的数组与其他语言中的数组的异同性: ...

22710
来自专栏一个爱吃西瓜的程序员

Python基础学习-操作列表

一 :遍历整个列表 1:使用for循环来遍历列表: 例: ? 输出: ? 二:避免缩进错误 1:Python根据缩进来判断代码行与前一个代码行的关系。 2:...

2884
来自专栏java学习

java每日一练(2017/9/16)

本期题目 (单选题) 1、代码String str=”123456a”;int i=Integer.parseInt(str);会报异常的是() A java...

3818
来自专栏ccylovehs

JavaScript之深拷贝和浅拷贝

工作中会经常遇到操作数组、对象的情况,你肯定会将原数组、对象进行‘备份’ 当真正对其操作时发现备份的也发生改变,此时你一脸懵逼,到时是为啥,不是已经备份了么,怎...

1261
来自专栏Python

while补充,字符串和数字的内置方法

一、while循环的补充 while True: name=input('please input your name: ') password...

2667

扫码关注云+社区

领取腾讯云代金券