1.條件判斷
age = 3
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
else:
print('kid')
由于輸入的是字符串,需要用int轉一下
s = input('birth: ')
birth = int(s)
if birth < 2000:
print('00前')
else:
print('00后')
2.循環(huán)
Python的循環(huán)有兩種,一種是for...in循環(huán),依次把list或tuple中的每個元素迭代出來,看例子:
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
如果要計算1-100的整數(shù)之和,從1寫到100有點困難,幸好Python提供一個range()函數(shù),可以生成一個整數(shù)序列,再通過list()函數(shù)可以轉換為list。比如range(5)生成的序列是從0開始小于5的整數(shù)
>>> list(range(5))
[0, 1, 2, 3, 4]
第二種循環(huán)是while循環(huán),只要條件滿足,就不斷循環(huán),條件不滿足時退出循環(huán)。比如我們要計算100以內所有奇數(shù)之和,可以用while循環(huán)實現(xiàn):
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
3.dict
就是map
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']
95
由于一個key只能對應一個value,所以,多次對一個key放入value,后面的值會把前面的值沖掉:
>>> d['Jack'] = 90
>>> d['Jack']
90
>>> d['Jack'] = 88
>>> d['Jack']
88
如果key不存在,dict就會報錯:
>>> d['Thomas']
Traceback (most recent call last): File "<stdin>", line 1,
in <module>KeyError: 'Thomas'
要避免key不存在的錯誤,有兩種辦法,一是通過in判斷key是否存在:
>>> 'Thomas' in d
False
二是通過dict提供的get方法,如果key不存在,可以返回None,或者自己指定的value:
>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1
注意:返回None的時候Python的交互式命令行不顯示結果。
要刪除一個key,用pop(key)方法,對應的value也會從dict中刪除:
>>> d.pop('Bob')
75
>>> d{'Michael': 95, 'Tracy': 85}
要保證hash的正確性,作為key的對象就不能變。在Python中,字符串、整數(shù)等都是不可變的,因此,可以放心地作為key。而list是可變的,就不能作為key:
4.set
set和dict類似,也是一組key的集合,但不存儲value。由于key不能重復,所以,在set中,沒有重復的key。
要創(chuàng)建一個set,需要提供一個list作為輸入集合:
>>> s = set([1, 2, 3])
>>> s{1, 2, 3}
顯示的順序也不表示set是有序的。。重復元素在set中自動被過濾:
通過add(key)方法可以添加元素到set中,可以重復添加,但不會有效果
>>> s.add(4)
>>> s{1, 2, 3, 4}
>>> s.add(4)
>>> s{1, 2, 3, 4}
通過remove(key)方法可以刪除元素:
>>> s.remove(4)
>>> s
{1, 2, 3}
```
**set可以看成數(shù)學意義上的無序和無重復元素的集合,因此,兩個set可以做數(shù)學意義上的交集、并集等操作:**
```
>>> s1 = set([1, 2, 3])
>>> s2 = set([2, 3, 4])
>>> s1 & s2
{2, 3}
>>> s1 | s2
{1, 2, 3, 4}
```
####不可變對象
str是不變對象,而list是可變對象。
對于可變對象,比如list,對list進行操作,list內部的內容是會變化的,比如:
```
>>> a = ['c', 'b', 'a']
>>> a.sort()
>>> a
['a', 'b', 'c']
```
而對于不可變對象,比如str,對str進行操作呢:
```
>>> a = 'abc'
>>> a.replace('a', 'A')
'Abc'
>>> a'abc'
```