Python基礎教程學習 語句

2021-09-26 14:54:31 字數 4192 閱讀 1960

簡單推導

你可同時列印多個表示式,條件是用逗號分隔它們:

>>> print('age:', 42)

age: 42

自定義分隔符:

>>> print("i", "wish", "to", "register", "a", "complaint", sep="_")

i_wish_to_register_a_complaint

自定義結束字串,以替換預設的換行符

print('hello,', end='')

print('world!')

從模組匯入時,通常使用 import somemodule

或使用 from somemodule import somefunction

或 from somemodule import somefunction, anotherfunction, yetanotherfunction

或 from somemodule import *

# 匯入時重新命名

from module1 import open as open1

from module2 import open as open2

# 序列解包

同時(並行)給多個變數賦值

>>> x, y, z = 1, 2, 3

>>> print(x, y, z)

1 2 3

>>> x, y = y, x

>>> print(x, y, z)

2 1 3

實際上,這裡執行的操作稱為序列解包(或可迭代物件解包):將乙個序列(或任何可迭代物件)解包,並將得到的值儲存到一系列變數中

>>> values = 1, 2, 3

>>> values

(1, 2, 3)

>>> x, y, z = values

>>> x

1>>> scoundrel =

>>> key, value = scoundrel.popitem()

>>> key

'girlfriend'

>>> value

'marion'

可使用星號運算子( * )來收集多餘的值,這樣無需確保值和變數的個數相同

>>> a, b, *rest = [1, 2, 3, 4]

>>> rest

[3, 4]

>>> name = "albus percival wulfric brian dumbledore"

>>> first, *middle, last = name.split()

>>> middle

['percival', 'wulfric', 'brian']

# 鏈式賦值

x = y = somefunction()

# 增強賦值

x += 1 ,這稱為增強賦值 適用於所有標準運算子,如 * 、 / 、 %

下面的值都將被直譯器視為假(false):

false none 0 "" () {}

#條件語句

if condition: //不需要用括號括起來條件表示式,最後要有冒號

statement1

statement2

elseif condition2:

statement3

statement4

else:

statement5

statement6

/*上述方式可以巢狀*/

if elif else

condition:布林表示式,關係表示式,邏輯表示式(and or not)

is(相同) 與 ==(相等) 的區別 is是代表是乙個物件 我理解的就是位址一樣  ==僅僅代表內容一樣

>>> x = y = [1, 2, 3]

>>> z = [1, 2, 3]

>>> x == y

true

>>> x == z

true

>>> x is y

true

>>> x is z

false

# 鏈式比較 1 <= number <= 10

name = ''

while not name:

name = input('please enter your name: ')

print('hello, {}!'.format(name))

words = ['this', 'is', 'an', 'ex', 'parrot']

for word in words:

print(word)

# 迭代字典

for key, value in d.items():

print(key, 'corresponds to', value)

# 並行迭代

函式 zip 可用於「縫合」任意數量的序列。需要指出的是,當序列的長度不同時,函式 zip 將在最短的序列用完後停止「縫合」。

names = ['anne', 'beth', 'george', 'damon']

ages = [12, 45, 32, 102]

for name, age in zip(names, ages):

print(name, 'is', age, 'years old')

# 迭代時獲取索引

enumerate函式讓你能夠迭代索引-值對,其中的索引是自動提供的

for index, string in enumerate(strings):

if '***' in string:

strings[index] = '[******ed]'

from math import sqrt

for n in range(99, 0, -1):

root = sqrt(n)

if root == int(root):

print(n)

break

for x in seq:

if condition1: continue

if condition2: continue

if condition3: continue

do_something()

do_something_else()

do_another_thing()

etc()

>>> [x*x for x in range(10) if x % 3 == 0] 

[0, 9, 36, 81]

>>> [(x, y) for x in range(3) for y in range(3)]

[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]

函式 exec 將字串作為**執行。

>>> exec("print('hello, world!')")

hello, world!

新增第二個引數——字典,用作**字串的命名空間

>>> from math import sqrt

>>> scope = {}

>>> exec('sqrt = 1', scope)

>>> sqrt(4)

2.0>>> scope['sqrt']

1eval 是乙個類似於 exec 的內建函式。 exec 執行一系列python語句,而 eval 計算用字串表示的python表示式的值,並返回結果( exec 什麼都不返回,因為它本身是條語句)

>>> eval(input("enter an arithmetic expression: "))

enter an arithmetic expression: 6 + 18 * 2

42>>> scope = {}

>>> scope['x'] = 2

>>> scope['y'] = 3

>>> eval('x * y', scope)

6

python學習 語句

1.1 基本輸出,換行輸出 1.2 print的逗號,可以使之在同一行。print a,print b,print c,abc 1.3 輸出到檔案 為重定向 將檔案用print方式寫入 f open lpc.txt r print f,python print f i like it f.close...

Python基礎教程4 if語句

if語句是指程式語言中用來判定所給定的條件是否滿足,根據判定的結果 真或假 決定執行給出的兩種操作之一。if的返回值為真或假,可以用bool型變數進行儲存,占用一位元組。elif和else都必須和if聯合使用,不能單獨使用 1.判斷閏年?使用者輸入年份year,判斷是否為閏年?能被4整除但不能被10...

Python學習 語句 語法

注釋,不支援多行注釋 連線,當一行的程式太長時,可以使用連線符 反斜槓 1 使用if elif 和 else 進行標記 小於兩個的選擇 if 條件 語句段1 else 語句段2 大於兩個的選擇 if 條件1 語句段1 elif 條件2 語句段2 else 語句段3 2 使用while進行迴圈 whi...