語句 表示式與if分支

2021-10-05 07:18:57 字數 3786 閱讀 8035

行長:每行不建議超過79個字元

空行:要將程式的不同部分分開可使用空行

#可以使用元祖或者列表對多個變數賦值

(x,y)=(

5,10)

x5y10

[a,b,c]=1

,2,3

a1b2

c3#外邊括號去掉也不影響

x,y=5,

10x5y

10#可以以元祖的形式同時顯示多個值

x,y(5,

10)#當前面變數個數和後面個數相等時,會把後面的字串序列乙個個字元拆開分別賦給前面的變數

x,y,z=

'uke'

x'u'

y'k'

z'e'

#當變數個數和後面的字元個數不對等時,會報錯,顯示把後面字元解開unpack乙個個賦給前面變數時值太多了

a,b,c=

'youpin'

traceback (most recent call last)

: file ""

, line 1,in

valueerror: too many values to unpack (expected 3

)#如果說想把y賦給a o賦給b u以及u後面所有的資訊全部賦給c

s='youpin'

a,b,c=s[0]

,s[1

],s[2:

]a'y'b

'o'c

'upin'

#使用*號擴充套件序列解包賦值——當在c前面打上*號時,a,b就自動匹配前兩個,剩餘的全部打包賦給c(注意:乙個表示式裡只能出現乙個*號)

a,b,

*c=s

a'y'

b'o'c[

'u',

'p',

'i',

'n']

#當*號打在b前面時,表示a自動匹配字串裡第乙個字元,c自動匹配字串最後乙個字元,b匹配中間所有的字元

a,*b,c=s

a'y'b[

'o',

'u',

'p',

'i']

c'n'

#注意返回的b的型別是列表,如果想把b這個列表連線起來變成字串——可以使用字串的join方法

b=''

.join(b)

b'oupi'

a,b,c,d=

'uke'

traceback (most recent call last)

: file ""

, line 1,in

valueerror:

not enough values to unpack (expected 4

, got 3

)a,b,c,

*d='uke'

a'u'

b'k'

c'e'd[

]#d返回乙個空列表

a,b,

*c='uke'

a'u'

b'k'c[

'e']

#綜上,*返回永遠是乙個列表,可能是只包含乙個元素的列表,可能是多個元素的列表,可能是空列表

#多目標賦值——宣告乙個值把它賦給多個變數

#例如,如果想把『uke』這個字串都賦給a,b,c

a=b=c=

'uke'

a'uke'

b'uke'

c'uke'

#+=:兩個值相加,然後返回值給符號左側的變數或者用於字串連線(變數值帶引號,資料型別為字串)或者往列表裡面新增多個元素

a,b=1,

2a+=ba3

a='love'

b='you'

a+=b

a'loveyou'a=[

1,2]

a+=[3,

4]a[

1,2,

3,4]

#效果等同於list.extend()

a.extend([99

,100])

a[1,

2,3,

4,99,

100]

一般格式

score =

75if score >=90:

print

('excellent'

)elif score >=80:

print

('good'

)elif score >=

60: print

('pass'

)else

:print

('fail'

)

三元表示式——適用於只有兩種情況的時候

#三元表示式——格式:條件成立的情況 if 條件成立 else 條件不成立的情況——如果條件成立則執行左邊的 條件不成立執行右邊的

score =

75# if score >= 60:

# result = 'pass'

# else:

# result = 'fail'

result =

'pass'

if score >=

60else

'fail'

print

(result)

多重分支

#利用字典表實現類似於if多重條件判斷的效果

operation=

print

(operation.get(

'add'))

defadd

(x):

print

(x +

100)

operation =

#注意add後面不需要加()因為這裡只是傳遞引用,真正的呼叫是到後面operation.get('add')(10)通過(10)傳遞進去引數10進去

defdefault_method

(x):

print

(x)operation.get(

'add')(

10)run後顯示110

operation.get(

'power'

,default_method)(10

)#表示沒有找到power這個鍵,則執行default_method

run後顯示10

#例如呼叫全域性函式len()

len(

'abc'

)3

l=[1

,2,3

]99)l

[1,2

,3,99

]

a=

'kylie'

b='kendall'

print

(a,b)

kylie kendall

#可見中間預設是用空格隔開,如果想自定義用其他符號分隔開也可以——print(x,y,z,sep='')

print

(a,b,sep=

'!')

kylie!kendall

#print()預設終止符為\n 如果想自定義則print(...,end='')

#如果想讓列印的結果不要直接顯示在控制台上而是存入檔案裡

print

(a,b,

file

=open

('result.txt'

,'w'

,encoding=

'utf8'

))

表示式與語句

表示式是由運算子和運算元組合構造成。最簡單的表示式是乙個單獨的運算元,以此作為基礎,結合語言自身支援的操作符,就可以建立複雜的表示式。下面是一些表示式 4 53.14 9 a b 7 30 b 5 從這裡可以看到,運算元可以是資料常量 4,5 變數 a,b 或者是二者的組合 b 7 每乙個表示式都有...

第四天 語句 表示式與if分支 迴圈語句

x,y 5,10 x x,y,z 1,2,3 xa,b,c uhk a5 1 u 形如 a,b,c youpin 這樣的賦值語句是會報錯的可以使用一下方法解決 s youpin a,b,c s 0 s 1 s 2 ac y upin 變數,獲取剩餘元素到lista,b,c s a,c y u p i...

表示式與基本語句

運算子的優先順序 關於上面的優先順序的問題 什麼是位運算?什麼是移位操作?答 程式中的所有數在計算機記憶體中都是以二進位制儲存的,位運算就是對整數在記憶體中的二進位制位進行操作。通常用於二進位制的取位操作,乙個數與1 的結果就是取二進位制的最末位,這個可以用來判斷乙個整數的奇偶。二進位制的最末位為0...