『壹』 python死磕——Python賦值語句、表達式以及列印
a賦值為's' b賦值為'p'
在這個賦值語句中,a匹配第一個字母,剩下的用於匹配b:a賦值為's',b賦值為'pam'
在這個語句中spam ham都會賦值成對相同的字元串對象'lunch'的引用
賦值右側可以是任何類型的序列,只要長度相等即可
在Python3.0中可以允許我們使用更為通用的擴展解包語法,在python2.x中要求賦值目標中的項數和主體的數目必須一致:否則就會報錯
如果想使用通用方法就需要使用分片。
在Python3.0中一個帶有單個星號的名稱,可以在賦值目標中使用,以指定對於序列的一個更為通用的匹配
帶星號的名稱可能只匹配單個的項
X+=Y X&=Y X-=Y X|=Y
X =Y X^=Y X/=Y X>>=Y
X%=Y X<<=Y X *=Y X//=Y
增強賦值語句的有點
對於增強賦值語句,對列表是做原處修改的意思。而'+'總是生成新對象。
上述的例子中,由於'+'會生成一個新的列表對象,所以M的值並沒有發生改變
猶豫增強賦值對於可變的數據類型時在原處修改值,所以使M的值發生了變化
對列表調用append、sort、reverse這類在原處修改的運算,一定是對列表做原處的修改,但這些方法在列表修改後並不會把列表返回,而是返回的None對象
print默認的把對象列印到stdout流,添加了一些格式化。
格式中sep、end、和file部分如果給出的話,必須作為關鍵字參數給定。必須使用一種特殊的"name = value"語法來根據名稱而不是根據位置來傳遞參數。
在Python3.0和Python2.6中,列印都默認地發送到標准輸出流。也可以發送到一個文本文件』
print只是Python的人性化的特性,它提供了sys.stdout對象的簡單介面
將輸出流重定向到文件後print語句直接列印內容到文件
『貳』 Python語法小記憶
Python 中的字元串還支持轉義字元。所謂轉義字元是指使用反斜杠「\」對一些特殊字元進行轉義。
轉義字元說明
\ 續行符
\n 換行符
\0 空
\t 水平製表符,用於橫向跳到下一製表位
\'' 雙引號
\' 單引號
\\ 一個反斜杠
\f 換頁
\0dd 八進制數,dd 代表字元,如\012 代表換行
\xhh 十六進制數,hh 代表字元,如\x0a 代表換行
在Python 中,提供了如下表所示的函數進行數據類型的轉換。
函數作用
int(x) 將x 轉換成整數類型
float(x) 將x 轉換成浮點數類型
complex(real [,imag]) 創建一個復數
str(x) 將x 轉換為字元串
repr(x) 將x 轉換為表達式字元串
eval(str) 計算在字元串中的有效Python 表達式,並返回一個對象
chr(x) 將整數x 轉換為一個字元
ord(x) 將一個字元x 轉換為它對應的整數值
hex(x) 將一個整數x 轉換為一個十六進制字元串
oct(x) 將一個整數x 轉換為一個八進制的字元串
賦值運算符主要用來為變數等賦值。使用時,可以直接把基本賦值運算符「=」右邊的值賦給左邊的變數,也可以進行某些運算後再賦值給左邊的變數。在Python 中常用的賦值。
運算符如下表所示。
運算符說明舉例展開形式
= 簡單的賦值運算x=y x=y
+= 加賦值x+=y x=x+y
-= 減賦值x-=y x=x-y
*= 乘賦值x*=y x=x*y
/= 除賦值x/=y x=x/y
%= 取余數賦值x%=y x=x%y
**= 冪賦值x**=y x=x**y
//= 取整除賦值x//=y x=x//y
比較運算符,也稱關系運算符,用於對變數或表達式的結果進行大小、真假等比較,如果比較結果為真,則返回True,如果為假,則返回False。比較運算符通常用在條件語句中作為判斷的依據。Python 中的比較運算符如下表所示。
運算符作用舉例結果
> 大於'a' > 'b' False
< 小於156 < 456 True
== 等於'c' == 'c' True
!= 不等於'y' != 't' True
>= 大於或等於479 >= 426 True
<= 小於或等於62.45 <= 45.5 False
邏輯運算符是對真和假兩種布爾值進行運算,運算後的結果仍是一個布爾值,Python中的邏輯運算符主要包括and(邏輯與)、or(邏輯或)、not(邏輯非)。
運算符含義用法結合方向
and 邏輯與op1 and op2 從左到右
or 邏輯或op1 or op2 從左到右
not 邏輯非not op 從右到左
所謂運算符的優先順序,是指在應用中哪一個運算符先計算,哪一個後計算,與數學的四則運算應遵循的「先乘除,後加減」是一個道理。
下表按從高到低的順序列出了運算符的優先順序。同一行中的運算符具有相同優先順序,此時它們的結合方向決定求值順序。
運算符說明
** 冪
~、+、- 取反、正號和負號
*、/、%、// 算術運算符
+、- 算術運算符
<<、>> 位運算符中的左移和右移
& 位運算符中的位與
^ 位運算符中的位異或
| 位運算符中的位或
<、<=、>、>=、!=、== 比較運算符
在Python 中,使用內置函數input()可以接收用戶的鍵盤輸入。input()函數的基本用法如下:
variable = input("提示文字")
其中,variable 為保存輸入結果的變數,雙引號內的文字用於提示要輸入的內容。
默認的情況下,在Python中,使用內置的print()函數可以將結果輸出到IDLE或者標准控制台上。其基本語法格式如下:
Print(輸出內容)
其中,輸出內容可以是數字和字元串(字元串需要使用引號括起來),此類內容將直接
輸出,也可以是包含運算符的表達式,此類內容將計算結果輸出。
『叄』 python的 a,b=b,a+b 和 a=b b=a+b 的區別
區別就是:賦值運算,先計算賦值號(也就是=號左邊的,再賦值)
1、a, b = b, a+b 這種賦值
先計算等值 右邊 就是 b=1 a+b=1
再賦值給a和b,那麼 a=1, b=1
2、a = bb = a+b
此時 b=1, 那麼a=1 那麼最後 b=2
a, b = b, a+b 這個表達式的意思就是說,先計算=號的右邊b的值,a+b的值,算好了,然後再分別賦值給a 和b就可以了。
Python在執行時,首先會將.py文件中的源代碼編譯成Python的byte code(位元組碼),然後再由Python Virtual Machine(Python虛擬機)來執行這些編譯好的byte code。這種機制的基本思想跟java,.NET是一致的。
然而,Python Virtual Machine與Java或.NET的Virtual Machine不同的是,Python的Virtual Machine是一種更高級的Virtual Machine。這里的高級並不是通常意義上的高級,不是說Python的Virtual Machine比Java或.NET的功能更強大,而是說和Java 或.NET相比,Python的Virtual Machine距離真實機器的距離更遠。
或者可以這么說,Python的Virtual Machine是一種抽象層次更高的Virtual Machine。基於C的Python編譯出的位元組碼文件,通常是.pyc格式。
除此之外,Python還可以以交互模式運行,比如主流操作系統Unix/Linux、Mac、Windows都可以直接在命令模式下直接運行Python交互環境。直接下達操作指令即可實現交互操作。
『肆』 python基礎賦值問題
#看看是不是因為縮進的問題導致的,下面的代碼經測試運行結果是正確的。
if m == 1:
if price >= 200:
price = price * 0.8
print ('打八折,實際金額為:', price)
elif 100 <= price <= 200:
price = price * 0.9
print ('打九折,實際金額為:', price)
else:
print ('實際金額為:', price)
else:
if price >= 200:
price = price * 0.95
print ('打9.5折,實際金額為:', price)
else:
print ('實際金額為:', price)
『伍』 m=100用Python怎麼寫
m=100是一個賦值語句,是把100賦值給變數m。python語法中,賦值的語句就是m=100。其他語言可能會有所不同。比如java會需要有變數定義以及分號作為語句結尾。
『陸』 python選擇結構分為哪幾類每一類的語法格式怎麼書寫
分三類:單分支,雙分支,多分支。
輸出
用print()在括弧中加上字元串,就可以向屏幕上輸出指定的文字。比如輸出'hello, world',用代碼實現如下:
>>> print('hello, world')
print()函數也可以接受多個字元串,用逗號「,」隔開,就可以連成一串輸出:
>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
print()會依次列印每個字元串,遇到逗號「,」會輸出一個空格
print()也可以列印整數,或者計算結果:
>>> print(300)
300
>>> print(100 + 200)
300
因此,我們可以把計算100 + 200的結果列印得更漂亮一點:
>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
輸入
Python提供了一個input(),可以讓用戶輸入字元串,並存放到一個變數里。比如輸入用戶的名字:
>>> name = input()
Michael
當你輸入name = input()並按下回車後,Python互動式命令行就在等待你的輸入了。這時,你可以輸入任意字元,然後按回車後完成輸入。
輸入完成後,不會有任何提示,Python互動式命令行又回到>>>狀態了。那我們剛才輸入的內容到哪去了?答案是存放到name變數里了。可以直接輸入name查看變數內容:
>>> name
'Michael'
結合輸入輸出
name = input()
print('hello,', name)
數據類型
整數
Python可以處理任意大小的整數,當然包括負整數,在程序中的表示方法和數學上的寫法一模一樣,例如:1,100,-8080,0,等等。
計算機由於使用二進制,所以,有時候用十六進製表示整數比較方便,十六進制用0x前綴和0-9,a-f表示,例如:0xff00,0xa5b4c3d2,等等。
浮點數
浮點數也就是小數,之所以稱為浮點數,是因為按照科學記數法表示時,一個浮點數的小數點位置是可變的,比如,1.23x109和12.3x108是完全相等的。浮點數可以用數學寫法,如1.23,3.14,-9.01,等等。但是對於很大或很小的浮點數,就必須用科學計數法表示,把10用e替代,1.23x109就是1.23e9,或者12.3e8,0.000012可以寫成1.2e-5,等等。
整數和浮點數在計算機內部存儲的方式是不同的,整數運算永遠是精確的(除法難道也是精確的?是的!),而浮點數運算則可能會有四捨五入的誤差。
字元串
字元串是以單引號'或雙引號"括起來的任意文本,比如'abc',"xyz"等等。請注意,''或""本身只是一種表示方式,不是字元串的一部分,因此,字元串'abc'只有a,b,c這3個字元。如果'本身也是一個字元,那就可以用""括起來,比如"I'm OK"包含的字元是I,',m,空格,O,K這6個字元。
如果字元串內部既包含'又包含"怎麼辦?可以用轉義字元\來標識,比如:
'I\'m \"OK\"!'
表示的字元串內容是:
I'm "OK"!
轉義字元\可以轉義很多字元,比如\n表示換行,\t表示製表符,字元\本身也要轉義,所以\\表示的字元就是\,可以在Python的互動式命令行用print()列印字元串看看:
>>> print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\')
\
\
如果字元串裡面有很多字元都需要轉義,就需要加很多\,為了簡化,Python還允許用r''表示''內部的字元串默認不轉義,可以自己試試:
>>> print('\\\t\\')
\ \
>>> print(r'\\\t\\')
\\\t\\
如果字元串內部有很多換行,用\n寫在一行里不好閱讀,為了簡化,Python允許用'''...'''的格式表示多行內容,可以自己試試:
>>> print('''line1
... line2
... line3''')
line1
line2
line3
上面是在互動式命令行內輸入,注意在輸入多行內容時,提示符由>>>變為...,提示你可以接著上一行輸入,注意...是提示符,不是代碼的一部分:
┌────────────────────────────────────────────────────────┐
│Command Prompt - python _ □ x │
├────────────────────────────────────────────────────────┤
│>>> print('''line1 │
│... line2 │
│... line3''') │
│line1 │
│line2 │
│line3 │
│ │
│>>> _ │
│ │
│ │
│ │
└────────────────────────────────────────────────────────┘
當輸入完結束符```和括弧)後,執行該語句並列印結果。
如果寫成程序並存為.py文件,就是:
print('''line1
line2
line3''')
多行字元串'''...'''還可以在前面加上r使用
布爾值
布爾值和布爾代數的表示完全一致,一個布爾值只有True、False兩種值,要麼是True,要麼是False,在Python中,可以直接用True、False表示布爾值(請注意大小寫),也可以通過布爾運算計算出來:
>>> True
True
not運算是非運算,它是一個單目運算符,把True變成False,False變成True:
>>> not True
False
空值
空值是Python里一個特殊的值,用None表示。None不能理解為0,因為0是有意義的,而None是一個特殊的空值。
此外,Python還提供了列表、字典等多種數據類型,還允許創建自定義數據類型,我們後面會繼續講到。
變數
變數的概念基本上和初中代數的方程變數是一致的,只是在計算機程序中,變數不僅可以是數字,還可以是任意數據類型。
變數在程序中就是用一個變數名表示了,變數名必須是大小寫英文、數字和_的組合,且不能用數字開頭,比如:
a = 1
變數a是一個整數。
t_007 = 'T007'
變數t_007是一個字元串。
Answer = True
變數Answer是一個布爾值True。
在Python中,等號=是賦值語句,可以把任意數據類型賦值給變數,同一個變數可以反復賦值,而且可以是不同類型的變數
這種變數本身類型不固定的語言稱之為動態語言,與之對應的是靜態語言。靜態語言在定義變數時必須指定變數類型,如果賦值的時候類型不匹配,就會報錯。
最後,理解變數在計算機內存中的表示也非常重要。當我們寫:
a = 'ABC'
時,Python解釋器幹了兩件事情:
在內存中創建了一個'ABC'的字元串;
在內存中創建了一個名為a的變數,並把它指向'ABC'。
也可以把一個變數a賦值給另一個變數b,這個操作實際上是把變數b指向變數a所指向的數據
常量
所謂常量就是不能變的變數,比如常用的數學常數π就是一個常量。在Python中,通常用全部大寫的變數名表示常量:
PI = 3.14159265359
但事實上PI仍然是一個變數,Python根本沒有任何機制保證PI不會被改變,所以,用全部大寫的變數名表示常量只是一個習慣上的用法,如果你一定要改變變數PI的值,也沒人能攔住你。
最後解釋一下整數的除法為什麼也是精確的。在Python中,有兩種除法,一種除法是/:
>>> 10 / 3
3.3333333333333335
/除法計算結果是浮點數,即使是兩個整數恰好整除,結果也是浮點數:
>>> 9 / 3
3.0
還有一種除法是//,稱為地板除,兩個整數的除法仍然是整數:
>>> 10 // 3
3
你沒有看錯,整數的地板除//永遠是整數,即使除不盡。要做精確的除法,使用/就可以。
因為//除法只取結果的整數部分,所以Python還提供一個余數運算,可以得到兩個整數相除的余數:
>>> 10 % 3
1
無論整數做//除法還是取余數,結果永遠是整數,所以,整數運算結果永遠是精確的。
『柒』 python賦值問題
我是這么理解的。
x,y,z=1,2,3 其實這是元組賦值,可以寫成(x,y,z=1,2,3),對應位置的變數獲得對應的值。
其中需要說明的是1,2,3是對象,x,y,z是引用。
在執行x,y=y,x時,y,x這個元組其實已經被轉換為2,1了,然後直行賦值後,引用x指向了對象2,引用y指向了對象1。例如:
>>> x,y,z=1,2,3
>>> id(x)
3508720
>>> id(y)
3508708
>>> id(z)
3508696
>>> x,y=y,x
>>> id(x)
3508708
>>> id(y)
3508720
>>>
『捌』 python賦值是什麼
python賦值是將某一數值賦給某個變數的過程。
將確定的數值賦給變數的語句叫做賦值語句。各程序設計語言有自己的賦值語句,賦值語句也有不同的類型。所賦「值」可以是數字,也可以是字元串和表達式。注意很多語言都使用「等於號」(即「=」)來作為賦值號,所以可能和和平時的理解不同,在使用的時候應予以注意。
python賦值語句介紹:
賦值語句的左邊是一個變數,右邊是一個可計算得到某個值的表達式,表達式的值將會被存儲到該變數中。
第一次給變數賦值時,會創建變數並使用那個值進行初始化。定義之後,該變數就可以在另一個語句中使用了,例如:print(cansPerPack),會輸出cansPerPack變數中存儲的值。
『玖』 python中賦值語句和增強賦值語句的區別
賦值語句是由賦值表達式再加上分號構成的表達式語句。
其一般形式為:
變數=表達式;
賦值語句的功能和特點都與賦值表達式相同。
它是程序中使用最多的語句之一。
在賦值語句的使用中需要注意以下幾點:
1.由於在賦值符「=」右邊的表達式也可以又是一個賦值表達式,因此,下述形式
變數=(變數=表達式);
是成立的,從而形成嵌套的情形。其展開之後的一般形式為:
變數=變數=…=表達式;
例如:
a=b=c=d=e=5;按照賦值運算符的右接合性,因此實際上等效於:
e=5;
d=e;
c=d;
b=c;
a=b;
2.注意在變數說明中給變數賦初值和賦值語句的區別。給變數賦初值是變數說明的一部分,賦初值後的變數與其後的其它同類變數之間仍必須用逗號間隔,而賦值語句則必須用分號結尾。
3.在變數說明中,不允許連續給多個變數賦初值。
如下述說明是錯誤的:
int
a=b=c=5
必須寫為
int
a=5,b=5,c=5;
而賦值語句允許連續賦值。
4.注意賦值表達式和賦值語句的區別。賦值表達式是一種表達式,它可以出現在任何允許表達式出現的地方,而賦值語句則不能。
『拾』 使用python 寫出程序,創建一個變數名為mao 並將數字9值給mao 編寫格式是
此問題回答如下:
mao = 9; #定義變數並且賦值
print(mao);#輸出變數的值 為 9
希望我的回答可以幫助你