導航:首頁 > 編程語言 > python目標和表達式區別

python目標和表達式區別

發布時間:2023-11-16 16:15:15

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中將算式稱為表達式。數學上算式是用數學語言、數學符號來表達某種關系、某種運算、某種性質的,同樣的,在Python中,表達式也是用運算符將各種數據類型的數據連接起來。

數據的類型在前面已經介紹過了,下面介紹一些最常用到的運算符。

6.1算術運算

算術運算符是用於處理四則運算的運算符,常用的算術運算符如下表所示。

算術表達式就是用算術運算符將各種類型的數據連接起來,算術運算的規則和數學中一致。除了數學中用到的四則運算符「 、-、*、/ 」外,要特別注意「取模(%)」、「冪(**)」、「整除(//)」的用法。

6.2給變數賦值

最常用的賦值運算符是「=」,「a=b」的意思就是將值b賦值給變數a。

Python中還一些帶有運算功能的賦值方法,含義為「先計算,後賦值」如:

以下假設變數:a=10,b=20

「+=」,讀作「加賦值」,如a+=b,相當於a=a+b, 則a被賦值為30;

「-=」,讀作「減賦值」,如a-=b,相當於a=a-b, 則a被賦值為-10;

「*=」,讀作「乘賦值」,如a*=b,相當於a=a*b, a被賦值為200;

「/=」,讀作「除賦值」,如a/=b,相當於a=a/b, a被賦值為0.5;

「%=」,讀作「取余數賦值」,如a%=b,相當於a=a%b, a被賦值為10;

「**=」,讀作「冪賦值」,如a**=b,相當於a=a**b, a被賦值為100000000000000000000;

「//=」,讀作「取整數賦值」,如a//=b,相當於a=a//b, a被賦值為0;

6.3關系運算

關系運算符,也叫比較運算符,用於比較兩個變數或表達式運算結果之間的大小關系。關系表達式是用關系運算符將變數或表達式連接起來的表達式,其運算結果為一個布爾值,即True或False。

Python3.0的關系運算符有:「大於>」、「小於=」、「小於或等於<=」。

還有一個特殊的關系運算符「值1變數值2」,如:

>>> a=10

>>> b=20

>>> c=15

>>> print(a<b<c) p=""> </b<c)>

False

>>> print(a<c<b) p=""> </c<b)>

True

6.4邏輯運算

邏輯運算符包括「邏輯與and」、「邏輯或or」、「邏輯非not」,具體用法見下表。

以下假設變數 a 為 10, b為 20:


在上表中,變數a和變數b都是非0的數,被當做值為True的變數參與邏輯運算。

Ⅲ python表達式和語句的區別

語句呢范圍更大,python任何一行代碼都可以稱為語句,語句是獨立功能實現的最小單位,就想我們寫作文的每一句話就是一個語句,而表達式都是特定功能的一種表達方式,也可以理解為擁有特殊功能的語句

Ⅳ Python表達式是什麼

python表達式是值,變數和操作符(或叫運算符)的組合。多帶帶的一個值是一個表達式,多帶帶的變數也是一個表達式。運算符和操作數一起構成表達式,操作數可以使用標識符表示,如a=3;b=2;c=a*b,表達式是python程序最常見的代碼。
Python代碼由表達式和語句組成,並由Python解釋器負責執行,它們的主要區別是「表達式」是一個值,它的結果一定是一個Python對象。當Python解釋器計算它時結果可以是任何對象。例如42,1+2,int(『123』),range(10)等。
表達式是有優先順序的,最簡單的如我們賦值運算符中的數學算式:「0 * 1 + 2」和「0 + 1 * 2」結果一定不一樣,在「0 + 1 *
2」中優先運算「1 * 2」。當然並非是只有賦值運算才優先順序,並且在各種運算符之間也有優先順序。
條件表達式基本語法:結果1 if 表達式 else
結果2,結果1為表達式結果為True的值,結果2位表達式結果為False的值。語法演變:variable = [結果1] if [表達式] else
[結果2]。

Ⅳ Python其實很簡單 第十一章 正則表達式

正則表達式是一個特殊的字元序列,它用來檢查一個字元串是否與某種模式匹配。正則表達式在編譯程序中至關重要,但並不是每個人都需要特別深入的學習和掌握。在此,只介紹一些最基本的應用。

1、元字元

元字元是構成正則表達式的一些特殊字元。在正則表達式中,元字元被賦予了新的含義。

下面介紹一些常用的元字元及其含義:

. 匹配除換行符以外的任意字元。

w 匹配字母、數字、下劃線或漢字。

W 匹配w所匹配的字元以外的字元。

s 匹配單個空白符(包括Tab鍵和換行符)。

S 匹配除s匹配的字元以外的字元。

d 匹配數字。

b 匹配單詞的分界符,如:空格、標點符號或換行符。

^ 匹配字元串的開始

$ 匹配字元串的結束

2、限定符

限定符是在正則表達式中用來指定數量的字元。常用的限定符有:

? 匹配前面的字元0或1次。如:zo?m可以匹配zom和zm,但不能匹配 zoom

+ 匹配前面的字元1或n次。如:zo?m可以匹配zom和zoom,但不能匹配zm

* 匹配前面的字元0或n次。如:zo?m可以匹配zom、zoom和zm

{n} 匹配前面的字元n次。如:zo{2}m可以匹配zoom,但不能匹配zom和zm

{n,} 匹配前面的字元至少n次。如:zo{1,}m可以匹配zom和zoom,但不能匹配zm

{n,m} 匹配前面的字元至少n次,最多m次。如:zo{1,2}m可以匹配zom和zoom,但不能匹配zm

3、方括弧」[ ]」的用途

方括弧「[ ]」里可以列出某個字元范圍。如:[aeiou]表示匹配任意一個母音字母,[zqsl]表示匹配姓氏「趙錢孫李」的拼音第一個字母。

4、排除字元

方括弧」[ ]」中的「^」字元表示排除的意思,如:[^aeiou]表示匹配任意一個非母音字母的字元。

5、選擇字元

字元「|」相當於「或」。如:(^d{3}[-]d{8})|(^d{4}[-]d{7})$可以匹配形如」 - 」或「 - 」的電話號碼格式。

6、轉義字元

對於已經用於定義元字元和限定符的字元,需要加轉義符「」來表示。

如:為了匹配形如「192.168.0.1」的IPv4地址(1~255.0~255.0~255.0~255),可以用這樣的正則表達式:^(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0).(25[0-5]|2[0-4][0-9]|[0,1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$

這里解釋一下第一段IP地址的規則,取值范圍為1~255,可分解為以下情況:

250~255:25[0-5];

200~249:2[0-4][0-9];

100~199:[01]{1}[0-9]{2};

0~99: [0-9]{1}[1-9]

再加上」.」: .

其他三段地址和第一段相似。

7、「( )」可以用於分組

在正則表達式中,用「( )」括起來的部分是一個整體。

8、r(或R)的意義

在正則表達式中,為了保證模式字元串為原生字元串(沒有經過加工處理的字元串),可以在模式字元串前加上一個字元『r』或『R』。例如:

# 這里用到對的re.match()方法接下來介紹

>>> import re # 導入re模塊

>>> re.match('bPy[a-z]+','Python') # 表達式'bPy[a-z]+'不能匹配』Python』

>>> re.match('bPy[a-z]+','Python') # 表達式'bPy[a-z]+'可以匹配』Python』

在上述代碼中,原本要用作匹配單詞開始或結束的元字元』b』在表達式中字元串中會被視為轉義一個字元『b』,為了轉義』b』就不得不再加一個』』符號。

也可以採用下面的方法:

>>> re.match(r'bPy[a-z]+','Python') #加字元』r』,可以保證原生字元串

9、match()方法

Match()方法 嘗試從字元串的起始位置匹配一個模式,如果不是起始位置匹配成功的話,match() 就返回 none。

語法格式:

re.match(pattern, string, [flags])

其中,pattern表示匹配的正則表達式;string是要匹配的字元串;flags表示標志位,用於控制正則表達式的匹配方式,如:re.I表示不區分大小寫。

例:

import re #導入re模塊

print(re.match('www', 'www.python.org/').span()) #span()函數可以獲取匹配的位置

print(re.match('org', 'www.python.org'))

輸出結果為:

(0, 3) #在位置0到3(不包括3)匹配成功

None #從起始位置未能匹配成功

10、search()方法

search()方法用於在整個字元串中搜索第一個匹配的值,如果匹配成功,則返回Match對象,否則返回None。

語法格式:

re.search(pattern, string, [flags])

其中,pattern表示匹配的正則表達式;string是要匹配的字元串;flags表示標志位,用於控制正則表達式的匹配方式,如:re.I表示不區分大小寫。

例如:

>>> re.search(r'Pyw+','It's easy to use Python, but it's not easy to learn Python.')

可以看出,目標字元串「It's easy to use Python, but it's not easy to learn Python.」中一共有兩個『Python』,search()方法可以從字元串的起始位置開始查找到『Python』,當找到第一個匹配值後就停止查找,返回位置信息。

match()和search()的比較

match()要求目標字元串的起始位置就能匹配,search()對目標字元串全段進行逐次匹配,只要首次匹配成功就停止匹配。

請看下例:

>>> import re

>>> print(re.match(r'Pyw+','It's easy to use Python, but it's not easy to learn Python.'))

輸出結果:None

11、findall()方法

findall()方法用於在整個字元串中搜索所有匹配的值,如果匹配成功,則返回以匹配值為元素的列表,否則返回空列表。

語法格式:

re.findall(pattern, string[, flags])

其中,pattern表示匹配的正則表達式;string是要匹配的字元串;flags表示標志位,用於控制正則表達式的匹配方式,如:re.I表示不區分大小寫。

例:

>>> import re

>>>print(re.findall(r'Pyw+','It's easy to use Python, but it's not easy to learn Python.'))

輸出結果:['Python', 'Python']

可以看出,findall()的結果沒有指出匹配的具體位置。

12、正則表達式的應用

字元串替換

這里要用到sub()方法。它的語法格式如下:

re.sub(pattern, repl, string [,count] [,flgs])

其中,pattern是模式字元串;repl是用於替換的字元串;string是原字元串;可選參數count為模式匹配後替換的最大次數,省缺表示替換所有的匹配;可選參數flags的意義與前面的方法的該參數一致。

例:

>>> import re

>>> str1='x=36.567 y=123.234'

>>> str2=re.sub('.d+','',str1) #用空格代替小數點及其後的數字

>>> print(str2)

輸出結果:x=36 y=123

分隔字元串

這里要用到split()方法。它的返回值為一個列表,它的語法格式如下:

re.split(pattern, string [,maxsplit] [,flgs])

其中,pattern是模式字元串;string是原字元串;可選參數maxsplit為最大拆分次數,省缺表示拆分所有的匹配;可選參數flags的意義與前面的方法的該參數一致。

例:

>>> import re

>>> str='白日依山盡,黃河入海流。欲窮千里目,更上一層樓!'

>>> re.split(r',|。|!',str) #按照「,」、「。」、「!」分隔字元串。

['白日依山盡', '黃河入海流', '欲窮千里目', '更上一層樓', '']

注意,返回值列表中多出了一個空字元。

Ⅵ 所有python表達式都做什麼事

這里的a=1則是一個表達式,它本身並不會產生任何動作,而只是把變數a的值和1進行比較,然後把比較結果交給if語句去處理。 也就是說:語句是可以單獨執行的、能夠產生實際效果的代碼;而表達式則是包含在語句中,根據某種條件計算出一個值或得出某種結果,然後由語句去判斷和處理的代碼。

閱讀全文

與python目標和表達式區別相關的資料

熱點內容
怎麼關閉appstore 瀏覽:474
學編程入門語言 瀏覽:307
安卓機為什麼總是出現升級提示 瀏覽:133
b樹java實現 瀏覽:943
亞馬遜雲伺服器到期了怎麼續費 瀏覽:850
我的世界網易如何在伺服器裡面加光影 瀏覽:284
nat地址訪問外網伺服器 瀏覽:966
怎樣用java編譯一個心形 瀏覽:934
如何使用python中的pygame 瀏覽:836
python實用小工具 瀏覽:24
怎麼在安卓手機上去除馬賽克 瀏覽:235
農行濃情通app怎麼下載 瀏覽:533
怎麼把原文件夾找回來 瀏覽:535
俄羅斯方塊實現python思路 瀏覽:735
漢語拼音英語編譯代碼 瀏覽:501
程序員應具備的能力 瀏覽:606
手機石墨文檔文件夾訪問許可權 瀏覽:656
客戶端如何登陸域文件伺服器 瀏覽:530
兩位數的平方計演算法 瀏覽:930
android圖片分塊 瀏覽:716