條件 推導 迭代 並行

>>> print('name')#只有一個參數
name
>>> print('name','age')#空格拼接
name age
>>> print('hi'+',','tom')#想某個值沒有空格相隔
hi, tom
>>> print('name','age','home',sep='_')#指定分隔符
name_age_home
>>> print('name','is','a','good','thing',end='!')#指定結束符號
name is a good thing!


>>> x,y,z=1,2,3#批量賦值
>>> x,y=y,x#交換值,不要多想成x=y,y=x分別操做
>>> x
2
>>> y
1
>>> z
3
>>>

序列解包(或可迭代對象解包):將一個序列(或任何可迭代對象)解包,並將獲得的值存儲到一系列變量中。要解包的序列包含的元素個數必須與你在等號左邊列出的目標個數相同,不然Python將引起異常。 下面用例子進行解釋:
>>> vs=1,2,3
>>> x,y,z=vs#解包
>>> x
1
>>> y
2
>>> z
3

可以使用星號運算符(*)來收集多餘的值,這樣無需確保值和變量的個數相同,以下例所示:
>>> q,w,*e=[1,2,3,4]
>>> e
[3, 4]
>>> q,*w,e=[1,2,3,4]#放其他位置
>>> w
[2, 3]
>>> q
1
>>> e
4

代碼塊:冒號開頭,相同縮進,縮進不一樣時,結束代碼塊。

age=int(input('請輸入你的年齡:'))
if age>81 :
print('老人')
elif age>18:#else 和 if 的合併‘elif’
print('年輕人')
else:
print('未成年')


print('成年了' if age>18 else '未成年')#三目運算


>>> x=y=[1,2]
>>> z=[1,2]
>>> x is y
True
>>> x==z#總之,==用來檢查兩個對象是否相等,而is用來檢查兩個對象是否相同(是同一個對象)。
True
>>> x is z#由於is檢查兩個對象是否相同(而不是相等)。變量x和y指向同一個列表,而z指向另外一個列表(其中包含的值以及這些值的排列順序都與前一個列表相同)。這兩個列表雖然相等,但並不是同一個對象。 
False
字符串是根據字符的字母排列順序進行比較的。要獲悉字母的順序值,可以使用函數ord。這個函數的做用與函數chr相反。

>>> age=100
>>> assert age<100#斷言,檢查條件。如不符合,當即報錯
Traceback (most recent call last):
File "<pyshell#6>", line 1, in <module>
assert age<100
AssertionError
>>> age=100
>>> assert age>90 ,'必須大於90'#報錯時的提示語

 

x=10
while x<100:
print(x)
x+=1


names=['qq','ww','ee','rrr']
for name in names:
print(name)

>>> range(5)#range(5)爲range(0,5)的簡寫
range(0, 5)
>>> a=range(0,5)#chaui
>>> list(a)
[0, 1, 2, 3, 4]


>>> abs=['1','b','c']
>>> qwe=[1,2,3]
>>> a=zip(abs,qwe)#並行迭代
>>> a
<zip object at 0x036F3580>
>>> list(a)
[('1', 1), ('b', 2), ('c', 3)]


for index, string in enumerate(strings): #這個函數讓你可以迭代索引值對,其中的索引是自動提供的。 
if 'xxx' in string: 
strings[index] = '[censored]'


#列表推導
>>> [x*x for x in range(10)]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

[(x,y) for x in range(10) for y in range(11) if x %3==0]

#字典推導
>>> a={i:'{} squared is {}'.format(i,i**2) for i in range(10)}
>>> a[9]
'9 squared is 81'
>>> a[11]
Traceback (most recent call last):
File "<pyshell#18>", line 1, in <module>
a[11]
KeyError: 11

 

if n>10:
print('>10')
elif n>5:
pass#這些代碼沒想好怎麼運行,由於在Python中代碼塊不能爲空。要修復這個問題,只需在中間的代碼塊中添加一條pass語句便可。
else:
print("<=5") 
相關文章
相關標籤/搜索