簡單推導
你可同時列印多個表示式,條件是用逗號分隔它們:
>>> 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...