python的順序程式設計

yesye發表於2021-09-09

賦值
同步賦值:變數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);

使用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#

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2041/viewspace-2799983/,如需轉載,請註明出處,否則將追究法律責任。

相關文章